Example #1
0
def test_strip_locals():
    # Raw pass through non-dictionary-like things
    assert release.strip_locals('foo') == 'foo'
    assert release.strip_locals(['a', 'b']) == ['a', 'b']

    # Dictionaries get all local_ keys removed
    assert release.strip_locals({'a': 'b', 'foo_local': 'foo'}) == {'a': 'b', 'foo_local': 'foo'}
    assert release.strip_locals({'local_a': 'foo'}) == {}
    assert release.strip_locals({'local_a': 'foo', None: 'foo'}) == {None: 'foo'}
    assert release.strip_locals({'a': 1, 'local_a': 3.4}) == {'a': 1}
    assert release.strip_locals({'local_a': 'foo', 'local_path': '/test', 'foobar': 'baz'}) == {'foobar': 'baz'}
    assert release.strip_locals({'local_a': 'foo', 'local_path': '/test'}) == {}

    # Test the recursive case, as well as that the source dictionary isn't modified.
    src_dict = {'a': {'local_a': 'foo'}, 'local_b': '/test', 'c': {'d': 'e', 'f': 'g'}}
    assert release.strip_locals(src_dict) == {'a': {}, 'c': {'d': 'e', 'f': 'g'}}
    assert src_dict == {'a': {'local_a': 'foo'}, 'local_b': '/test', 'c': {'d': 'e', 'f': 'g'}}

    # Test recursion with lists.
    # Dicts inside the list should be cleaned, but not the list itself.
    src_list = [{'a': {'local_a': 'foo'}, 'local_b': '/test', 'c': {'d': 'e', 'f': 'g'}}, 'local_h']
    assert release.strip_locals(src_list) == [{'a': {}, 'c': {'d': 'e', 'f': 'g'}}, 'local_h']
    assert src_list == [{'a': {'local_a': 'foo'}, 'local_b': '/test', 'c': {'d': 'e', 'f': 'g'}}, 'local_h']
Example #2
0
def test_strip_locals():
    # Raw pass through non-dictionary-like things
    assert release.strip_locals("foo") == "foo"
    assert release.strip_locals(["a", "b"]) == ["a", "b"]

    # Dictionaries get all local_ keys removed
    assert release.strip_locals({"a": "b", "foo_local": "foo"}) == {"a": "b", "foo_local": "foo"}
    assert release.strip_locals({"local_a": "foo"}) == {}
    assert release.strip_locals({"local_a": "foo", None: "foo"}) == {None: "foo"}
    assert release.strip_locals({"a": 1, "local_a": 3.4}) == {"a": 1}
    assert release.strip_locals({"local_a": "foo", "local_path": "/test", "foobar": "baz"}) == {"foobar": "baz"}
    assert release.strip_locals({"local_a": "foo", "local_path": "/test"}) == {}

    # Test the recursive case, as well as that the source dictionary isn't modified.
    src_dict = {"a": {"local_a": "foo"}, "local_b": "/test", "c": {"d": "e", "f": "g"}}
    assert release.strip_locals(src_dict) == {"a": {}, "c": {"d": "e", "f": "g"}}
    assert src_dict == {"a": {"local_a": "foo"}, "local_b": "/test", "c": {"d": "e", "f": "g"}}

    # Test recursion with lists.
    # Dicts inside the list should be cleaned, but not the list itself.
    src_list = [{"a": {"local_a": "foo"}, "local_b": "/test", "c": {"d": "e", "f": "g"}}, "local_h"]
    assert release.strip_locals(src_list) == [{"a": {}, "c": {"d": "e", "f": "g"}}, "local_h"]
    assert src_list == [{"a": {"local_a": "foo"}, "local_b": "/test", "c": {"d": "e", "f": "g"}}, "local_h"]