def test_delete_with_non_existing_directory(): """Jay.delete should not break when deleting an non existing entry""" mkdir('') assert not os.path.isfile(TEST_IDX_FILENAME) j = Jay(idx_filename=TEST_IDX_FILENAME) j.delete('/non/existent/dir') eq_(j.idx_rows, {})
def test_delete_with_existing_directory(): """Jay.delete should delete an existing entry""" mkdir('') assert not os.path.isfile(TEST_IDX_FILENAME) d = '/test/dir' j = Jay(idx_filename=TEST_IDX_FILENAME) update_time = '1387159989.41' _update(j, d, update_time) j.delete(d) eq_(j.idx_rows, {})
def test_dump_unicode_support(): """Dump method should persist idx_rows""" mkdir('') d = '/test/éñ' update_time = '1387159989.41' expected_output = '{0},{1}'.format(d, update_time) j = Jay(idx_filename=TEST_IDX_FILENAME, recent_idx_filename=TEST_RECENT_IDX_FILENAME) j.idx_rows = {d: update_time} j.dump() assert io.open(TEST_IDX_FILENAME).read().strip() == expected_output
def test_dump_max_num_entries(): """Dump method should persist not more than the max idx rows allowed""" assert TEST_IDX_MAX_SIZE == 2 d1 = '/test/dir1' d2 = '/test/dir2' d3 = '/test/dir3' update_time1 = '1100000000.00' update_time2 = '1200000000.00' update_time3 = '1300000000.00' expected_output = ['{0},{1}\n'.format(d3, update_time3), '{0},{1}\n'.format(d2, update_time2)] mkdir('') j = Jay(idx_filename=TEST_IDX_FILENAME, idx_max_size=TEST_IDX_MAX_SIZE) j.idx_rows = {d1: update_time1, d2: update_time2, d3: update_time3} j.dump() eq_(io.open(TEST_IDX_FILENAME).readlines(), expected_output)
def test_deletions_are_persisted(): """Idx deletions should be persisted""" j = Jay(idx_filename=TEST_IDX_FILENAME) j.delete('/tmp/dir1') # delete an existent entry expected_output = '/home/dir2,1387158735.64' # the other entry eq_(io.open(TEST_IDX_FILENAME).read().strip(), expected_output)