def test_run_container_on_temp_cluster(self): subnet_id = ' subnet-49391932' security_group_id = 'sg-e6ea548e' cluster_name = Misc.random_string_and_numbers(6, 'temp_cluster_') task_name = 'temp_task_on_{0}'.format(cluster_name) task_role = 'task_role_{0}'.format(task_name) execution_role = 'execution_role_{0}'.format(task_name) docker_image_name = 'gs-docker-codebuild' log_group_name = "awslogs-{0}".format(task_name) log_group_region = "eu-west-2" log_group_stream_prefix = "awslogs-example" # Create Cluster self.fargate.cluster_create(cluster_name) # Create Roles self.fargate.policy_create_for_task_role(task_role) self.fargate.policy_create_for_execution_role(execution_role) #Create Task task_arn = self.fargate.task_create( task_name, task_role, execution_role).get('taskDefinitionArn') # Run Task task_run = self.fargate.task_run(cluster_name, task_arn, subnet_id, security_group_id) task_run_arn = task_run.get('taskArn') task_details = self.fargate.task_wait_for_completion( cluster_name, task_run_arn) task_id = 'asd' # Get logs #group_name = 'awslogs-temp_task_on_temp_cluster_X29B3K' #stream_name = 'awslogs-example/gs-docker-codebuild/f8ccf213-b642-466c-8458-86af9933eca9' stream_name = "{0}/{1}{2}".format(log_group_stream_prefix, docker_image_name, task_id) messages = self.cloud_watch.logs_get_messages(log_group_name, stream_name) # Print details Dev.pprint(messages)
def test_upload_image(self): channel = 'GBMGMK88Z' text = 'test uploading an image' file = '/tmp/slack-upload-test.png' dot = """digraph G { this [shape=box] cool [shape=diamond] nice [shape=cylinder] this -> is is -> really really -> cool really -> nice; }""" self.create_test_dot_png(dot, file) result = self.api.upload_png_file(channel, text, file) Dev.pprint(result)
def convert_pytest_data(self, pytest_data): #Dev.pprint(pytest_data) report = pytest_data.get('report') elk_data = [] Dev.pprint(report.get('created_at')) created_at = report.get('created_at') from datetime import datetime date = datetime.strptime( '2019-04-02 01:10:36.068552', '%Y-%m-%d %H:%M:%S.%f') #'2019-04-02 01:10:36.068552' date = datetime.now() pytest_session = { 'created_at': date.utcnow(), 'environment': report.get('environment'), 'summary': report.get('summary') } elk_data.append(pytest_session) return elk_data
def build_step__create_image(self, no_cache, show_log): params = ['build'] if no_cache: params.append('--no-cache') params += ['-t', 'sync-server', '.'] Dev.pprint(params) result = Process.run('docker', params, cwd=self.path_docker_folder) if show_log: Dev.pprint(result['stderr']) Dev.pprint(result['stdout']) return result
def test_task_details(self): task_id = '9400bb6b-f76f-4bce-b35d-5a4b15e79bfd' cluster = 'FargateCluster' tast_arn = 'arn:aws:ecs:eu-west-2:244560807427:task/{0}'.format( task_id) result = self.fargate.task_details(cluster, tast_arn) Dev.pprint(result) Dev.pprint(result.get('lastStatus')) Dev.pprint(result.get('containers'))
def _test_sqs_to_lamdba_to_sqs(self): queue_1 = Queue('unit_tests_temp_queue__1').create() queue_2 = Queue('unit_tests_temp_queue__2').create() lambda_obj = Lambda_Package( 'osbot_aws.lambdas.pocs.send_event_data_to_queue' ) #.update_with_root_folder() payload = {'queue_url': queue_2.url(), 'message': 'test 123'} #queue_1.attributes_update({'VisibilityTimeout': '61'}) # needs to be bigger than lambda timeout queue_1_arn = queue_1.attributes().get('QueueArn') function_arn = lambda_obj.aws_lambda.function_Arn() #Dev.pprint(lambda_obj.role_arn) # needed to add the extra priv to pull SQS messages #result = lambda_obj._lambda.boto_lambda().list_event_source_mappings(EventSourceArn=queue_1_arn) # result = lambda_obj._lambda.boto_lambda().create_event_source_mapping( # EventSourceArn=queue_1_arn, # FunctionName=function_arn, # Enabled=True, # BatchSize=1 # ) queue_1.push('some message 1') queue_1.push('some message 2') queue_1.push('some message 3') queue_1.push('some message 4') #lambda_obj.invoke(payload) sleep(2) Dev.pprint(queue_2.pull()) Dev.pprint(queue_2.pull()) Dev.pprint(queue_2.pull()) Dev.pprint(queue_2.pull()) queue_1.delete() queue_2.delete()
def test_open_file_in_browser__full_calendar(self): result = self.view_examples.open_file_in_browser('/full-calendar/test.html') Dev.pprint(result)
def test_open_file_in_browser__go_gs(self): result = self.view_examples.open_file_in_browser('/go-js/simple.html') Dev.pprint(result)
def test_send_API_GW_command(self): Dev.pprint(self.osbot.invoke(Test_Data.api_gw_payload_help))
def test_deploy_lambda__slack_message(self): result = self.deploy.deploy_lambda__slack_message() Dev.pprint(result)
def test_events(self): events = self.cloud_trail.events() result = self.send_to_elk(events, 'EventId') Dev.pprint(result)
def test_issue(self): payload = {"params": ['table', 'graph_MKF', 'issue']} png_data = self.lambda_browser.invoke(payload) Dev.pprint(png_data) self._save_png_file(png_data)
def test_handle_command__graph(self): result = self.api.handle_command({'text': '<@UDK5W7W3T> graph', 'channel': 'GBMGMK88Z', 'team_id':'T7F3AUXGV'}) Dev.pprint(result)
def test_handle_command(self): result = self.api.handle_command({'text': '<@UDK5W7W3T> hello'}) Dev.pprint(result)
def test_graph__view__node_label(self): graph_name = 'graph_DEQ' params = [graph_name, 'node_label', 'Labels'] result = self.browser_commands.graph(params=params) Dev.pprint(result) self._save_png_data(result)
def test_graph(self): graph_name = 'graph_XKW' params = [graph_name, 'default'] result = self.browser_commands.graph(params=params) Dev.pprint(result) self._save_png_data(result)
def test_table(self): params = ['issue', 'GSOS-181'] result = self.browser_commands.table(params=params) Dev.pprint(result)
def test_trigger_sync_sheet(self): file_id = '1_Bwz6z34wALFGb1ILUXG8CtF1-Km6F9_sGXnAu4gewY' command = 'sync_sheet' build_id = self.trigger_build.trigger_task('update_sheet', file_id, command) Dev.pprint(build_id)
def test_risks(self): #payload = {"params": ['render','gs/risk/risks-dashboard.html']} payload = {"params": ['risks', 'GSSP-115']} png_data = self.lambda_browser.invoke(payload) Dev.pprint(png_data) self._save_png_file(png_data)
def test_slack_message(self): result = slack_message('an message') Dev.pprint(result)
def tearDown(self): if self.result is not None: Dev.pprint(self.result) if self.png_data is not None: self._save_png_file(self.png_data)
def test_create_dashboard_with_test_data(self): result = self.risk_dashboard.create_dashboard_with_test_data() png_data = self.risk_dashboard.send_screenshot_to_slack() result = Browser_Lamdba_Helper().save_png_data(png_data) Dev.pprint(result)
def tearDown(self): if self.result is not None: Dev.pprint(self.result) assert self.participant.delete() is True
def test_create_dashboard_for_jira_key(self): jira_key = 'GSSP-118' result = self.risk_dashboard.create_dashboard_for_jira_key(jira_key) result = self.risk_dashboard.send_screenshot_to_slack(None, None) Dev.pprint(result)
def test_task_delete(self): tasks = self.fargate.tasks() for task in tasks: if 'family_created_via' in task: Dev.pprint('deleting task: {0}'.format(task)) self.fargate.task_delete(task)
def test_open_file_in_browser__markdown(self): result = self.view_examples.open_file_in_browser('/examples/markdown.html') Dev.pprint(result)
def test_tasks(self): result = self.fargate.tasks() Dev.pprint(result) assert len(result) > 1 assert ':task-definition/' in result[0]
def test_open_file_in_browser__r1_and_r2(self): result = self.view_examples.open_file_in_browser('/gs/risk/r1-and-r2.html') Dev.pprint(result)
def tearDown(self): if self.result is not None: Dev.pprint(self.result)
def test_open_file_in_browser__vivagraph(self): result = self.view_examples.open_file_in_browser('/vivagraph/first-test.html') Dev.pprint(result)