Skip to content

Commit

Permalink
End to end test for getting a case from the new data service #2714
Browse files Browse the repository at this point in the history
  • Loading branch information
iamleeg committed Jun 20, 2022
1 parent 5d0ce48 commit b70b6d7
Show file tree
Hide file tree
Showing 6 changed files with 252 additions and 3 deletions.
167 changes: 166 additions & 1 deletion data-serving/reusable-data-service/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions data-serving/reusable-data-service/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ authors = ["Global.health <info@global.health>"]
[tool.poetry.dependencies]
python = "^3.10"
Flask = "^2.1.2"
pymongo = {extras = ["srv"], version = "^4.1.1"}

[tool.poetry.dev-dependencies]
pytest = "^7.1.2"
mongomock = "^4.0.0"

[build-system]
requires = ["poetry-core>=1.0.0"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@

from .model.case import Case
from .controller.case_controller import CaseController
from .main import app
from .stores.mongo_store import MongoStore
from .main import app, main, set_up_controllers
27 changes: 26 additions & 1 deletion data-serving/reusable-data-service/reusable_data_service/main.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
from flask import Flask
from flask import Flask, request
from . import CaseController, MongoStore

import os


app = Flask(__name__)
case_controller = None # Will be set up in main()

@app.route('/api/case/<id>')
def get_case(id):
return case_controller.get_case(id)

def set_up_controllers():
global case_controller
# TODO choose which store to load from configuration
mongo_connection_string = os.environ.get('MONGO_CONNECTION')
mongo_database = os.environ.get('MONGO_DB')
mongo_collection = os.environ.get('MONGO_CASE_COLLECTION')
mongo_store = MongoStore(mongo_connection_string, mongo_database, mongo_collection)
case_controller = CaseController(mongo_store)

def main():
set_up_controllers()
app.run(host='0.0.0.0', port=8080)

if __name__ == '__main__':
main()
Loading

0 comments on commit b70b6d7

Please sign in to comment.