def test_access_exceptions1():
    # Test simple access exceptions.
    database = TaskDatabase()
    database.set_value('root', 'val1', 1)
    database.create_node('root', 'node1')
    database.set_value('root/node1', 'val2', 'a')
    database.create_node('root', 'node2')
    database.set_value('root/node2', 'val3', 2.0)

    assert_equal(database.list_accessible_entries('root'), ['val1'])

    database.add_access_exception('root', 'val2', 'root/node1')
    assert_equal(database.list_accessible_entries('root'), ['val1', 'val2'])
    assert_equal(database.get_value('root', 'val2'), 'a')

    database.add_access_exception('root', 'val3', 'root/node2')
    assert_equal(database.list_accessible_entries('root'),
                 ['val1', 'val2', 'val3'])
    assert_equal(database.get_value('root', 'val3'), 2.0)

    database.remove_access_exception('root', 'val2')
    assert_equal(database.list_accessible_entries('root'), ['val1', 'val3'])

    database.remove_access_exception('root')
    assert_equal(database.list_accessible_entries('root'), ['val1'])
示例#2
0
def test_access_exceptions1():
    # Test simple access exceptions.
    database = TaskDatabase()
    database.set_value('root', 'val1', 1)
    database.create_node('root', 'node1')
    database.set_value('root/node1', 'val2', 'a')
    database.create_node('root', 'node2')
    database.set_value('root/node2', 'val3', 2.0)

    assert_equal(database.list_accessible_entries('root'), ['val1'])

    database.add_access_exception('root', 'val2', 'root/node1')
    assert_equal(database.list_accessible_entries('root'), ['val1', 'val2'])
    assert_equal(database.get_value('root', 'val2'), 'a')

    database.add_access_exception('root', 'val3', 'root/node2')
    assert_equal(database.list_accessible_entries('root'),
                 ['val1', 'val2', 'val3'])
    assert_equal(database.get_value('root', 'val3'), 2.0)

    database.remove_access_exception('root', 'val2')
    assert_equal(database.list_accessible_entries('root'), ['val1', 'val3'])

    database.remove_access_exception('root')
    assert_equal(database.list_accessible_entries('root'), ['val1'])
def test_get_set_on_flat_database2():
    # Test get/set operations on flat database using names when an access ex
    # exists.
    database = TaskDatabase()
    database.set_value('root', 'val1', 1)
    database.create_node('root', 'node1')
    database.set_value('root/node1', 'val2', 'a')
    database.add_access_exception('root', 'val2', 'root/node1')

    database.prepare_for_running()
    assert_false(database.set_value('root', 'val2', 2))
    assert_equal(database.get_value('root', 'val2'), 2)
示例#4
0
def test_get_set_on_flat_database2():
    # Test get/set operations on flat database using names when an access ex
    # exists.
    database = TaskDatabase()
    database.set_value('root', 'val1', 1)
    database.create_node('root', 'node1')
    database.set_value('root/node1', 'val2', 'a')
    database.add_access_exception('root', 'val2', 'root/node1')

    database.prepare_for_running()
    assert_false(database.set_value('root', 'val2', 2))
    assert_equal(database.get_value('root', 'val2'), 2)
def test_index_op_on_flat_database2():
    # Test operation on flat database relying on indexes when a simple access
    # ex exists.
    database = TaskDatabase()
    database.set_value('root', 'val1', 1)
    database.create_node('root', 'node1')
    database.set_value('root/node1', 'val2', 'a')
    database.add_access_exception('root', 'val2', 'root/node1')

    database.prepare_for_running()
    assert_equal(database.get_entries_indexes('root', ['val1']), {'val1': 0})
    assert_equal(database.get_entries_indexes('root', ['val1', 'val2']),
                 {'val1': 0, 'val2': 1})
示例#6
0
def test_index_op_on_flat_database2():
    # Test operation on flat database relying on indexes when a simple access
    # ex exists.
    database = TaskDatabase()
    database.set_value('root', 'val1', 1)
    database.create_node('root', 'node1')
    database.set_value('root/node1', 'val2', 'a')
    database.add_access_exception('root', 'val2', 'root/node1')

    database.prepare_for_running()
    assert_equal(database.get_entries_indexes('root', ['val1']), {'val1': 0})
    assert_equal(database.get_entries_indexes('root', ['val1', 'val2']), {
        'val1': 0,
        'val2': 1
    })