Exemplo n.º 1
0
def test_check_keys_empty_value_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field = Element('field', path=path + '/field-2,field22')
    ck.to_python(field, stores=stores)
Exemplo n.º 2
0
def test_check_keys_single_key_build_no_value_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.build(path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    nose.tools.eq_(ck.build(path=field.path, stores=stores), 'FieldKey0')
Exemplo n.º 3
0
def test_check_keys_path_mismatch_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    el = Element('reg', path=path)
    ks.to_python(el, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field = Element('field', value='field22', path='/field-2,field22')
    ck.to_python(field, stores=stores)
Exemplo n.º 4
0
def test_match_ref_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('key_name')
    path = '/root-0,'
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names=['OtherKey', 'key_name'], level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    ck.to_python(field.value, path=field.path, stores=stores)
    instance_path = stores.keyStore.match_ref('key_name', 'field22')
    nose.tools.eq_(instance_path, path + '/field-2,field22')
Exemplo n.º 5
0
def test_check_keys_three_keys_build_no_value_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.build(path=path, stores=stores)
    ck = constraints.CheckKeys(
        key_names=['OtherKey', 'FieldKey', 'YetAnotherKey'], level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    actual = ck.build(path=field.path, stores=stores)
    nose.tools.eq_(actual, 'FieldKey0')
Exemplo n.º 6
0
def test_check_keys_duplicate_value_fail():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(key_names='FieldKey', level=1)
    field0 = Element('field', value='field22', path=path + '/field-2,field22')
    field1 = Element('field', value='field22', path=path + '/field-12,field22')
    nose.tools.eq_(ck.to_python(field0, stores=stores), 'field22')
    ck.to_python(field1, stores=stores)
Exemplo n.º 7
0
def test_check_keys_three_keys_pass():
    stores = constraints.Stores()
    ks = constraints.InitKeyStore('FieldKey')
    path = "/register-0,reg6"
    ks.to_python(None, path=path, stores=stores)
    ck = constraints.CheckKeys(
        key_names=['OtherKey', 'FieldKey', 'YetAnotherKey'], level=1)
    field = Element('field', value='field22', path=path + '/field-2,field22')
    expected = {
        'FieldKey:/register-0,reg6': {
            'field22': '/register-0,reg6/field-2,field22'
        }
    }
    ck.to_python(field, stores=stores)
    nose.tools.eq_(stores.keyStore.keys, expected)
Exemplo n.º 8
0
def test_match_refs_pass():
    stores = constraints.Stores()
    root_element = Element('root', value=None, path='/component-0,test')
    key_element = Element(
        'name',
        value='myMemoryMap',
        path='/component-0,test/memoryMap-0,myMemoryMap/name-0,')
    ref_element = Element(
        'memoryMapRef',
        value='myMemoryMap',
        path='/component-0,test/busInterface-0,/memoryMapRef-0,@memoryMapRef')
    constraints.InitKeyStore('memoryMapKey').to_python(root_element,
                                                       stores=stores)
    constraints.CheckKeys(key_names='memoryMapKey',
                          level=2).to_python(key_element, stores=stores)
    kr = constraints.SetupKeyRefsStore('memoryMapKey')
    kr.to_python(ref_element, stores=stores)
    constraints.match_refs(stores)
    targets = {
        '/component-0,test/busInterface-0,/memoryMapRef-0,@memoryMapRef':
        '/component-0,test/memoryMap-0,myMemoryMap/name-0,'
    }
    nose.tools.eq_(stores.refStore.targets, targets)
Exemplo n.º 9
0
def test_check_keys_wrong_keynames_type_fail():
    constraints.CheckKeys(key_names=13, level=2)
Exemplo n.º 10
0
def test_check_keys_level_type_fail():
    constraints.CheckKeys(key_names=['OtherKey', 'FieldKey'], level='55')
Exemplo n.º 11
0
def test_check_keys_no_level_fail():
    constraints.CheckKeys(key_names=['OtherKey', 'FieldKey', 'YetAnotherKey'],
                          level=None)