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"}
|