# SPDX-FileCopyrightText: WTF Kooperative eG # # SPDX-License-Identifier: AGPL-3.0-or-later from alembic import command import json import unittest from app import app, db, migrate from ki.actions import seed from ki.models import Skill class ApiTest(unittest.TestCase): maxDiff = None def setUp(self): app.debug = True app.config["KI_AUTH"] = "file" app.config["TESTING"] = True app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///:memory:" self.client = app.test_client() with app.app_context(): config = migrate.get_config() command.upgrade(config, "head") seed(True) max_skill = Skill.query.order_by(Skill.id.desc()).first() self.max_skill_id = max_skill.id def tearDown(self): with app.app_context(): db.drop_all() db.engine.dispose() def login(self, username, password): login_data = {"username": username, "password": password} login_response = self.client.post("/users/login", data=json.dumps(login_data), content_type="application/json") self.assertEqual(login_response.status_code, 200) self.assertIn("token", login_response.json) return login_response.json