# Files to encrypt
short_APACHE_log = os.path.join(os.path.dirname(__file__),
                                'logs/short_APACHE_log')
RED_HAT_LINUX_log = os.path.join(os.path.dirname(__file__),
                                 'logs/RED_HAT_LINUX_log')

# Generate trees (for all combinations of hash and encoding types)
# along with valid parameters for inclusion test
trees_and_subtrees = []
for security in (True, False):
    for hash_type in HASH_TYPES:
        for encoding in ENCODINGS:
            tree = MerkleTree(hash_type=hash_type,
                              encoding=encoding,
                              security=security)
            tree.encryptFilePerLog(short_APACHE_log)
            old_hash, sublength = tree.rootHash(), tree.length()
            tree.encryptFilePerLog(RED_HAT_LINUX_log)
            trees_and_subtrees.append((tree, old_hash, sublength))


@pytest.mark.parametrize("tree, old_hash, sublength", trees_and_subtrees)
def test_inclusion_test_with_valid_parameters(tree, old_hash, sublength):
    assert tree.inclusionTest(old_hash, sublength) is True


# -------------- Test success edge case with standard Merkle-Tree --------

tree = MerkleTree()
tree.encryptFilePerLog(short_APACHE_log)
old_hash, sublength = tree.rootHash(), tree.length()
Beispiel #2
0
def test_inclusion_test_edge_success_case():
    tree = MerkleTree()
    tree.encryptFilePerLog(short_APACHE_log)
    subhash = tree.rootHash
    tree.encryptFilePerLog(RED_HAT_LINUX_log)
    assert tree.inclusionTest(tree.rootHash)
Beispiel #3
0
def test_inclusion_test_edge_success_case():
    tree = MerkleTree()
    tree.encryptFilePerLog(short_APACHE_log)
    oldhash, sublength = tree.rootHash, tree.length
    tree.encryptFilePerLog(RED_HAT_LINUX_log)
    assert tree.inclusionTest(tree.rootHash, tree.length) is True