def test__using_with_valid_zip_and_target_folder(self): test_zip = parent_folder(__file__) target_folder = '/tmp/unzip_test' with Zip_Folder(test_zip) as (zip_file): with Unzip_File(zip_file, target_folder, True) as temp_folder: assert Files.exists(temp_folder) is True assert Files.exists(temp_folder) is False
def test__using_with__no_params(self): with Temp_File() as temp: assert Files.file_extension(temp.file_path) == '.tmp' assert Files.exists(temp.file_path) assert Files.contents(temp.file_path) == '...' assert Files.not_exists(temp.file_path) with Temp_File('abc', 'txt') as temp: assert Files.file_extension(temp.file_path) == '.txt' assert Files.exists(temp.file_path) assert Files.contents(temp.file_path) == 'abc' assert Files.not_exists(temp.file_path)
def test_screenshot(self): #target = 'work/with-slider' target = 'work/test-1' (self.jp.login().open_notebook(target).ui_hide_input_boxes() #.browser_width(1200) .screenshot()) assert Files.exists(self.jp.tmp_screenshot)
def test_render__with_clip_params(self): #params = ['/examples/bootstrap-cdn.html' ,0 ,0 ,500 ,50 ] params = ['examples/wardley_map/cup-of-tea.html', 250, 50, 600, 200] png_data = self.browser_commands.render(None, None, params) Files.delete(self.png_file) self._save_png_data(png_data) assert Files.exists(self.png_file)
def test_screenshot_file(self): with Temp_File(self.html, 'html') as temp_file: clip = {'x': 1, 'y': 1, 'width': 180, 'height': 30} img_file = self.render_page.screenshot_file(temp_file.file_path, self.tmp_img, clip=clip) assert Files.exists(img_file)
def use_lambda_file(self,lambda_file): file_path = Files.path_combine(self.get_root_folder(), lambda_file) if Files.exists(file_path) is False: return { 'status': 'error', 'data': 'could not find lambda file `{0}` in root folder `{1}`'.format(lambda_file, self.get_root_folder())} target_file = Files.path_combine(self.tmp_folder, '{0}.py'.format(self.lambda_name)) Files.copy(file_path,target_file) return { 'status': 'ok', 'file_path': file_path, 'target_file': target_file }
def test_render(self): params = ['examples/wardley_map/cup-of-tea.html'] png_data = self.browser_commands.render(None, None, params) Files.delete(self.png_file) self._save_png_data(png_data) assert Files.exists(self.png_file)
def create_temp_file(self, new_code=None): self.folder = Files.temp_folder('tmp_lambda_') if new_code: self.lambda_code = new_code self.tmp_file = Files.path_combine(self.folder, '{0}.py'.format(self.file_name)) Files.write(self.tmp_file, self.lambda_code) assert Files.exists(self.tmp_file) return self
def create_metadata(self): default_metadata = { 'Issue Type': self.name, 'Key Id': self.file_system.safe_string(self.name), 'Next Key': 1 } path_metadata = self.path_metadata() Json.save_file_pretty(path_metadata, default_metadata) return Files.exists(path_metadata)
def test_add_file(self): lambda_file = Files.path_combine( __file__, '../../../../osbot_aws/lambdas/dev/hello_world.py') assert Files.exists(lambda_file) self.package.add_file(lambda_file) assert self.package.get_files() == ['/hello_world.py'] self.package.aws_lambda.handler = 'hello_world.run' self.package.update() assert self.package.invoke() == 'From lambda code, hello None'
def test__init__(self): temp_file = Temp_File() assert Files.exists(temp_file.tmp_folder) assert Files.not_exists(temp_file.tmp_file) assert Files.not_exists(temp_file.file_path) assert temp_file.tmp_folder in temp_file.file_path assert '/' == temp_file.file_path.replace(temp_file.tmp_folder, '').replace( temp_file.tmp_file, '')
def test_screenshot_url(self): #url = 'https://github.com/GoogleChrome/puppeteer' #url = 'https://www.google.co.uk' #url = 'http://visjs.org/examples/network/other/manipulation.html' #url = 'http://visjs.org/examples/graph3d/01_basics.html' url = 'https://getbootstrap.com/docs/4.3/examples/dashboard/' tmp_img = '/tmp/test_screenshot_html.png' Files.delete(tmp_img) self.render_page.screenshot_url(url, tmp_img) assert Files.exists(tmp_img)
def issue_add(self, data): metadata = self.metadata() issue_key = "{0}-{1}".format(metadata.get('Key Id'), metadata.get('Next Key')) issue_path = self.path_issue(issue_key) metadata['Next Key'] += 1 data['Key'] = issue_key data['Issue Type'] = self.name Json.save_file_pretty(issue_path, data) Json.save_file_pretty(self.path_metadata(), metadata) if Files.exists(issue_path): return { 'status': 'ok', 'data': 'Issue added ok', 'issue_key': issue_key } return {'status': 'error', 'data': 'Issue not saved ok'}
def load_dependency(target): if os.getenv('AWS_REGION') is None: return from osbot_aws.apis.S3 import S3 import shutil import sys s3 = S3() s3_bucket = AWS_Config().lambda_s3_bucket() s3_key = 'lambdas-dependencies/{0}.zip'.format(target) tmp_dir = Files.path_combine('/tmp/lambdas-dependencies', target) #return s3.file_exists(s3_bucket,s3_key) if s3.file_exists(s3_bucket,s3_key) is False: raise Exception("In Lambda load_dependency, could not find dependency for: {0}".format(target)) if file_not_exists(tmp_dir): # download dependency zip_file = s3.file_download(s3_bucket, s3_key,False) # download zip file with dependencies shutil.unpack_archive(zip_file, extract_dir = tmp_dir) # unpack them if tmp_dir not in sys.path: # if not currently in the path sys.path.append(tmp_dir) # add tmp_dir to the path that python uses to check for dependencies return Files.exists(tmp_dir)
def __exit__(self, type, value, traceback): if Files.exists(self.zip_file) and self.delete_zip_file: Files.delete(self.zip_file)
def test__init__(self): assert Files.exists(self.indexes_build.file_system.folder_root)
def test_screenshot_folder(self): web_root = Files.current_folder() clip = {'x': 1, 'y': 1, 'width': 280, 'height': 200} Files.delete(self.tmp_img) self.render_page.screenshot_folder(web_root, self.tmp_img, clip) assert Files.exists(self.tmp_img)
async def test_pdf(self): # note: only works when headless = True . See https://github.com/puppeteer/puppeteer/issues/1829#issuecomment-657930419 await self.api.open('https://news.bbc.co.uk') file_pdf = await self.api.pdf() assert Files.exists(file_pdf) exec_open(file_pdf)
async def test_screenshot(self): await self.api.open('https://news.bbc.co.uk') file_jpg = await self.api.screenshot() assert Files.exists(file_jpg)
def test_exists(self): assert Files.exists(Files.current_folder()) is True assert Files.exists('aaaa_bbb_ccc') is False assert Files.exists(None) is False
def __exit__(self, type, value, traceback): if Files.exists(self.target_folder) and self.delete_target_folder: Files.folder_delete_all(self.target_folder) print("\n\ndeleting", self.target_folder)
def __enter__(self): if Files.exists(self.zip_file): if self.target_folder is None: self.target_folder = Files.temp_folder("unzipped_") return Files.unzip_file(self.zip_file, self.target_folder) return None
def test__using_with_valid_zip_no_target_folder(self): test_zip = parent_folder(__file__) with Zip_Folder(test_zip) as (zip_file): with Unzip_File(zip_file, None, True) as temp_folder: assert Files.exists(temp_folder) is True assert Files.exists(temp_folder) is False
def all(self): path = self.path_links() if Files.exists(path): return Json.load_file(path) return []
def issue_get(self, issue_key): issue_path = self.path_issue(issue_key) if Files.exists(issue_path): return Json.load_file(issue_path)
def test_screenshot_html(self): img_file = self.render_page.screenshot_html(self.html, self.tmp_img) assert Files.exists(img_file)
def test_temp_folder(self): assert Files.exists(Files.temp_folder()) assert 'aa_' in Files.temp_folder('_bb', 'aa_', '/tmp')
def test_file_path(self): assert Files.exists(self.demo_data.file_path(self.file_name))
def __enter__(self): if Files.exists(self.target_folder): self.zip_file = Files.zip_folder(self.target_folder) return self.zip_file
def test__using_with_params(self): target_folder = parent_folder(__file__) with Zip_Folder(target_folder) as (zip_file): assert Files.exists(zip_file) is True assert Files.exists(zip_file) is False