Esempio n. 1
0
 async def browser_setup_for_aws_execution(self):
     self.aws_download_headless_chrome_from_s3()
     os.environ[
         'PYPPETEER_HOME'] = '/tmp'  # tell pyppeteer to use this read-write path in Lambda aws
     self.chrome_args.args_set_user_data_dir(temp_folder(
     ))  # set userdata to folder inside /tmp (since that is writable)
     return await self.browser_launch_or_connect()
Esempio n. 2
0
 async def test_args_set_user_data_dir__enable_logging(self):
     user_data = temp_folder()
     chrome = Chrome().headless(True)
     (chrome.chrome_args.args_set_user_data_dir(user_data).enable_logging())
     await chrome.browser()
     log_file = path_combine(user_data, 'Default/chrome_debug.log')
     assert file_exists(log_file)
 def setUpClass(cls) -> None:
     cls.test_file = temp_file(
         contents='Static text so that we have a static hash')
     cls.file_hash = '500286533bf75d769e9180a19414d1c3502dd52093e7351a0a9b1385d8f8961c'
     cls.temp_dir = temp_folder()
     file_copy(cls.test_file, cls.temp_dir)
     cls.pre_processor = Pre_Processor()
     Setup_Testing().configure_pre_processor(cls.pre_processor)
    def setUp(self) -> None:

        self.sdk_server      = self.config.test_sdk
        self.sdk_port        = '8080'
        self.temp_folder     = temp_folder()
        self.events_log      = Events_Log(self.temp_folder)
        self.events_elastic  = Events_Log_Elastic()
        self.report_elastic  = Report_Elastic()
        self.analysis_elastic = Analysis_Elastic()
        self.file_processing = File_Processing(events_log=self.events_log, events_elastic = self.events_elastic, report_elastic=self.report_elastic, analysis_elastic= self.analysis_elastic, meta_service=self.meta_service )
        self.storage         = Storage()
 def __init__(self, page, capture_screenshots=False, max_attempts=20, wait_for=0.5):
     self.page                = page
     self.capture_screenshots = capture_screenshots
     self.target_folder       = temp_folder()
     self.downloaded_file     = None
     self.target_url          = None
     self.screenshots         = []
     self.status              = False
     self.max_attempts        = max_attempts
     self.wait_for            = wait_for
     self.wait_count          = 0
     self.waited_for          = 0
Esempio n. 6
0
 def create_from_pip(self, package_name, pip_executable='pip3'):
     path_install = temp_folder()
     install_result = run_process(
         pip_executable, ['install', '-t', path_install, package_name])
     if install_result.get('error') is None and install_result.get(
             'stderr').startswith('ERROR') is False:
         return self.create_from_folder(path_install)
     else:
         return {
             'status': 'error',
             'error': install_result.get('stderr'),
             'stdout': install_result.get('stdout')
         }
Esempio n. 7
0
    def test_folder_copy(self):
        folder_a = temp_folder(prefix='folder_a_')
        folder_b = temp_folder(prefix='folder_b_', parent_folder=folder_a)
        folder_c = temp_folder(prefix='folder_c_', parent_folder=folder_a)
        file_a = temp_file(parent_folder=folder_a, contents='abc')
        file_b = temp_file(parent_folder=folder_b, contents='abc')
        file_c = temp_file(parent_folder=folder_c, contents='abc')

        target_a = path_combine(folder_a, 'target_a')

        assert parent_folder(target_a) == folder_a
        assert parent_folder_combine(target_a, 'target_a') == target_a

        assert folder_copy(source=folder_a, destination=target_a) == target_a
        assert (len(folder_files(target_a)) == 3)

        assert folder_files(target_a) == sorted([
            path_append(target_a, remove(file_a, folder_a + '/')),
            path_append(target_a, remove(file_b, folder_a + '/')),
            path_append(target_a, remove(file_c, folder_a + '/'))
        ])

        # test with ignore_pattern
        target_b = path_combine(folder_a, 'target_b')
        assert folder_copy(source=target_a,
                           destination=target_b,
                           ignore_pattern='folder_b_*') == target_b
        assert (len(folder_files(target_b)) == 2)

        zipped_files = zip_files(target_a)
        assert zip_file_list(zipped_files) == sorted([
            remove(file_a, folder_a + '/'),
            remove(file_b, folder_a + '/'),
            remove(file_c, folder_a + '/')
        ])

        path_pattern = f'{folder_a}/**/*.*'
        assert len(file_find(path_pattern)) == 8
Esempio n. 8
0
    def key_pair_create_to_file(self, key_name, target_folder=None, tags=None):
        key_pair = self.key_pair_create(key_name=key_name, tags=tags)
        key_pair_id = key_pair.get('KeyPairId')
        key_pair_material = key_pair.get('KeyMaterial')

        if target_folder is None:
            target_folder = temp_folder()
        path_key_pair = path_combine(target_folder, key_name + ".pem")
        file_create(path_key_pair, key_pair_material)
        chmod(path_key_pair, 0o400)
        return {
            'path_key_pair': path_key_pair,
            'key_pair_id': key_pair_id,
            'key_pair': key_pair
        }
    def set_root_folder(self, root_folder=None):
        if folder_not_exists(
                root_folder
        ):  # use temp folder if no value is provided or folder doesn't exist
            root_folder = temp_folder()

        self.root_folder = root_folder
        self.hd1_location = path_combine(
            root_folder,
            DEFAULT_HD1_NAME)  # set default values for h1, h2 and hd3
        self.hd2_location = path_combine(root_folder, DEFAULT_HD2_NAME)
        self.hd3_location = path_combine(root_folder, DEFAULT_HD3_NAME)

        self.set_hd1_location(self.hd1_location)  # make sure folders exist
        self.set_hd2_location(self.hd2_location)
        self.set_hd3_location(self.hd3_location)
        return self
    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
    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
 def set_config_to_temp_folder(self):
     self.temp_root_folder = temp_folder()
     self.get_config().set_root_folder(root_folder=self.temp_root_folder)
Esempio n. 13
0
 async def test_user_data_dir(self):
     user_data_dir = temp_folder()
     self.chrome.chrome_args.args_set_user_data_dir(user_data_dir)
     await self.chrome.browser()
     assert self.chrome.chrome_setup.user_data_dir() == user_data_dir
 def setUpClass(cls) -> None:
     cls.new_folder = temp_folder()