コード例 #1
0
def test_upgrade_file_verison_0_to_1_1_minimum_entries(tmpdir_factory):
    """The only required field in 'version 0' was credentials"""
    mechanism = "CURVE"
    publickey = "A" * 43
    version0 = {
        "allow": [{
            "credentials": mechanism + ":" + publickey
        }],
    }

    filename = str(tmpdir_factory.mktemp('auth_test').join('auth.json'))
    with open(filename, 'w') as fp:
        fp.write(json.dumps(version0, indent=2))

    upgraded = AuthFile(filename)
    entries = upgraded.read()[0]
    assert len(entries) == 1
    assert entries[0].user_id is not None

    expected = version0['allow'][0]
    expected["credentials"] = publickey
    expected["mechanism"] = mechanism
    expected["domain"] = None
    expected["address"] = None
    expected["user_id"] = entries[0].user_id  # this will be a UUID
    expected["enabled"] = True
    expected["comments"] = None
    expected["capabilities"] = []
    expected["roles"] = []
    expected["groups"] = []
    assert_auth_entries_same(expected, vars(entries[0]))
コード例 #2
0
ファイル: auth_file_test.py プロジェクト: schandrika/volttron
def test_upgrade_file_verison_0_to_1_1_minimum_entries(tmpdir_factory):
    """The only required field in 'version 0' was credentials"""
    mechanism = "CURVE"
    publickey = "A" * 43
    version0 = {
        "allow": [{"credentials": mechanism + ":" + publickey}],
    }

    filename = str(tmpdir_factory.mktemp('auth_test').join('auth.json'))
    with open(filename, 'w') as fp:
        fp.write(json.dumps(version0, indent=2))

    upgraded = AuthFile(filename)
    entries = upgraded.read()[0]
    assert len(entries) == 1
    assert entries[0].user_id is not None

    expected = version0['allow'][0]
    expected["credentials"] = publickey
    expected["mechanism"] = mechanism
    expected["domain"] = None
    expected["address"] = None
    expected["user_id"] = entries[0].user_id # this will be a UUID
    expected["enabled"] = True
    expected["comments"] = None
    expected["capabilities"] = []
    expected["roles"] = []
    expected["groups"] = []
    assert_auth_entries_same(expected, vars(entries[0]))
コード例 #3
0
def test_upgrade_file_verison_0_to_1_2(tmpdir_factory):
    mechanism = "CURVE"
    publickey = "A" * 43
    version0 = {
        "allow": [{
            "domain": "vip",
            "address": "127.0.0.1",
            "user_id": "user123",
            "enabled": True,
            "comments": "This is a test entry",
            "capabilities": ["can_publish_temperature"],
            "roles": [],
            "groups": [],
            "credentials": mechanism + ":" + publickey
        }],
        "roles": {
            "manager": ["can_managed_platform"]
        },
        "groups": {
            "admin": ["reader", "writer"]
        }
    }

    filename = str(tmpdir_factory.mktemp('auth_test').join('auth.json'))
    with open(filename, 'w') as fp:
        fp.write(jsonapi.dumps(version0, indent=2))

    upgraded = AuthFile(filename)
    entries, groups, roles = upgraded.read()
    assert groups == version0['groups']
    assert roles == version0['roles']
    assert len(entries) == 1

    expected = version0['allow'][0]
    expected["credentials"] = publickey
    expected["mechanism"] = mechanism
    expected["capabilities"] = {
        'can_publish_temperature': None,
        'edit_config_store': {
            'identity': entries[0].user_id
        }
    }
    assert_auth_entries_same(expected, vars(entries[0]))
コード例 #4
0
ファイル: auth_file_test.py プロジェクト: schandrika/volttron
def test_upgrade_file_verison_0_to_1_1(tmpdir_factory):
    mechanism = "CURVE"
    publickey = "A" * 43
    version0 = {
        "allow": [
            {
                "domain": "vip",
                "address": "127.0.0.1",
                "user_id": "user123",
                "enabled": True,
                "comments": "This is a test entry",
                "capabilities": ["can_publish_temperature"],
                "roles": [],
                "groups": [],
                "credentials": mechanism + ":" + publickey
            }
        ],
        "roles": {
            "manager": ["can_managed_platform"]
        },
        "groups": {
            "admin": ["reader", "writer"]
        }
    }

    filename = str(tmpdir_factory.mktemp('auth_test').join('auth.json'))
    with open(filename, 'w') as fp:
        fp.write(json.dumps(version0, indent=2))

    upgraded = AuthFile(filename)
    entries, groups, roles = upgraded.read()
    assert groups == version0['groups']
    assert roles == version0['roles']
    assert len(entries) == 1

    expected = version0['allow'][0]
    expected["credentials"] = publickey
    expected["mechanism"] = mechanism
    assert_auth_entries_same(expected, vars(entries[0]))