def test__get_unique_directory_name(self): """ Should return directory name which is unique to target directory using file name, datetime stamp, and counter :return: """ from datetime import datetime from artefact.localhost.file import FileCopy expected_time = datetime(2009, 3, 20, 13, 12, 2) expected_dir_name = 'some_file.txt_2009032013120201' collector = FileCopy(parameters={}, parent=None) collector.source_path = '~/somepath/some_file.txt' actual_dir_name = collector._get_unique_directory_name( 'mock', expected_time) self.assertEqual(expected_dir_name, actual_dir_name)
def test__get_unique_directory_name_timestamp_already_taken(self): """ Should return a unique name with the same datetime stamp but with the counter incremented by one :return: """ import os from datetime import datetime from artefact.localhost.file import FileCopy expected_time = datetime(2009, 3, 20, 13, 12, 2) expected_dir_name = 'some_file.txt_2009032013120202' collector = FileCopy(parameters={}, parent=None) collector.source_path = '~/somepath/some_file.txt' try: os.mkdir('./some_file.txt_2009032013120201') actual_dir_name = collector._get_unique_directory_name( '.', expected_time) finally: os.rmdir('./some_file.txt_2009032013120201') self.assertEqual(expected_dir_name, actual_dir_name)