Beispiel #1
0
async def test_get_event_info_blocked(
    api_client: Client,
    blocked_response: dict,
    block_event: EventInfoResponse,
    mocker: MockFixture,
    setup_redis: object,
) -> None:

    mocker.patch.object(
        api_client,
        "send_query",
        return_value=wrap_future(
            GraphQLResponse(data=blocked_response.get("data"),
                            errors=blocked_response.get("errors"))),
    )

    async def get_permissions_for_username_patch(username: str) -> Permission:
        if username in ("walrus", "ghost"):
            return Permission.WRITE
        if username in ("kodiak", ):
            return Permission.ADMIN
        raise Exception

    mocker.patch.object(api_client, "get_permissions_for_username",
                        get_permissions_for_username_patch)

    res = await api_client.get_event_info(branch_name="master", pr_number=100)
    assert res is not None
    assert res == block_event
Beispiel #2
0
async def test_get_event_info_blocked(
    api_client: Client,
    blocked_response: Dict[str, Any],
    block_event: EventInfoResponse,
    mocker: MockFixture,
    setup_redis: object,
) -> None:

    mocker.patch.object(
        api_client,
        "send_query",
        return_value=wrap_future(
            GraphQLResponse(data=blocked_response.get("data"),
                            errors=blocked_response.get("errors"))),
    )
    res = await api_client.get_event_info(pr_number=100)
    assert res is not None
    assert res == block_event
Beispiel #3
0
async def test_get_event_info_blocked(
    api_client: Client,
    blocked_response: dict,
    block_event: EventInfoResponse,
    mocker: MockFixture,
) -> None:
    # TODO(sbdchd): we should use monkeypatching
    # mypy doesn't handle this circular type

    mocker.patch.object(
        api_client,
        "send_query",
        return_value=wrap_future(
            GraphQLResponse(data=blocked_response.get("data"),
                            errors=blocked_response.get("errors"))),
    )

    res = await api_client.get_event_info(
        config_file_expression="master:.kodiak.toml", pr_number=100)
    assert res is not None
    assert res == block_event