def handle()

in codes/lambda/api-testing-tester/src/handler.py [0:0]


def handle(event, context):
    logger.info('handler is triggered: start-test, event={}'.format(event))
    logger.info('Records count: {}'.format(len(event['Records'])))
    
    profile_name = os.environ.get('PROFILE_NAME', None)
    project_name = os.environ.get('PROJECT_NAME', 'project_name_empty')
    project_stage = os.environ.get('PROJECT_STAGE', 'project_stage_empty')
    api_endpoint = os.environ.get('API_ENDPOINT', 'api_endpoint_empty')
    
    logger.info('project_name: {}'.format(project_name))
    logger.info('project_stage: {}'.format(project_stage))
    logger.info('api_endpoint: {}'.format(api_endpoint))

    

    for record in event['Records']:
        message = json.loads(record['Sns']['Message'])
        interval_in_sec = int(message['Config']['IntervalInSec'])
        duration_in_sec = int(message['Config']['DurationInSec'])
        logger.info('handler start one-record, message={}'.format(message))

        api_gateway_tester = tester.HttpRequestTester(
            TestName='ApiGateway',
            ProfileName=profile_name,
            ProjectName=project_name,
            ProjectStage=project_stage,
            Endpoint=api_endpoint,
            ApiKey=None,
            Interval=interval_in_sec,
            Duration=duration_in_sec
            )
        api_gateway_tester.start_loop(message['TestData'])

        logger.info('handler finish one record: test-timeout duration_in_sec-{}'.format(duration_in_sec))