Beispiel #1
0
class Context:
    def __init__(self):
        self.configuration = Configuration()

        self.database = Database(self.configuration.database.url)

        self.game_repository: GameRepository = MySQLGameRepository(
            self.database)
        self.create_game_command_handler = CreateGameCommandHandler(
            GameCreator(self.game_repository))
        self.search_game_query_handler = SearchGameQueryHandler(
            self.game_repository)

        self.query_bus: QueryBus = SimpleQueryBus(
            {SearchGameQuery.__name__: self.search_game_query_handler})

        self.guess_repository: GuessRepository = MySQLGuessRepository(
            self.database)
        self.create_guess_command_handler = \
            CreateGuessCommandHandler(GuessCreator(
                self.guess_repository, self.query_bus))

    def tear_down(self):
        self.database.close()
def db_connection(db_config: dict):
    connection = Database(db_config['public-transport-stops'])
    yield connection
    connection.close()