Esempio n. 1
0
def test_parse_policy(tmp_path):
    d = tmp_path / "policy"

    d.mkdir()

    p = d / "policy.yaml"
    p.write_text(fixtures.y)

    policy = policy_lib.parse_policy(str(p.absolute()))

    assert policy.label == "test_policy"
Esempio n. 2
0
def test_reverse_helper():
    p = yaml.load(fixtures.reversible_yaml, Loader=yaml.FullLoader)

    policy = policy_lib.parse_policy(p)

    df = pd.DataFrame({"name": ["bob", "alice"]})

    new_df = policy_lib.apply_policy(policy, df)

    new_policy = policy_lib.reverse(policy)

    another_df = policy_lib.apply_policy(new_policy, new_df)

    for transform in new_policy.transformations:
        assert transform.type == pandas_lib.transformations.TokenReverser.identifier

    pdt.assert_frame_equal(df, another_df)
Esempio n. 3
0
def test_parse_policy_invalid_file():
    with pytest.raises(FileNotFoundError):
        policy_lib.parse_policy("iamnotarealthingonthisfilesystem")
Esempio n. 4
0
def test_parse_policy_invalid_url():
    with pytest.raises(requests.exceptions.ConnectionError):
        policy_lib.parse_policy("https://notapolicy.here.com/policy")
Esempio n. 5
0
def test_parse_policy_url(httpserver):
    httpserver.expect_request("/policy").respond_with_data(fixtures.y)
    url = httpserver.url_for("/policy")
    policy = policy_lib.parse_policy(url)
    assert policy.label == "test_policy"
Esempio n. 6
0
def test_parse_policy_dict():
    p = yaml.load(fixtures.y, Loader=yaml.FullLoader)

    policy = policy_lib.parse_policy(p)

    assert policy.label == "test_policy"