File: test_get_identity_providers.py

package info (click to toggle)
python-globus-sdk 4.3.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,144 kB
  • sloc: python: 35,242; sh: 37; makefile: 35
file content (44 lines) | stat: -rw-r--r-- 1,760 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import pytest

import globus_sdk
from globus_sdk.testing import get_last_request, load_response


def test_get_identity_providers_by_domains(service_client):
    meta = load_response(service_client.get_identity_providers).metadata
    res = service_client.get_identity_providers(domains=meta["domains"])

    assert [x["id"] for x in res] == meta["ids"]

    lastreq = get_last_request()
    assert lastreq.params == {"domains": ",".join(meta["domains"])}


def test_get_identity_providers_by_ids(service_client):
    meta = load_response(service_client.get_identity_providers).metadata
    res = service_client.get_identity_providers(ids=meta["ids"])

    assert [x["id"] for x in res] == meta["ids"]
    assert [x for y in res for x in y["domains"]] == meta["domains"]

    lastreq = get_last_request()
    assert lastreq.params == {"ids": ",".join(meta["ids"])}


def test_get_identity_providers_mutex_args(service_client):
    with pytest.raises(globus_sdk.GlobusSDKUsageError, match="mutually exclusive"):
        service_client.get_identity_providers(ids="foo", domains="bar")


def test_get_identity_providers_allows_query_params_with_no_args(service_client):
    # this test confirms that the request won't be rejected for passing arguments
    # without specifying either 'ids' or 'domains' -- the supposition being that some
    # other parameter is supported but unknown to the SDK
    meta = load_response(service_client.get_identity_providers).metadata
    res = service_client.get_identity_providers(query_params={"foo": "bar,baz,snork"})

    assert [x["id"] for x in res] == meta["ids"]
    assert [x for y in res for x in y["domains"]] == meta["domains"]

    lastreq = get_last_request()
    assert lastreq.params == {"foo": "bar,baz,snork"}