summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/conftest.py
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-05-15 13:09:06 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2021-05-18 15:46:40 +0200
commit2281d3265423d01e60f8cc088de5a5730bb8a910 (patch)
tree8dc81338cfd30845717f1b9025176d26c82fe930 /opendc-web/opendc-web-api/conftest.py
parent05d2318538eba71ac0555dc5ec146499d9cb0592 (diff)
api: Migrate to Flask Restful
This change updates the API to use Flask Restful instead of our own in-house REST library. This change reduces the maintenance effort and allows us to drastically simplify the API implementation needed for the OpenDC v2 API.
Diffstat (limited to 'opendc-web/opendc-web-api/conftest.py')
-rw-r--r--opendc-web/opendc-web-api/conftest.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/opendc-web/opendc-web-api/conftest.py b/opendc-web/opendc-web-api/conftest.py
index c502c078..430262f1 100644
--- a/opendc-web/opendc-web-api/conftest.py
+++ b/opendc-web/opendc-web-api/conftest.py
@@ -4,10 +4,11 @@ Configuration file for all unit tests.
from functools import wraps
import pytest
-from flask import _request_ctx_stack
+from flask import _request_ctx_stack, g
+from opendc.database import Database
-def decorator(self, f):
+def decorator(f):
@wraps(f)
def decorated_function(*args, **kwargs):
_request_ctx_stack.top.current_user = {'sub': 'test'}
@@ -20,12 +21,14 @@ def client():
"""Returns a Flask API client to interact with."""
# Disable authorization for test API endpoints
- from opendc.util.auth import AuthManager
- AuthManager.require = decorator
+ from opendc import exts
+ exts.requires_auth = decorator
- from app import app
+ from app import create_app
- app.config['TESTING'] = True
+ app = create_app(testing=True)
- with app.test_client() as client:
- yield client
+ with app.app_context():
+ g.db = Database()
+ with app.test_client() as client:
+ yield client