summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/conftest.py
blob: c502c0787780d66c1425cb43911adabb8bb19b86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
Configuration file for all unit tests.
"""

from functools import wraps
import pytest
from flask import _request_ctx_stack


def decorator(self, f):
    @wraps(f)
    def decorated_function(*args, **kwargs):
        _request_ctx_stack.top.current_user = {'sub': 'test'}
        return f(*args, **kwargs)
    return decorated_function


@pytest.fixture
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 app import app

    app.config['TESTING'] = True

    with app.test_client() as client:
        yield client