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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
import pytest
import globus_sdk
from globus_sdk.testing import load_response
def test_set_subscription_admin_verified(client):
meta = load_response(client.set_subscription_admin_verified).metadata
epid = meta["endpoint_id"]
res = client.set_subscription_admin_verified(epid, True)
assert res["code"] == "Updated"
assert res["message"] == "Endpoint updated successfully"
def test_set_subscription_admin_verified_fails_no_admin_role(client):
meta = load_response(
client.set_subscription_admin_verified, case="no_admin_role"
).metadata
epid = meta["endpoint_id"]
with pytest.raises(globus_sdk.TransferAPIError) as excinfo:
client.set_subscription_admin_verified(epid, True)
assert excinfo.value.code == "PermissionDenied"
assert len(excinfo.value.messages) == 1
message = excinfo.value.messages[0]
assert message == (
"User does not have an admin role on the collection's subscription to set "
"subscription_admin_verified"
)
def test_set_subscription_admin_verified_fails_non_valid_verified_status(client):
meta = load_response(
client.set_subscription_admin_verified, case="non_valid_verified_status"
).metadata
epid = meta["endpoint_id"]
with pytest.raises(globus_sdk.TransferAPIError) as excinfo:
client.set_subscription_admin_verified(epid, None)
assert excinfo.value.code == "BadRequest"
assert len(excinfo.value.messages) == 1
message = excinfo.value.messages[0]
assert message.startswith("Could not parse JSON: ")
def test_set_subscription_admin_verified_fails_non_subscribed_endpoint(client):
meta = load_response(
client.set_subscription_admin_verified, case="non_subscribed_endpoint"
).metadata
epid = meta["endpoint_id"]
with pytest.raises(globus_sdk.TransferAPIError) as excinfo:
client.set_subscription_admin_verified(epid, True)
assert excinfo.value.code == "BadRequest"
assert len(excinfo.value.messages) == 1
message = excinfo.value.messages[0]
assert message == (
"The collection must be associated with a subscription to "
"set subscription_admin_verified"
)
def test_set_subscription_admin_verified_fails_no_identities_in_session(client):
meta = load_response(
client.set_subscription_admin_verified, case="no_identities_in_session"
).metadata
epid = meta["endpoint_id"]
subid = meta["subscription_id"]
with pytest.raises(globus_sdk.TransferAPIError) as excinfo:
client.set_subscription_admin_verified(epid, True)
assert excinfo.value.code == "BadRequest"
assert len(excinfo.value.messages) == 1
message = excinfo.value.messages[0]
assert message == (
"No manager or admin identities in session for high-assurance subscription "
f"{subid}"
)
|