Skip to content
Snippets Groups Projects
Commit 8afb4164 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

Fix tests

parent 3a275179
Branches
Tags
1 merge request!56Feature/comp 233 survey navigation
from functools import wraps
from sqlalchemy import select
from flask import jsonify
from flask import jsonify, current_app
from datetime import datetime
from flask_login import LoginManager, current_user # type: ignore
from compendium_v2.db import session_scope
......@@ -16,15 +16,16 @@ def admin_required(func):
"""
def wrapper(*args, **kwargs):
if not current_user.is_authenticated:
return jsonify(success=False,
data={'login_required': True},
message='Authorize to access this page.'), 401
role = current_user.roles
if role != ROLES.admin:
return jsonify(success=False,
data={'admin_required': True},
message='Admin privileges required to access this page.'), 401
if not current_app.config.get('LOGIN_DISABLED'):
if not current_user.is_authenticated:
return jsonify(success=False,
data={'login_required': True},
message='Authorize to access this page.'), 401
role = current_user.roles
if role != ROLES.admin:
return jsonify(success=False,
data={'admin_required': True},
message='Admin privileges required to access this page.'), 401
return func(*args, **kwargs)
......
......@@ -3,7 +3,7 @@ from enum import Enum
from typing import Any, TypedDict, List, Dict
from flask import Blueprint, jsonify, request
from flask_login import login_required
from flask_login import login_required # type: ignore
from sqlalchemy import select
from sqlalchemy.orm import joinedload, load_only
......
......@@ -3,9 +3,11 @@ import os
import pytest
import random
from flask_login import LoginManager # type: ignore
import compendium_v2
from compendium_v2.db import db, model, survey_model
from compendium_v2.survey_db import model as survey_db_model
from compendium_v2.auth.session_management import setup_login_manager
def _test_data_csv(filename):
......@@ -141,6 +143,11 @@ def test_survey_data(app):
@pytest.fixture
def app(dummy_config):
app = compendium_v2._create_app_with_db(dummy_config)
app.config['LOGIN_DISABLED'] = True # disable login and admin_required decorators
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'authentication.login'
setup_login_manager(login_manager)
with app.app_context():
db.create_all(bind_key=None)
yield app
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment