Пример #1
0
    def test_set_root_folder(self):
        root_folder = temp_folder()
        assert self.config.root_folder != root_folder
        self.config.set_root_folder(root_folder)
        assert self.config.root_folder == root_folder

        assert self.config.hd1_location == path_combine(
            root_folder, DEFAULT_HD1_NAME)
        assert self.config.hd2_location == path_combine(
            root_folder, DEFAULT_HD2_NAME)
        assert self.config.hd3_location == path_combine(
            root_folder, DEFAULT_HD3_NAME)

        assert folder_exists(self.config.root_folder)
        assert folder_exists(self.config.hd1_location)
        assert folder_exists(self.config.hd2_location)
        assert folder_exists(self.config.hd2_data_location)
        assert folder_exists(self.config.hd2_status_location)
        assert folder_exists(self.config.hd2_processed_location)
        assert folder_exists(self.config.hd3_location)

        folder_delete_all(root_folder)

        assert folder_not_exists(self.config.root_folder)
        assert folder_not_exists(self.config.hd1_location)
        assert folder_not_exists(self.config.hd2_location)
        assert folder_not_exists(self.config.hd3_location)
Пример #2
0
    def moveProcessedFiles(self):
        json_list = self.hash_json.data()

        for key in json_list:

            source_path = self.storage.hd2_data(key)

            if (FileStatus.COMPLETED == json_list[key]["file_status"]):
                destination_path = self.storage.hd2_processed(key)

                if folder_exists(destination_path):
                    folder_delete_all(destination_path)

                shutil.move(source_path, destination_path)

            if (FileStatus.FAILED == json_list[key]["file_status"]):

                meta_service = Metadata_Service()
                meta_service.get_from_file(source_path)
                metadata = meta_service.metadata
                if ("Engine response could not be decoded" == metadata.get_error()) and \
                    metadata.get_original_file_extension() in ['.xml', '.json']:
                    destination_path = self.storage.hd2_not_processed(key)

                    if folder_exists(destination_path):
                        folder_delete_all(destination_path)

                    shutil.move(source_path, destination_path)
    def test_copy_folder(self):
        temp_folder = folder_temp()
        folder_delete_all(temp_folder)

        self.file_service.copy_folder(self.test_folder, temp_folder)
        directory = os.listdir(temp_folder)

        assert len(directory) is not 0
    def __init__(self):
        self.config             = Config()
        self.hd1_base_location  = self.config.hd1_location
        self.hd2_base_location  = self.config.hd2_location
        self.hd3_base_location  = self.config.hd3_location
        self.zip_folder         = os.path.join(os.getcwd(),"zip_folder")
        self.storage            = Storage()

        folder_delete_all(self.zip_folder)
        create_folder(self.zip_folder)
Пример #5
0
    def prepare_folder(self, folder_to_process):
        if folder_to_process.startswith(self.storage.hd1()):
            return folder_to_process

        dirname = os.path.join(self.storage.hd1(),
                               os.path.basename(folder_to_process))
        if os.path.isdir(dirname):
            folder_delete_all(dirname)
        try:
            folder_copy(folder_to_process, dirname)
        finally:
            return dirname
Пример #6
0
    def test_invalid_hd3(self):
        hd1_path      = "./test_data/scenario-1/hd1"
        hd2_path      = "./test_data/scenario-1/hd2"
        hd3_path      = "./test_data/scenario-1/hd3xyz"

        response=self.configure.configure(hd1_path=hd1_path,
                                          hd2_path=hd2_path,
                                          hd3_path=hd3_path)

        assert self.configure.last_error_message == ""
        assert response is not None
        assert folder_exists(hd3_path)
        folder_delete_all(hd3_path)
Пример #7
0
 def test_folder_create(self):
     tmp_folder = '_tmp_folder'
     assert folder_exists(tmp_folder) is False
     assert folder_create(tmp_folder) == tmp_folder
     assert folder_create(tmp_folder) == tmp_folder
     assert folder_exists(tmp_folder) is True
     assert folder_not_exists(tmp_folder) is False
     assert folder_delete_all(tmp_folder) is True
     assert folder_not_exists(tmp_folder) is True
Пример #8
0
 def test_set_hd3_location(self):
     hd3_location = path_combine(temp_folder(), 'cccc')
     assert file_not_exists(hd3_location)
     self.config.set_hd3_location(hd3_location)
     assert self.config.hd3_location == hd3_location
     assert file_exists(hd3_location)
     self.config.load_values()
     assert abspath(
         self.config.hd3_location) == abspath('./test_data/scenario-1/hd3')
     assert folder_delete_all(hd3_location)
    def prepare_zip(self, path, zip_name):
        try:
            self.temp_folder = temp_folder()
            dst_path = os.path.join(self.temp_folder, ntpath.basename(path))

            if os.path.isfile(path):
                file_copy(path, dst_path)
            elif os.path.isdir(path):
                folder_copy(path, dst_path)

            target_file_path = os.path.join(self.zip_folder, zip_name)

            zip_files(self.temp_folder, file_pattern='*.*', target_file = target_file_path)

            folder_delete_all(self.temp_folder)

            return target_file_path

        except Exception as error:
            logger.error(f"File_Distributor: prepare_zip : {error}")
            raise error
Пример #10
0
    def test_folder_create_in_parent(self):
        tmp_folder = '_tmp_folder'
        child_folder = '_child_folder'

        assert folder_exists(tmp_folder) == False
        assert folder_create(tmp_folder) == tmp_folder
        assert create_folder_in_parent(tmp_folder,
                                       child_folder) == path_combine(
                                           tmp_folder, child_folder)
        assert folder_exists(path_combine(tmp_folder, child_folder)) == True
        assert folder_delete_all(tmp_folder) == True
        assert folder_not_exists(path_combine(tmp_folder,
                                              child_folder)) == True
    def test_process_folder(self):
        path_data = self.pre_processor.storage.hd2_data()

        filename = os.path.basename(self.test_file)
        folder_to_process = self.pre_processor.prepare_folder(self.temp_dir)
        assert folder_to_process.startswith(self.pre_processor.storage.hd1())
        assert os.path.isdir(folder_to_process)
        assert os.path.isfile(os.path.join(folder_to_process, filename))
        folder_delete_all(folder_to_process)

        assert not os.path.isfile(os.path.join(folder_to_process, filename))

        self.pre_processor.clear_data_and_status_folders()
        self.pre_processor.process_folder(self.temp_dir)
        assert os.path.isdir(folder_to_process)
        assert os.path.isfile(os.path.join(folder_to_process, filename))
        assert len(files_list(path_data)) == 1

        self.pre_processor.process_folder(self.temp_dir)
        assert len(files_list(path_data)) == 1

        folder_delete_all(folder_to_process)
        self.pre_processor.clear_data_and_status_folders()
    def prepare_hd2_hash_folder_zip(self,path_list, zip_name):
        try:
            self.temp_folder = temp_folder()

            for hash_folder_path in path_list:
                name = ntpath.basename(hash_folder_path)
                dst_path = os.path.join(self.temp_folder, name)

                if os.path.isdir(hash_folder_path):
                    folder_copy(hash_folder_path, dst_path)

                    hd2_source_file = os.path.join(dst_path, "source")
                    if os.path.isfile(hd2_source_file):
                        file_delete(hd2_source_file)

            target_file_path = os.path.join(self.zip_folder, zip_name)
            zip_files(self.temp_folder, file_pattern='*.*', target_file = target_file_path)
            folder_delete_all(self.temp_folder)

            return target_file_path

        except Exception as error:
            logger.error(f"File_Distributor: prepare_zip : {error}")
            raise error
Пример #13
0
    def test_set_hd2_location(self):
        hd2_location = path_combine(temp_folder(), 'bbb')
        assert file_not_exists(hd2_location)
        self.config.set_hd2_location(hd2_location)
        assert self.config.hd2_location == hd2_location
        assert self.config.hd2_data_location == path_combine(
            hd2_location, DEFAULT_HD2_DATA_NAME)
        assert self.config.hd2_status_location == path_combine(
            hd2_location, DEFAULT_HD2_STATUS_NAME)
        assert self.config.hd2_processed_location == path_combine(
            hd2_location, DEFAULT_HD2_PROCESSED_NAME)
        assert file_exists(hd2_location)

        self.config.load_values()
        assert abspath(
            self.config.hd2_location) == abspath('./test_data/scenario-1/hd2')
        assert folder_delete_all(hd2_location)
Пример #14
0
 def clear_data_and_status_folders(self):
     data_target = self.storage.hd2_data(
     )  # todo: refactor this clean up to the storage class
     status_target = self.storage.hd2_status()
     processed_target = self.storage.hd2_processed()
     folder_delete_all(data_target)
     folder_delete_all(status_target)
     folder_delete_all(processed_target)
     folder_create(data_target)
     folder_create(status_target)
     folder_create(processed_target)
     self.status.reset()
 def hd2_delete_all_files(self):
     folder_delete_all(self.hd2_data())
     folder_delete_all(self.hd2_status())
     folder_create(self.hd2_data())
     folder_create(self.hd2_status())
 def hd1_delete_all_files(self):
     folder_delete_all(self.hd1())
     folder_create(self.hd1())
Пример #17
0
 def tearDownClass(cls) -> None:
     cls.pre_processor.clear_data_and_status_folders()
     folder_delete_all(os.path.join(os.getcwd(), "zip_folder"))
Пример #18
0
 def delete(self):
     if self.exists():
         folder_delete_all(self.metadata_folder_path())
         return self.exists() is False
     return False
 def tearDownClass(cls) -> None:
     file_delete(cls.test_file)
     folder_delete_all(cls.temp_dir)
     Metadata(file_hash=cls.file_hash).delete()
 def restore_config(self):
     folder_delete_all(self.temp_root_folder)
     self.get_config().load_values()  # reload config values