예제 #1
0
    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)
예제 #2
0
    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
예제 #5
0
    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'))
예제 #6
0
    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()
예제 #7
0
 def test_open_file_in_browser__full_calendar(self):
     result = self.view_examples.open_file_in_browser('/full-calendar/test.html')
     Dev.pprint(result)
예제 #8
0
 def test_open_file_in_browser__go_gs(self):
     result = self.view_examples.open_file_in_browser('/go-js/simple.html')
     Dev.pprint(result)
예제 #9
0
 def test_send_API_GW_command(self):
     Dev.pprint(self.osbot.invoke(Test_Data.api_gw_payload_help))
예제 #10
0
 def test_deploy_lambda__slack_message(self):
     result = self.deploy.deploy_lambda__slack_message()
     Dev.pprint(result)
예제 #11
0
 def test_events(self):
     events = self.cloud_trail.events()
     result = self.send_to_elk(events, 'EventId')
     Dev.pprint(result)
예제 #12
0
 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)
예제 #13
0
    def test_handle_command__graph(self):

        result = self.api.handle_command({'text': '<@UDK5W7W3T> graph', 'channel': 'GBMGMK88Z', 'team_id':'T7F3AUXGV'})
        Dev.pprint(result)
예제 #14
0
 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)
예제 #18
0
 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)
예제 #19
0
 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)
예제 #20
0
 def test_slack_message(self):
     result = slack_message('an message')
     Dev.pprint(result)
예제 #21
0
 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)
예제 #22
0
 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
예제 #24
0
 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)
예제 #25
0
 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)
예제 #26
0
 def test_open_file_in_browser__markdown(self):
     result = self.view_examples.open_file_in_browser('/examples/markdown.html')
     Dev.pprint(result)
예제 #27
0
 def test_tasks(self):
     result = self.fargate.tasks()
     Dev.pprint(result)
     assert len(result) > 1
     assert ':task-definition/' in result[0]
예제 #28
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)
예제 #30
0
 def test_open_file_in_browser__vivagraph(self):
     result = self.view_examples.open_file_in_browser('/vivagraph/first-test.html')
     Dev.pprint(result)