Esempio n. 1
0
async def test_add_game(app: FastAPI):
    async with AsyncClient(app=app, base_url="http://test/") as ac:
        app.dependency_overrides[require_user_cookie] = require_user_cookie_mock
        response = await ac.post("/games/", json={
            "name": "Sprint planning"
        })
        app.dependency_overrides = {}
    assert response.status_code == 200
Esempio n. 2
0
async def test_mocked_broadcast(app: FastAPI, game_fixture, mocker):
    async with AsyncClient(app=app, base_url="http://test/") as ac:
        mock_broadcast = AsyncMock(return_value=Future())
        mocker.patch('app.routers.game.broadcast.publish', new=mock_broadcast)
        app.dependency_overrides[require_user_cookie] = require_user_cookie_mock
        await ac.post(f"/game/{game_fixture.id}/tasks", json={
            "content": "Sprint planning",
            "complexity": ComplexityTypes.ZERO.value,
        })
        task = await Task.get()
        user = await User.filter(name='Demo').first()

        mock_broadcast.assert_awaited_once_with(
            channel=f'game-{game_fixture.id}',
            message=json.dumps(
                jsonable_encoder({
                    'type': settings.WS_PUBLISHED_TASK,
                    'content': task.content,
                    'task_id': task.id,
                    'game_uuid': game_fixture.id,
                    'user': user.id,
                }))
        )
        app.dependency_overrides = {}
Esempio n. 3
0
from services.users_service import DummyUsersService, UsersService
from utils.dep_container import DepContainer


def setup_container(c: Container):
    c[UsersService] = DummyUsersService
    c[AdminService] = DummyAdminService
    c[TokenService] = DummyTokenService
    c[SecretService] = Singleton(DummySecretService)


app = FastAPI()


@app.get("/")
def index():
    return {
        "hello": "world",
    }


app.include_router(token.router)
app.include_router(users.router, prefix='/users')
app.include_router(admin.router, prefix='/admin')

# Inject with Lagom Container
# Open http://localhost:8000/users
c = Container()
app.dependency_overrides = DepContainer(c).to_dependency_overrides()
setup_container(c)