File: test_merge_scopes.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 (62 lines) | stat: -rw-r--r-- 2,014 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from globus_sdk.scopes import Scope, ScopeParser


def test_base_scope_strings():
    s1 = [Scope("foo"), Scope("bar")]
    s2 = [Scope("foo"), Scope("baz")]
    merged = ScopeParser.merge_scopes(s1, s2)
    assert len(merged) == 3

    str_list = [str(s) for s in merged]
    assert "foo" in str_list
    assert "bar" in str_list
    assert "baz" in str_list


def test_mixed_optional_dependencies():
    s1 = [Scope("foo", optional=True)]
    s2 = [Scope("foo", optional=False)]
    merged = ScopeParser.merge_scopes(s1, s2)
    assert len(merged) == 2

    str_list = [str(s) for s in merged]
    assert "foo" in str_list
    assert "*foo" in str_list


def test_different_dependencies():
    s1 = [Scope("foo").with_dependency(Scope("bar"))]
    s2 = [Scope("foo").with_dependency(Scope("baz"))]
    merged = ScopeParser.merge_scopes(s1, s2)
    assert len(merged) == 1
    assert merged[0].scope_string == "foo"

    dependency_str_list = [str(s) for s in merged[0].dependencies]
    assert len(dependency_str_list) == 2
    assert "bar" in dependency_str_list
    assert "baz" in dependency_str_list


def test_optional_dependencies():
    s1 = [Scope("foo").with_dependency(Scope("bar"))]
    s2 = [Scope("foo").with_dependency(Scope("bar", optional=True))]
    merged = ScopeParser.merge_scopes(s1, s2)
    assert len(merged) == 1
    assert merged[0].scope_string == "foo"

    dependency_str_list = [str(s) for s in merged[0].dependencies]
    assert len(dependency_str_list) == 1
    assert "bar" in dependency_str_list


def test_different_dependencies_on_mixed_optional_base():
    s1 = [Scope("foo").with_dependency(Scope("bar"))]
    s2 = [Scope("foo", optional=True).with_dependency(Scope("baz"))]
    merged = ScopeParser.merge_scopes(s1, s2)
    assert len(merged) == 2

    for scope in merged:
        dependency_str_list = [str(s) for s in scope.dependencies]
        assert len(dependency_str_list) == 2
        assert "bar" in dependency_str_list
        assert "baz" in dependency_str_list