class test_screenshot_from_codebuild(TestCase): def setUp(self): self.code_build = CodeBuild_Jupyter() self.jp = Jupyter() self.png_data = None def tearDown(self): if self.png_data: png_file = '/tmp/lambda_png_file.png' with open(png_file, "wb") as fh: fh.write(base64.decodebytes(self.png_data.encode())) Dev.pprint("Png data with size {0} saved to {1}".format( len(self.png_data), png_file)) def test_get_screenshot_using_local_chrome(self): url, token = self.code_build.get_server_details_from_logs() self.jp.set_url(url).set_token(token) self.jp.login() #self.jp.open('aaa') self.png_file = self.jp.screenshot() Dev.pprint(self.png_file) def test_get_screenshot_using_lambda(self): self.aws_lambda = Lambda_Package( 'osbot_jupyter.lambdas.jupyter_server') url, token = self.code_build.get_server_details_from_logs() #print(url,token) #return notebook = 'test-1' payload = {'url': url, 'token': token, 'notebook': notebook} self.png_data = self.aws_lambda.invoke(payload)
def get_active_server_details(self): build_id = self.get_active_build_id() if build_id is None: return None #self.start_build_and_wait_for_jupyter_load() #build_id = self.get_active_build_id() code_build = CodeBuild_Jupyter(build_id) return code_build.get_server_details_from_logs()
class test_CodeBuild_Jupyter(Test_Helper): def setUp(self): super().setUp() self.result = None self.build_id = 'OSBot-Jupyter:baea0626-3ad2-4e47-a41e-ff82ce5865ad' self.api = CodeBuild_Jupyter(build_id = self.build_id) def tearDown(self): if self.result: Dev.pprint(self.result) def test_start_new_build(self): self.build_id = CodeBuild_Jupyter_Helper().start_build_and_wait_for_jupyter_load().build_id print(self.build_id) self.api = CodeBuild_Jupyter(build_id=self.build_id) self.result = self.api.url() def test_build_info(self): self.result = self.api.build_info() def test_build_status__build_phase(self): assert self.api.build_status() == 'IN_PROGRESS' assert self.api.build_phase() == 'BUILD' def test_build_log_messages(self): messages = self.api.build_log_messages() assert 'Waiting for agent ping' in messages.pop(0) def test_get_server_details_from_logs(self): self.result = self.api.get_server_details_from_logs() def test_build_stop(self): assert self.api.build_stop() == 'STOPPED' def test_url(self): self.result = self.api.url()