annotate tests/unit/test_handler.py @ 0:cea9500dca25

first commit
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 14 Sep 2021 17:46:04 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 import json
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 import pytest
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
4
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5 from hello_world import app
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
7
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 @pytest.fixture()
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9 def apigw_event():
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10 """ Generates API GW Event"""
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 return {
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 "body": '{ "test": "body"}',
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 "resource": "/{proxy+}",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 "requestContext": {
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 "resourceId": "123456",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 "apiId": "1234567890",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 "resourcePath": "/{proxy+}",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 "httpMethod": "POST",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20 "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 "accountId": "123456789012",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 "identity": {
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
23 "apiKey": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
24 "userArn": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
25 "cognitoAuthenticationType": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
26 "caller": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
27 "userAgent": "Custom User Agent String",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
28 "user": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
29 "cognitoIdentityPoolId": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
30 "cognitoIdentityId": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31 "cognitoAuthenticationProvider": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
32 "sourceIp": "127.0.0.1",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
33 "accountId": "",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 },
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 "stage": "prod",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
36 },
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
37 "queryStringParameters": {"foo": "bar"},
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
38 "headers": {
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
39 "Via": "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
40 "Accept-Language": "en-US,en;q=0.8",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
41 "CloudFront-Is-Desktop-Viewer": "true",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
42 "CloudFront-Is-SmartTV-Viewer": "false",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
43 "CloudFront-Is-Mobile-Viewer": "false",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
44 "X-Forwarded-For": "127.0.0.1, 127.0.0.2",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
45 "CloudFront-Viewer-Country": "US",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
46 "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
47 "Upgrade-Insecure-Requests": "1",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
48 "X-Forwarded-Port": "443",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
49 "Host": "1234567890.execute-api.us-east-1.amazonaws.com",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
50 "X-Forwarded-Proto": "https",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
51 "X-Amz-Cf-Id": "aaaaaaaaaae3VYQb9jd-nvCd-de396Uhbp027Y2JvkCPNLmGJHqlaA==",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
52 "CloudFront-Is-Tablet-Viewer": "false",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
53 "Cache-Control": "max-age=0",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
54 "User-Agent": "Custom User Agent String",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
55 "CloudFront-Forwarded-Proto": "https",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
56 "Accept-Encoding": "gzip, deflate, sdch",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
57 },
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
58 "pathParameters": {"proxy": "/examplepath"},
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
59 "httpMethod": "POST",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
60 "stageVariables": {"baz": "qux"},
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
61 "path": "/examplepath",
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
62 }
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
63
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
64
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
65 def test_lambda_handler(apigw_event, mocker):
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
66
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
67 ret = app.lambda_handler(apigw_event, "")
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
68 data = json.loads(ret["body"])
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
69
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
70 assert ret["statusCode"] == 200
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
71 assert "message" in ret["body"]
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
72 assert data["message"] == "hello world"
cea9500dca25 first commit
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
73 # assert "location" in data.dict_keys()