def setUp(self): """Runs before each test.""" App(prefix='{0}-'.format(self._testMethodName), db_connection_string='sqlite:///:memory:') App.cdn_s3_handler().create_bucket() App.pre_convert_s3_handler().create_bucket() App.cdn_s3_handler().upload_file = self.mock_cdn_upload_file App.cdn_s3_handler().get_json = self.mock_cdn_get_json App.pre_convert_s3_handler().upload_file = self.mock_s3_upload_file try: os.makedirs(ClientWebhookTest.base_temp_dir) except: pass self.temp_dir = tempfile.mkdtemp(dir=self.base_temp_dir, prefix='webhookTest_') self.job_converter_count = 0 self.job_linter_count = 0 self.uploaded_files = [] self.job_data = { 'job_id': '123456890', 'status': 'started', 'success': False, 'resource_type': 'obs', 'input_format': 'md', 'output_format': 'html', 'convert_module': 'module1', 'created_at': datetime.utcnow(), 'errors': [] } self.register_modules()
def setUp(self): """Runs before each test.""" App(prefix='{0}-'.format(self._testMethodName), db_connection_string='sqlite:///:memory:') App.cdn_s3_handler().create_bucket() App.pre_convert_s3_handler().create_bucket() App.cdn_s3_handler().upload_file = self.mock_cdn_upload_file App.cdn_s3_handler().get_json = self.mock_cdn_get_json App.pre_convert_s3_handler().upload_file = self.mock_s3_upload_file try: os.makedirs(ClientWebhookTest.base_temp_dir) except: pass self.temp_dir = tempfile.mkdtemp(dir=self.base_temp_dir, prefix='webhookTest_') self.job_converter_count = 0 self.job_linter_count = 0 self.uploaded_files = [] self.job_data = { 'job_id': '123456890', 'status': 'started', 'success': False, 'resource_type': 'obs', 'input_format': 'md', 'output_format': 'html', 'convert_module': 'module1', 'created_at': datetime.utcnow(), 'errors': [] } self.register_modules()
def delete_preconvert_zip_file(self, commit_sha): self.preconvert_handler = App.pre_convert_s3_handler() preconvert_key = self.get_preconvert_s3_key(commit_sha) if App.pre_convert_s3_handler().key_exists(preconvert_key): App.logger.debug("deleting preconvert file: " + preconvert_key) App.pre_convert_s3_handler().delete_file(preconvert_key, catch_exception=True)
def upload_zip_file(self, commit_id, zip_filepath): file_key = 'preconvert/{0}.zip'.format(commit_id) App.logger.debug('Uploading {0} to {1}/{2}...'.format(zip_filepath, App.pre_convert_bucket, file_key)) try: App.pre_convert_s3_handler().upload_file(zip_filepath, file_key, cache_time=0) except Exception as e: App.logger.error('Failed to upload zipped repo up to server') App.logger.exception(e) finally: App.logger.debug('finished.') return file_key
def upload_zip_file(self, commit_id, zip_filepath): file_key = 'preconvert/{0}.zip'.format(commit_id) App.logger.debug('Uploading {0} to {1}/{2}...'.format(zip_filepath, App.pre_convert_bucket, file_key)) try: App.pre_convert_s3_handler().upload_file(zip_filepath, file_key, cache_time=0) except Exception as e: App.logger.error('Failed to upload zipped repo up to server') App.logger.exception(e) finally: App.logger.debug('finished.') return file_key
def check_download(self, commit_id): if not commit_id: commit_id = '' App.logger.debug("Start: check for download: " + commit_id) response = { # default to error 'ErrorMessage': DownloadMetrics.ACCESS_FAILED_ERROR + commit_id } if not commit_id: App.logger.warning("Invalid commit: " + commit_id) return response key = 'preconvert/{0}.zip'.format(commit_id) try: download_exists = App.pre_convert_s3_handler().key_exists(key) except Exception as e: App.logger.error("Access failure for '" + key + "': " + str(e)) return response del response['ErrorMessage'] App.logger.debug("Download exists for '" + key + "': " + str(download_exists)) response['download_exists'] = download_exists return response
def test_check_present_download(self): # given commit_id = '39a099622d' key = 'preconvert/' + commit_id + '.zip' App.pre_convert_s3_handler().put_contents(key, "dummy") exists = App.pre_convert_s3_handler().key_exists(key) self.callback = 'callback' event = {'data': {'commit_id': commit_id, 'callback': self.callback}} self.expected_download_exists = True self.error_response = None handler = CheckDownloadHandler() # when results = handler.handle(event, None) # then self.validate_results(results)
def test_check_present_download(self): # given commit_id = '39a099622d' key = 'preconvert/' + commit_id + '.zip' App.pre_convert_s3_handler().put_contents(key, "dummy") exists = App.pre_convert_s3_handler().key_exists(key) self.callback = 'callback' event = { 'data': { 'commit_id': commit_id, 'callback': self.callback } } self.expected_download_exists = True self.error_response = None handler = CheckDownloadHandler() # when results = handler.handle(event, None) # then self.validate_results(results)
def mock_cdn_upload_file(self, project_file, s3_key, cache_time=0): bucket_name = App.pre_convert_s3_handler().bucket.name return self.upload_file(bucket_name, project_file, s3_key)
def setUp(self): """Runs before each test.""" App(prefix='{0}-'.format(self._testMethodName), db_connection_string='sqlite:///:memory:') App.pre_convert_s3_handler().create_bucket()
def mock_cdn_upload_file(self, project_file, s3_key, cache_time=0): bucket_name = App.pre_convert_s3_handler().bucket.name return self.upload_file(bucket_name, project_file, s3_key)
def setUp(self): """Runs before each test.""" App(prefix='{0}-'.format(self._testMethodName), db_connection_string='sqlite:///:memory:') App.pre_convert_s3_handler().create_bucket()
def delete_preconvert_zip_file(self, commit_sha): self.preconvert_handler = App.pre_convert_s3_handler() preconvert_key = self.get_preconvert_s3_key(commit_sha) if App.pre_convert_s3_handler().key_exists(preconvert_key): App.logger.debug("deleting preconvert file: " + preconvert_key) App.pre_convert_s3_handler().delete_file(preconvert_key, catch_exception=True)