File: test_set_subscription_id.py

package info (click to toggle)
python-globus-sdk 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,172 kB
  • sloc: python: 35,227; sh: 44; makefile: 35
file content (39 lines) | stat: -rw-r--r-- 1,294 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
import pytest

import globus_sdk
from globus_sdk.testing import load_response


def test_set_subscription_id(client):
    meta = load_response(client.set_subscription_id).metadata
    epid = meta["endpoint_id"]

    res = client.set_subscription_id(epid, "DEFAULT")
    assert res["code"] == "Updated"
    assert res["message"] == "Endpoint updated successfully"


def test_set_subscription_id_fails_notfound(client):
    meta = load_response(client.set_subscription_id, case="not_found").metadata
    epid = meta["endpoint_id"]

    with pytest.raises(globus_sdk.TransferAPIError) as excinfo:
        client.set_subscription_id(epid, "DEFAULT")

    assert excinfo.value.code == "EndpointNotFound"
    assert excinfo.value.messages == [f"No such endpoint '{epid}'"]


def test_set_subscription_id_fails_multi(client):
    meta = load_response(
        client.set_subscription_id, case="multi_subscriber_cannot_use_default"
    ).metadata
    epid = meta["endpoint_id"]

    with pytest.raises(globus_sdk.TransferAPIError) as excinfo:
        client.set_subscription_id(epid, "DEFAULT")

    assert excinfo.value.code == "BadRequest"
    assert len(excinfo.value.messages) == 1
    message = excinfo.value.messages[0]
    assert message.startswith("Please specify the subscription ID to use.")