def test_dedup(): db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests'], db) assert db.count() == 4 dups = duplicate_finder.find(db, match_time=False) assert len(dups) == 1 dup = dups[0] for item in dup['items'][1:]: # It is still in its original place assert os.path.exists(item['file_name']) dups = duplicate_finder.find(db) duplicate_finder.delete_duplicates(dups, db) for item in dup['items'][1:]: # The files have been moved assert not os.path.exists(item['file_name']) assert os.path.exists( os.path.join('Trash', os.path.basename(item['file_name']))) assert db.count() == 2 # Move files back shutil.move('Trash/sideways.jpg', 'tests/images/deeply/nested/image') shutil.move('Trash/smaller.jpg', 'tests/images/deeply/nested/image') os.rmdir('Trash')
def test_dedup(): db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests'], db) assert db.count() == 8 dups = duplicate_finder.find(db, match_time=False) assert len(dups) == 2 duplicate_finder.delete_duplicates(dups, db) dup = dups[0] # The first item should still be in its original place assert os.path.exists(dup['items'][0]['file_name']) # The rest of the files should be moved to the trash for item in dup['items'][1:]: assert not os.path.exists(item['file_name']) assert os.path.exists( os.path.join('Trash', os.path.basename(item['file_name']))) assert db.count() == 4 # Move files back for dup in dups: for item in dup['items'][1:]: shutil.move( os.path.join('Trash', os.path.basename(item['file_name'])), item['file_name']) os.rmdir('Trash')
def test_clear(): db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests'], db) assert db.count() > 0 duplicate_finder.clear(db) assert db.count() == 0
def test_add(): file_name = '{}/tests/images/u.jpg'.format(os.getcwd()) db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests'], db) db_result = db.find_one({'_id': file_name}) assert db_result['_id'] == file_name assert db_result[ 'hash'] == '4b9e705db4450db6695cba149e2b2d65c3a950e13c7e8778e1cbda081e12a7eb' assert db.count() > 0
def test_add(): file_name = '{}/tests/images/u.jpg'.format(os.getcwd()) db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests'], db) db_result = db.find_one({'_id': file_name}) assert db_result['_id'] == file_name assert db_result[ 'hash'] == '87d35b107818e5d7963a5d2869d4b4b6c3950a873c7ee11ed2790eba2da2b03d' assert db.count() > 0
def test_add(): file_name = "{}/tests/images/u.jpg".format(os.getcwd()) db = mongomock.MongoClient().image_database.images duplicate_finder.add(["tests"], db) db_result = db.find_one({"_id": file_name}) assert db_result["_id"] == file_name assert (db_result["hash"] == "4b9e705db4450db6695cba149e2b2d65c3a950e13c7e8778e1cbda081e12a7eb") assert db.count() > 0
def test_find(): db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests/images/deeply/nested'], db) dups = duplicate_finder.find(db, match_time=False) assert len(dups) == 1 dup = dups[0] assert dup['total'] == 2 time_dups = duplicate_finder.find(db, match_time=True) assert dups == time_dups
def test_find_fuzzy(): db = mongomock.MongoClient().image_database.images duplicate_finder.add(['tests/images/'], db) dups = duplicate_finder.find_threshold(db, 0) assert len(dups) == 2 assert dups[0]['total'] == 2 assert dups[1]['total'] == 5 dups = duplicate_finder.find_threshold(db, 10) assert len(dups) == 1 assert dups[0]['total'] == 8
def test_remove(): db = mongomock.MongoClient().image_database.images duplicate_finder.add(["tests"], db) assert db.count() > 0 duplicate_finder.remove(["test"], db) assert db.count() > 0 duplicate_finder.remove(["tests"], db) assert db.count() == 0 duplicate_finder.remove(["tests"], db) assert db.count() == 0