From a50cf2d906c4be9d2f5911dc57a687db62d3b078 Mon Sep 17 00:00:00 2001 From: Daniel McKnight Date: Tue, 5 Nov 2024 13:15:14 -0800 Subject: [PATCH] Update MongoDb tests to support parallel runs Remove created test collections after unit test run --- neon_users_service/databases/mongodb.py | 4 ++-- tests/test_databases.py | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/neon_users_service/databases/mongodb.py b/neon_users_service/databases/mongodb.py index 04593db..6402971 100644 --- a/neon_users_service/databases/mongodb.py +++ b/neon_users_service/databases/mongodb.py @@ -9,8 +9,8 @@ def __init__(self, db_host: str, db_port: int, db_user: str, db_pass: str, db_name: str = "neon-users", collection_name: str = "users"): connection_string = f"mongodb://{db_user}:{db_pass}@{db_host}:{db_port}" self.client = MongoClient(connection_string) - db = self.client[db_name] - self.collection = db[collection_name] + self.db = self.client[db_name] + self.collection = self.db[collection_name] def _db_create_user(self, user: User) -> User: self.collection.insert_one({**user.model_dump(), diff --git a/tests/test_databases.py b/tests/test_databases.py index 6617fab..b1b1c16 100644 --- a/tests/test_databases.py +++ b/tests/test_databases.py @@ -117,6 +117,7 @@ def test_delete_user(self): class TestMongoDb(TestCase): test_config = json.loads(environ.get("MONGO_TEST_CONFIG")) + test_config['collection_name'] = f"{test_config['collection_name']}{time()}" from neon_users_service.databases.mongodb import MongoDbUserDatabase database = MongoDbUserDatabase(**test_config) test_user = User(username="test_user", password_hash="password") @@ -127,6 +128,11 @@ def tearDown(self): except UserNotFoundError: pass + @classmethod + def tearDownClass(cls): + cls.database.db.drop_collection(cls.test_config['collection_name']) + cls.database.shutdown() + def test_create_user(self): # Create User user = self.database.create_user(self.test_user)