Best Python code snippet using localstack_python
rules_helper.py
Source:rules_helper.py
...9 return 'requestParameters' in path_verb['x-amazon-apigateway-integration']10def get_path_verbs(spec, path):11 verbs = spec['paths'][path].keys()12 return map(lambda x: x.lower(), verbs)13def get_apigateway_integration(spec, path, verb):14 return spec['paths'][path][verb]['x-amazon-apigateway-integration']15def path_contains_verb(spec, path, verb):16 return verb in spec['paths'][path]17def get_path_headers(spec, path):18 verbs = spec['paths'][path].keys()19 header_parameters = []20 for verb in verbs:21 if 'parameters' not in spec['paths'][path][verb]:22 continue23 parameters = filter(lambda p: p['in'] == 'header', spec['paths'][path][verb]['parameters'])24 parameters = map(lambda p: p['name'], parameters)25 header_parameters += parameters26 return header_parameters27def integration_response_contains_parameters(spec, path, verb, response, parameters):28 response_params = get_apigateway_integration(spec, path, verb)['responses'][response]['responseParameters']29 return parameters in response_params30def get_integration_response_parameters(spec, path, verb, response):31 return get_apigateway_integration(spec, path, verb)['responses'][response]['responseParameters']32def get_integration_verb(spec, path, verb):33 return get_apigateway_integration(spec, path, verb)['httpMethod']34def authorizer_referenced_in_request_params(spec, path, verb) -> bool:35 request_params = get_apigateway_integration(spec, path, verb)['requestParameters']36 for request_param in request_params.values():37 if request_param.startswith('context.authorizer'):38 return True39 return False40def has_security_components(spec, path, verb):41 has_security = 'security' in spec['paths'][path][verb]...
apigateway.py
Source:apigateway.py
1import json2import pulumi_aws as aws3import yaml4swagger_dict = yaml.safe_load(open("./api/openapi.yml").read())5def get_apigateway_integration(lambda_uri):6 return {7 "uri": lambda_uri,8 "passthroughBehavior": "when_no_match",9 "httpMethod": "POST",10 "type": "aws_proxy",11 }12def create_api_permission(lambda_name):13 aws.lambda_.Permission(14 f"{lambda_name}-permission",15 action="lambda:InvokeFunction",16 function=lambda_name,17 principal="apigateway.amazonaws.com",18 source_arn=api.execution_arn.apply(lambda arn: f"{arn}/*/*/*"),19 )20lambda_get_users = aws.lambda_.get_function("lambda_get_users")21lambda_create_user = aws.lambda_.get_function("lambda_create_user")22lambda_get_user = aws.lambda_.get_function("lambda_get_user")23lambda_delete_user = aws.lambda_.get_function("lambda_delete_user")24swagger_dict["paths"]["/users"]["get"][25 "x-amazon-apigateway-integration"26] = get_apigateway_integration(lambda_get_users.invoke_arn)27swagger_dict["paths"]["/users"]["post"][28 "x-amazon-apigateway-integration"29] = get_apigateway_integration(lambda_create_user.invoke_arn)30swagger_dict["paths"]["/users/{user_id}"]["get"][31 "x-amazon-apigateway-integration"32] = get_apigateway_integration(lambda_get_user.invoke_arn)33swagger_dict["paths"]["/users/{user_id}"]["delete"][34 "x-amazon-apigateway-integration"35] = get_apigateway_integration(lambda_delete_user.invoke_arn)36api = aws.apigateway.RestApi(37 "test-api",38 name="test-api",39 policy=json.dumps(40 {41 "Version": "2012-10-17",42 "Statement": [43 {44 "Effect": "Allow",45 "Principal": "*",46 "Action": "execute-api:Invoke",47 "Resource": ["*"],48 }49 ],...
IntegrationBaseUriRule.py
Source:IntegrationBaseUriRule.py
...10 for path in spec['paths']:11 for path_verb in get_path_verbs(spec, path):12 if path_verb == 'options':13 continue14 integration = get_apigateway_integration(spec, path, path_verb)15 integration_uri = integration['uri']16 if not integration_uri.startswith(self.base_uri):17 violations.append(RuleViolation('integration_base_uri',18 message='Base URI "{}" not present at the beginning of URI "{}"'19 .format(self.base_uri, integration_uri),20 path=path))...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!