Esempio n. 1
0
def test_tenant_view_query_for_tenants_uses_order_by_in_query(monkeypatch):
    post = MagicMock(return_value={"data": {"tenant": [TENANT_DATA_1]}})
    monkeypatch.setattr("prefect.client.client.Client.post", post)

    TenantView._query_for_tenants(where={}, order_by={"foo": EnumValue("asc")})

    assert ("tenant(where: {}, order_by: { foo: asc })"
            in post.call_args[1]["params"]["query"])
Esempio n. 2
0
def test_tenant_view_query_for_tenants_uses_where_in_query(monkeypatch):
    post = MagicMock(return_value={"data": {"tenant": [TENANT_DATA_1]}})
    monkeypatch.setattr("prefect.client.client.Client.post", post)

    TenantView._query_for_tenants(where={"foo": {"_eq": "bar"}})

    assert ('tenant(where: { foo: { _eq: "bar" } })'
            in post.call_args[1]["params"]["query"])
Esempio n. 3
0
def test_tenant_view_query_for_tenants_includes_all_required_data(monkeypatch):
    graphql = MagicMock(return_value={"data": {"tenant": [TENANT_DATA_1]}})
    monkeypatch.setattr("prefect.client.client.Client.graphql", graphql)

    TenantView._query_for_tenants(where={})

    query_dict = graphql.call_args[0][0]
    selection_set = query_dict["query"]["tenant(where: {})"]
    assert selection_set == {"id", "name", "slug"}
Esempio n. 4
0
def test_tenant_view_query_for_tenants_allows_returns_all_tenant_data(
        patch_post):
    patch_post({"data": {"tenant": [1, 2]}})

    assert TenantView._query_for_tenants(where={}) == [1, 2]
Esempio n. 5
0
def test_tenant_view_query_for_tenants_allows_return_when_not_found(
        patch_post):
    patch_post({"data": {"tenant": []}})

    assert TenantView._query_for_tenants(where={}, error_on_empty=False) == []
Esempio n. 6
0
def test_tenant_view_query_for_tenants_raises_when_not_found(patch_post):
    patch_post({"data": {"tenant": []}})

    with pytest.raises(ValueError,
                       match="No results found while querying for tenants"):
        TenantView._query_for_tenants(where={})
Esempio n. 7
0
def test_tenant_view_query_for_tenants_raises_bad_responses(patch_post):
    patch_post({})

    with pytest.raises(ValueError,
                       match="bad result while querying for tenants"):
        TenantView._query_for_tenants(where={})