Skip to content

Commit 22f70a4

Browse files
authored
Remove defunct mongomock local testing config (#1492)
1 parent a52ff8b commit 22f70a4

File tree

6 files changed

+10
-160
lines changed

6 files changed

+10
-160
lines changed

pydatalab/pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ dev-dependencies = [
123123
"pytest-dependency ~= 0.6",
124124
"pytest-memray ~= 1.8",
125125
"pre-commit ~= 4.0",
126-
"mongomock ~= 4.1",
127126
"mkdocs ~= 1.6",
128127
"mkdocs-material ~= 9.5",
129128
"mkdocstrings[python] ~= 0.29",

pydatalab/scripts/add_test_cell_to_db.py

Lines changed: 0 additions & 40 deletions
This file was deleted.

pydatalab/scripts/migrate_set_all_constituents_as_parents_TypedRelationship.py

Lines changed: 0 additions & 56 deletions
This file was deleted.

pydatalab/src/pydatalab/mongo.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import atexit
22
from functools import lru_cache
33

4-
# Must be imported in this way to allow for easy patching with mongomock
54
import pymongo
65
from flask_pymongo import PyMongo
76
from pydantic import BaseModel

pydatalab/tests/server/conftest.py

Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
from pathlib import Path
2-
from unittest.mock import patch
32

4-
import mongomock
53
import pymongo
64
import pytest
75
from bson import ObjectId
86
from flask.testing import FlaskClient
97

10-
import pydatalab.mongo
118
from pydatalab.models import Cell, Collection, Equipment, Sample, StartingMaterial
129
from pydatalab.models.people import AccountStatus
1310

1411
TEST_DATABASE_NAME = "__datalab-testing__"
1512

1613

17-
class PyMongoMock(mongomock.MongoClient):
18-
def init_app(self, _, *args, **kwargs):
19-
return super().__init__(MONGO_URI)
20-
21-
2214
MONGO_URI = f"mongodb://localhost:27017/{TEST_DATABASE_NAME}"
2315

2416

@@ -83,42 +75,20 @@ def app_config(tmp_path_factory, secret_key):
8375

8476

8577
@pytest.fixture(scope="module")
86-
def app(real_mongo_client, monkeypatch_session, app_config):
87-
"""Yields the test app.
88-
89-
If it exists, connects to a local MongoDB, otherwise uses the
90-
mongomock testing backend.
91-
92-
"""
78+
def app(real_mongo_client, app_config):
79+
"""Yields the test app."""
9380
from pydatalab.main import create_app
9481

95-
try:
96-
mongo_cli = real_mongo_client
97-
if mongo_cli is None:
98-
raise pymongo.errors.ServerSelectionTimeoutError
99-
100-
databases = mongo_cli.list_database_names()
82+
mongo_cli = real_mongo_client
83+
if mongo_cli is None:
84+
raise pymongo.errors.ServerSelectionTimeoutError(
85+
"Tests require a running local MongoDB instance."
86+
)
10187

102-
if TEST_DATABASE_NAME in databases:
103-
mongo_cli.drop_database(TEST_DATABASE_NAME)
88+
databases = mongo_cli.list_database_names()
10489

105-
except pymongo.errors.ServerSelectionTimeoutError:
106-
with patch.object(
107-
pydatalab.mongo,
108-
"flask_mongo",
109-
PyMongoMock(MONGO_URI, connectTimeoutMS=100, serverSelectionTimeoutMS=100),
110-
):
111-
112-
def mock_mongo_client():
113-
return PyMongoMock(MONGO_URI, connectTimeoutMS=100, serverSelectionTimeoutMS=100)
114-
115-
def mock_mongo_database():
116-
return mock_mongo_client().get_database(TEST_DATABASE_NAME)
117-
118-
monkeypatch_session.setattr(
119-
pydatalab.mongo, "_get_active_mongo_client", mock_mongo_client
120-
)
121-
monkeypatch_session.setattr(pydatalab.mongo, "get_database", mock_mongo_database)
90+
if TEST_DATABASE_NAME in databases:
91+
mongo_cli.drop_database(TEST_DATABASE_NAME)
12292

12393
app = create_app(app_config, env_file=False)
12494

pydatalab/uv.lock

Lines changed: 0 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)