From 3ac5ef45e9bb1df61b8dc32e1c64f067e65a9b69 Mon Sep 17 00:00:00 2001 From: Jakub Miazek Date: Wed, 17 Apr 2024 12:53:44 +0200 Subject: [PATCH] fix mongo auth --- .github/workflows/build-and-test.yml | 3 +-- Makefile | 7 ++++++- greens/config.py | 1 - greens/main.py | 4 ++-- pyproject.toml | 2 +- tests/conftest.py | 2 +- tests/test_routers.py | 3 +-- 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 7ffb2b5..a684cf2 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -30,8 +30,7 @@ jobs: MONGODB_DATABASE: greenhouse MONGODB_COLLECTION: greens MONGODB_TEST: farmland - MONGODB_PARAMS: retryWrites=true&w=majority - MONGO_URL: mongodb://farmer:tractor@127.0.0.1:27017/?retryWrites=true&w=majority + MONGODB_PARAMS: ?authSource=admin&authMechanism=SCRAM-SHA-1&retryWrites=true&w=majority services: mongodb: diff --git a/Makefile b/Makefile index 8040459..5e3461e 100644 --- a/Makefile +++ b/Makefile @@ -37,4 +37,9 @@ safety: ## apply safety check in project. .PHONY: format format: ## format project code. black --line-length=120 . - isort -rc -m 3 --tc . \ No newline at end of file + isort -rc -m 3 --tc . + +.PHONY: clean +clean: ## Clean Reset project containers and volumes with compose + docker-compose down -v --remove-orphans | true + docker-compose rm -f diff --git a/greens/config.py b/greens/config.py index d7f9e8f..a12bfa3 100644 --- a/greens/config.py +++ b/greens/config.py @@ -14,7 +14,6 @@ class Settings(BaseSettings): down: str = os.getenv("DOWN", "down") web_server: str = os.getenv("WEB_SERVER", "web_server") - db_url: str = os.getenv("MONGO_URL", "") mongodb_database: str = os.getenv("MONGODB_DATABASE", "") mongodb_collection: str = os.getenv("MONGODB_COLLECTION", "") mongodb_test: str = os.getenv("MONGODB_TEST", "") diff --git a/greens/main.py b/greens/main.py index 22363e2..f2d8ec2 100644 --- a/greens/main.py +++ b/greens/main.py @@ -18,7 +18,7 @@ async def lifespan(app: FastAPI): app.state.mongo_client, app.state.mongo_db, app.state.mongo_collection = ( await init_mongo( global_settings.mongodb_database, - global_settings.mongodb_url, + global_settings.mongodb_url.unicode_string(), global_settings.mongodb_collection, ) ) @@ -28,7 +28,7 @@ async def lifespan(app: FastAPI): app.state.logger.info("Parking tractors in garage...") -app = FastAPI(lifespan=lifespan, title="Greens API", version="0.4.0") +app = FastAPI(lifespan=lifespan, title="Greens API", version="0.5.0") app.include_router(v1, prefix="/api/v1") diff --git a/pyproject.toml b/pyproject.toml index 9ac320a..c81d7df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "fastapi-mongodb" -version = "0.4.0" +version = "0.5.0" description = "" authors = ["Jakub Miazek "] readme = "README.md" diff --git a/tests/conftest.py b/tests/conftest.py index a08b4ec..da2a141 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -27,7 +27,7 @@ async def client() -> AsyncGenerator: app.state.mongo_client, app.state.mongo_db, app.state.mongo_collection = ( await init_mongo( global_settings.mongodb_test, - global_settings.db_url, + global_settings.mongodb_url.unicode_string(), global_settings.mongodb_collection, ) ) diff --git a/tests/test_routers.py b/tests/test_routers.py index 93a0de1..1d8b1c1 100644 --- a/tests/test_routers.py +++ b/tests/test_routers.py @@ -11,11 +11,10 @@ async def test_health_check(client: AsyncClient): assert response.json() == snapshot( { "version": "7.0.8", - "databases": ["admin", "config", "farmland", "local"], + "databases": ["admin", "config", "local"], "collections": { "admin": ["system.users", "system.version"], "config": ["system.sessions"], - "farmland": ["greens"], "local": ["startup_log"], }, }