def _upload_to_oss()

in iact3/testing/base.py [0:0]


    def _upload_to_oss(self, report_path: Path, index: str, file_names: list):
        bucket = self.oss_config.bucket_name
        region = self.oss_config.bucket_region
        if bucket and region:
            LOG.info(f'starting upload reports to oss bucket {bucket} '
                     f'which is in {region} region')
            oss_prefix = self.oss_config.object_prefix or f'{report_path.name}-{self.uid}'
            oss_prefix = f'{IAC_NAME}/{oss_prefix}'
            oss_plugin = OssPlugin(
                region_id=region, bucket_name=bucket, credential=self.auth.credential)

            for file_name in file_names:
                oss_plugin.put_local_file(f'{oss_prefix}/{file_name}', report_path / file_name)

            callback_config = self.oss_config.callback_params
            if callback_config.callback_url:
                callback_params = {
                    'callbackUrl': callback_config.callback_url,
                    'callbackHost': callback_config.callback_host,
                    'callbackBody': callback_config.callback_body,
                    'callbackBodyType': callback_config.callback_body_type,
                }
                callback_var_params = callback_config.callback_var_params
                oss_plugin.put_object_with_string(
                    f'{oss_prefix}/index.html', index, callback_params, callback_var_params)
            else:
                oss_plugin.put_object_with_string(f'{oss_prefix}/index.html', index)