Skip to content

Commit

Permalink
Merge pull request #473 from MongoEngine/test-database-issue
Browse files Browse the repository at this point in the history
Fixed: Tests database left on test server. (Added session level cleanup)
  • Loading branch information
insspb committed Jul 4, 2022
2 parents 6de8374 + 89e2152 commit 44aea8c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
16 changes: 16 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,26 @@
import mongoengine
import pytest
from flask import Flask
from pymongo import MongoClient

from flask_mongoengine import MongoEngine


@pytest.fixture(autouse=True, scope="session")
def session_clean_up():
"""Mandatory tests environment clean up before/after test session."""
client = MongoClient("localhost", 27017)
client.drop_database("flask_mongoengine_test_db")
client.drop_database("flask_mongoengine_test_db_1")
client.drop_database("flask_mongoengine_test_db_2")

yield

client.drop_database("flask_mongoengine_test_db")
client.drop_database("flask_mongoengine_test_db_1")
client.drop_database("flask_mongoengine_test_db_2")


@pytest.fixture()
def app():
app = Flask(__name__)
Expand Down
10 changes: 4 additions & 6 deletions tests/test_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,14 +281,12 @@ class Todo(db.Document):
assert doc is not None


def test_ingnored_mongodb_prefix_config(app):
def test_ignored_mongodb_prefix_config(app):
"""Config starting by MONGODB_ but not used by flask-mongoengine
should be ignored.
"""
db = MongoEngine()
app.config[
"MONGODB_HOST"
] = "mongodb://localhost:27017/flask_mongoengine_test_db_prod"
app.config["MONGODB_HOST"] = "mongodb://localhost:27017/flask_mongoengine_test_db"
# Invalid host, should trigger exception if used
app.config["MONGODB_TEST_HOST"] = "dummy://localhost:27017/test"
db.init_app(app)
Expand All @@ -297,7 +295,7 @@ def test_ingnored_mongodb_prefix_config(app):
mongo_engine_db = mongoengine.get_db()
assert isinstance(mongo_engine_db, Database)
assert isinstance(connection, MongoClient)
assert mongo_engine_db.name == "flask_mongoengine_test_db_prod"
assert mongo_engine_db.name == "flask_mongoengine_test_db"
assert connection.HOST == "localhost"
assert connection.PORT == 27017

Expand All @@ -316,7 +314,7 @@ def test_connection_kwargs(app):

app.config["MONGODB_SETTINGS"] = {
"ALIAS": "tz_aware_true",
"DB": "flask_mongoengine_testing_tz_aware",
"DB": "flask_mongoengine_test_db",
"TZ_AWARE": True,
"READ_PREFERENCE": ReadPreference.SECONDARY,
MAX_POOL_SIZE_KEY: 10,
Expand Down

0 comments on commit 44aea8c

Please sign in to comment.