from io import StringIO import logging import unittest import os from nanoid import generate from flask_testing import TestCase from flask import current_app from capsulflask import create_app from capsulflask.db import get_model from capsulflask.shared import * class BaseTestCase(TestCase): def create_app(self): # Use default connection paramaters os.environ['POSTGRES_CONNECTION_PARAMETERS'] = "host=localhost port=5432 user=postgres password=dev dbname=capsulflask_test" os.environ['TESTING'] = 'True' os.environ['LOG_LEVEL'] = 'DEBUG' os.environ['SPOKE_MODEL'] = 'mock' os.environ['HUB_MODEL'] = 'capsul-flask' self.app = create_app() return self.app def setUp(self): mylog_info(self.app, f"setting up {self.id()}") def tearDown(self): mylog_info(self.app, f"tearing down {self.id()}") def _login(self, user_email): get_model().login(user_email) with self.client.session_transaction() as session: session['account'] = user_email session['csrf-token'] = generate()