Пример #1
0
 def test_filter_files_for_digest_mismatch_1(self):
     test_file_3_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     checksum_file_3_path = create_checksum_file(test_file_3_path)
     test_file_4_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     checksum_file_4_path = create_checksum_file(test_file_4_path)
     self.test_sync.find_all_files()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()),
                      {self.test_file_1.name: 0, self.test_file_2.name: 0,
                       test_file_3_path: 5, checksum_file_3_path: 37,
                       test_file_4_path: 5, checksum_file_4_path: 37})
     self.test_sync.filter_files_for_digest_mismatch()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()),
                      {test_file_3_path: 5, checksum_file_3_path: 37,
                       test_file_4_path: 5, checksum_file_4_path: 37})
     test_file_5_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     checksum_file_5_path = create_checksum_file(test_file_5_path, valid_check_sum=False)
     self.test_sync.find_all_files()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()), {
         self.test_file_1.name: 0, self.test_file_2.name: 0,
         test_file_3_path: 5, checksum_file_3_path: 37,
         test_file_4_path: 5, checksum_file_4_path: 37,
         test_file_5_path: 5, checksum_file_5_path: 26})
     self.test_sync.filter_files_for_digest_mismatch()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()), {
         test_file_3_path: 5, checksum_file_3_path: 37,
         test_file_4_path: 5, checksum_file_4_path: 37})
Пример #2
0
 def test_get_file_hash(self):
     test_md5_hasher_hex = MD5Hasher(block_size=64, hex_digest=True)
     test_md5_hasher_binary = MD5Hasher(hex_digest=False)
     test_file_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     hex_digest, digest = get_file_hash(test_file_path)
     self.assertEqual(test_md5_hasher_hex.get_file_hash(test_file_path), hex_digest)
     self.assertEqual(test_md5_hasher_binary.get_file_hash(test_file_path), digest)
Пример #3
0
 def test_get_file_hash(self):
     test_md5_hasher_hex = MD5Hasher(block_size=64, hex_digest=True)
     test_md5_hasher_binary = MD5Hasher(hex_digest=False)
     test_file_path = write_something_to_a_blank_file(
         dir_path=self.tmp_dir_1)
     hex_digest, digest = get_file_hash(test_file_path)
     self.assertEqual(test_md5_hasher_hex.get_file_hash(test_file_path),
                      hex_digest)
     self.assertEqual(test_md5_hasher_binary.get_file_hash(test_file_path),
                      digest)
Пример #4
0
 def test_handle_missing_checksum_files_with_both_missing_and_avail(self):
     test_file_3_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     checksum_file_3_path = create_checksum_file(test_file_3_path)
     self.test_sync.find_all_files()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()),
                      {self.test_file_1.name: 0, self.test_file_2.name: 0,
                       test_file_3_path: 5, checksum_file_3_path: 37})
     self.test_sync.handle_missing_checksum_files()
     self.assertEqual(len(self._without_timestamps(self.test_sync.get_file_stats()).keys()), 6)
     self.assertEqual(set(self._without_timestamps(self.test_sync.get_file_stats()).keys()),
                      {self.test_file_1.name, self.test_file_2.name, test_file_3_path,
                       self.test_file_1.name + '.done', self.test_file_2.name + '.done', test_file_3_path + '.done'})
Пример #5
0
 def test_handle_missing_checksum_files_when_user_drops_checksum_file_during_a_watch_period(self):
     test_file_3_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     self.test_sync.find_all_files()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()),
                      {self.test_file_1.name: 0, self.test_file_2.name: 0,
                       test_file_3_path: 5})
     # user drops the checksum file after a snapshot is taken
     checksum_file_3_path = create_checksum_file(test_file_3_path)
     self.test_sync.watch_files()
     self.test_sync.handle_missing_checksum_files()
     self.assertEqual(len(self._without_timestamps(self.test_sync.get_file_stats()).keys()), 4)
     self.assertEqual(set(self._without_timestamps(self.test_sync.get_file_stats()).keys()),
                      {self.test_file_1.name, self.test_file_2.name,
                       self.test_file_1.name + '.done', self.test_file_2.name + '.done'})
Пример #6
0
 def test_remove_files_from_dict(self):
     test_file_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     checksum_file_path = create_checksum_file(test_file_path)
     self.test_sync.find_all_files()
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()), {
         self.test_file_1.name: 0, self.test_file_2.name: 0,
         test_file_path: 5, checksum_file_path: 37})
     self.test_sync.remove_file_from_dict(self.test_file_1.name)
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()), {
         self.test_file_2.name: 0, test_file_path: 5, checksum_file_path: 37})
     self.test_sync.remove_file_pair_from_dict(test_file_path)
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()), {self.test_file_2.name: 0})
     self.test_sync.remove_file_pair_from_dict(self.test_file_2.name)
     self.assertEqual(self._without_timestamps(self.test_sync.get_file_stats()), {})
Пример #7
0
 def setUp(self):
     self.pattern = "['*.gpg', '*.gpg.done']"
     self.base_dir = tempfile.mkdtemp(prefix='base')
     self.source_dir = tempfile.mkdtemp(prefix='arrivals',
                                        dir=self.base_dir)
     self.source_path = os.path.join(self.base_dir, self.source_dir)
     conf = {
         'base_dir': self.base_dir,
         'source_dir': self.source_dir,
         'landing_zone_host_name': 'localhost',
         'arrivals_path': 'arrivals',
         'private_key_file': '~/.ssh/id_rsa',
         'sftp_user': '******'
     }
     self.file_mover = FileMover(config=conf)
     self.tmp_dir_1 = tempfile.mkdtemp(prefix='tmp_1')
     self.test_file_1 = write_something_to_a_blank_file(
         dir_path=self.tmp_dir_1)
     self.checksum_file_1 = create_checksum_file(self.test_file_1)
Пример #8
0
 def setUp(self):
     self.tmp_dir_1 = tempfile.mkdtemp(prefix='tmp_1')
     self.test_file_1 = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
Пример #9
0
 def setUp(self):
     self.tmp_dir_1 = tempfile.mkdtemp(prefix='tmp_1')
     self.test_file_1 = write_something_to_a_blank_file(
         dir_path=self.tmp_dir_1)
Пример #10
0
 def test_valid_check_sum_with_invalid_checksum_file(self):
     test_file_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     _ = create_checksum_file(test_file_path, valid_check_sum=False)
     self.assertFalse(self.test_sync.valid_check_sum(test_file_path))
Пример #11
0
 def test_valid_check_sum_with_no_checksum_file_for_longer_time(self):
     test_file_path = write_something_to_a_blank_file(dir_path=self.tmp_dir_1)
     time.sleep(5)
     self.assertFalse(self.test_sync.valid_check_sum(test_file_path))