Exemple #1
0
def test_hash_file_rotated():
    image_name_1 = 'tests/images/u.jpg'
    image_name_2 = 'tests/images/deeply/nested/image/sideways.jpg'

    result_1 = duplicate_finder.hash_file(image_name_1)
    result_2 = duplicate_finder.hash_file(image_name_2)

    assert result_1[1] == result_2[1]
Exemple #2
0
def test_hash_file():
    image_name = 'tests/images/u.jpg'
    result = duplicate_finder.hash_file(image_name)
    assert result is not None
    file, hash_, file_size, image_size, capture_time = result

    assert file == image_name
    assert hash_ == '4b9e705db4450db6695cba149e2b2d65c3a950e13c7e8778e1cbda081e12a7eb'

    result = duplicate_finder.hash_file('tests/images/nothing.png')
    assert result is None

    result = duplicate_finder.hash_file('tests/images/not_image.txt')
    assert result is None
Exemple #3
0
def test_hash_file():
    image_name = 'tests/images/u.jpg'
    result = duplicate_finder.hash_file(image_name)
    assert result is not None
    file, hash_, file_size, image_size, capture_time = result

    assert file == image_name
    assert hash_ == '87d35b107818e5d7963a5d2869d4b4b6c3950a873c7ee11ed2790eba2da2b03d'

    result = duplicate_finder.hash_file('tests/images/nothing.png')
    assert result is None

    result = duplicate_finder.hash_file('tests/images/not_image.txt')
    assert result is None
Exemple #4
0
def test_new_image_files():
    db = mongomock.MongoClient().image_database.images
    result = duplicate_finder.hash_file('tests/images/u.jpg')
    duplicate_finder._add_to_database(*result, db=db)

    results = duplicate_finder.new_image_files(
        ['tests/images/u.jpg', 'another_file'], db)
    results = list(results)

    assert len(results) == 1
    assert results == ['another_file']
Exemple #5
0
def test_add_to_database():
    db = mongomock.MongoClient().image_database.images
    result = duplicate_finder.hash_file('tests/images/u.jpg')
    duplicate_finder._add_to_database(*result, db=db)

    db_result = db.find_one({'_id': result[0]})

    assert result[0] == db_result['_id']
    assert result[1] == db_result['hash']
    assert result[2] == db_result['file_size']
    assert result[3] == db_result['image_size']
    assert result[4] == db_result['capture_time']

    # Duplicate entry should print out an error
    duplicate_finder._add_to_database(*result, db=db)
Exemple #6
0
def test_add_to_database():
    db = mongomock.MongoClient().image_database.images
    result = duplicate_finder.hash_file("tests/images/u.jpg")
    duplicate_finder._add_to_database(*result, db=db)

    db_result = db.find_one({"_id": result[0]})

    assert result[0] == db_result["_id"]
    assert result[1] == db_result["hash"]
    assert result[2] == db_result["file_size"]
    assert result[3] == db_result["image_size"]
    assert result[4] == db_result["capture_time"]

    # Duplicate entry should print out an error
    duplicate_finder._add_to_database(*result, db=db)
Exemple #7
0
def test_in_database():
    db = mongomock.MongoClient().image_database.images
    result = duplicate_finder.hash_file('tests/images/u.jpg')
    duplicate_finder._add_to_database(*result, db=db)

    assert duplicate_finder._in_database('tests/images/u.jpg', db)