From 7fb5ffb1b2e51b33ac3057b7b8411cf04cf88029 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Mon, 4 Aug 2025 14:57:56 +0000 Subject: [PATCH] Adding additional api gateway local pytest --- python-test-samples/README.md | 1 + .../README.md | 408 ++++++++++++ .../events/lambda-create-event.json | 3 + .../events/lambda-delete-event.json | 3 + .../events/lambda-init-event.json | 5 + .../events/lambda-read-event.json | 3 + .../events/lambda-update-event.json | 3 + .../img/apigateway-crud-lambda-dynamodb.png | Bin 0 -> 70913 bytes .../lambda_crud_create_src/app.py | 22 + .../lambda_crud_delete_src/app.py | 27 + .../lambda_crud_init_src/app.py | 52 ++ .../lambda_crud_read_src/app.py | 46 ++ .../lambda_crud_update_src/app.py | 55 ++ .../template.yaml | 131 ++++ .../tests/requirements.txt | 20 + .../tests/unit/src/test_crud_operations.py | 596 ++++++++++++++++++ 16 files changed, 1375 insertions(+) create mode 100644 python-test-samples/apigw-lambda-dynamodb-crud-local/README.md create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-create-event.json create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-delete-event.json create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-init-event.json create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-read-event.json create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-update-event.json create mode 100644 python-test-samples/apigw-lambda-dynamodb-crud-local/img/apigateway-crud-lambda-dynamodb.png create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/lambda_crud_src/lambda_crud_create_src/app.py create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/lambda_crud_src/lambda_crud_delete_src/app.py create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/lambda_crud_src/lambda_crud_init_src/app.py create mode 100644 python-test-samples/apigw-lambda-dynamodb-crud-local/lambda_crud_src/lambda_crud_read_src/app.py create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/lambda_crud_src/lambda_crud_update_src/app.py create mode 100755 python-test-samples/apigw-lambda-dynamodb-crud-local/template.yaml create mode 100644 python-test-samples/apigw-lambda-dynamodb-crud-local/tests/requirements.txt create mode 100644 python-test-samples/apigw-lambda-dynamodb-crud-local/tests/unit/src/test_crud_operations.py diff --git a/python-test-samples/README.md b/python-test-samples/README.md index e25b76f2..04344bfc 100644 --- a/python-test-samples/README.md +++ b/python-test-samples/README.md @@ -12,6 +12,7 @@ This portion of the repository contains code samples for testing serverless appl |[Lambda local testing with Mocks](./lambda-mock)|This project contains unit tests for Lambda using mocks.| |[Lambda Layers with Mocks](./apigw-lambda-layer)|This project contains unit tests for Lambda layers using mocks.| |[API Gateway with Lambda and DynamoDB](./apigw-lambda-dynamodb)|This project contains unit and integration tests for a pattern using API Gateway, AWS Lambda and Amazon DynamoDB.| +|[API Gateway with local Lambda and local DynamoDB](./apigw-lambda-dynamodb-crud-local)|This project contains unit test for local execution CRUD paterns using API Gateway, AWS Lambda and Amazon DynamoDB.| |[Schema and Contract Testing](./schema-and-contract-testing)|This project contains sample schema and contract tests for an event driven architecture.| |[Kinesis with Lambda and DynamoDB](./kinesis-lambda-dynamodb)|This project contains a example of testing an application with an Amazon Kinesis Data Stream.| |[SQS with Lambda](./apigw-sqs-lambda-sqs)|This project demonstrates testing SQS as a source and destination in an integration test| diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/README.md b/python-test-samples/apigw-lambda-dynamodb-crud-local/README.md new file mode 100644 index 00000000..ec8b30a0 --- /dev/null +++ b/python-test-samples/apigw-lambda-dynamodb-crud-local/README.md @@ -0,0 +1,408 @@ +[![python: 3.10](https://img.shields.io/badge/Python-3.10-green)](https://img.shields.io/badge/Python-3.10-green) +[![AWS: DynamoDB](https://img.shields.io/badge/AWS-DynamoDB-blueviolet)](https://img.shields.io/badge/AWS-DynamoDB-blueviolet) +[![AWS: Lambda](https://img.shields.io/badge/AWS-Lambda-orange)](https://img.shields.io/badge/AWS-Lambda-orange) +[![AWS: API Gateway](https://img.shields.io/badge/AWS-API%20Gateway-blue)](https://img.shields.io/badge/AWS-API%20Gateway-blue) +[![test: pytest](https://img.shields.io/badge/Test-Pytest-red)](https://img.shields.io/badge/Test-Pytest-red) +[![test: local](https://img.shields.io/badge/Test-Local-red)](https://img.shields.io/badge/Test-Local-red) + +# Local: AWS API Gateway, Lambda, and DynamoDB Integration Testing + +## Introduction + +This project demonstrates how to test AWS serverless applications locally on Docker using PyTest. It implements comprehensive testing for a CRUD API built with API Gateway, Lambda, and DynamoDB, showcasing integration testing patterns and local service emulation, all tested through SAM Emulation and PyTest. + +--- + +## Contents +- [Local: AWS API Gateway, Lambda, and DynamoDB Integration Testing](#local-aws-api-gateway-lambda-and-dynamodb-integration-testing) + - [Introduction](#introduction) + - [Contents](#contents) + - [Architecture Overview](#architecture-overview) + - [Project Structure](#project-structure) + - [Prerequisites](#prerequisites) + - [Test Scenarios](#test-scenarios) + - [About the Test Process](#about-the-test-process) + - [API Endpoints](#api-endpoints) + - [Testing Workflows](#testing-workflows) + - [Common Issues](#common-issues) + - [Additional Resources](#additional-resources) + +--- + +## Architecture Overview +

+ API Gateway CRUD Architecture +

+ +Components: +- API Gateway endpoints for CRUD operations +- Lambda functions for business logic +- DynamoDB table for data persistence +- PyTest framework for automated testing +- Docker containers for local service emulation + +--- + +## Project Structure +``` +├── events _# folder containing json files for API Gateway CRUD input events_ +├── img/apigateway-crud-lambda-dynamodb.png _# Architecture diagram_ +├── lambda_crud_src _# folder containing code for different CRUD Lambda functions_ +├── tests/ +│ ├── unit/src/test_crud_operations.py _# python PyTest test definition_ +│ └── requirements.txt _# pip requirements dependencies file_ +├── template.yaml _# sam yaml template file for necessary components test_ +└── README.md _# instructions file_ +``` + +--- + +## Prerequisites +- Docker +- Python 3.9 or newer (running pytest) +- AWS SAM CLI (running SAM Lambda emulator) +- curl (for debugging) +- Basic understanding of API Gateway, Lambda Functions and DynamoDB + +--- + +## Test Scenarios + +### 1. CRUD Operations +- Tests complete Create, Read, Update, Delete cycle +- Validates response structures and status codes +- Verifies data persistence in DynamoDB + +### 2. Error Handling +- Tests invalid inputs +- Verifies error responses +- Validates error handling middleware + +### 3. Integration Flow +- Tests end-to-end request processing +- Validates service integration points +- Verifies transaction consistency + +--- + +## About the Test Process + +The test process leverages PyTest fixtures to manage service lifecycles: + +1. **Service Setup**: + - Launches DynamoDB Local container + - Starts SAM Local API Gateway Emulator + - Initializes test database + +2. **Test Execution**: + - Runs CRUD operation tests + - Validates responses and data + - Verifies error scenarios + +3. **Cleanup**: + - Removes test data + - Stops containers + - Cleans up resources + +--- + +## API Endpoints + +| Endpoint | Method | Description | +|----------|--------|-------------| +| /init | GET | Creates DynamoDB CRUDLocalTable table | +| /create | POST | Creates new item | +| /read | GET | Retrieves an item | +| /update | POST | Updates existing item | +| /delete | GET | Deletes an item | + +--- + +## Testing Workflows + +### Setup Docker Environment + +> Make sure docker engine is running before running the tests. + +``` shell +apigw-lambda-dynamodb-crud-local$ docker version +Client: Docker Engine - Community + Version: 24.0.6 + API version: 1.43 +``` + +### Run the Unit Test - End to end python test + +> Configure environment variables: + +``` shell +apigw-lambda-dynamodb-crud-local$ +export AWS_ACCESS_KEY_ID='DUMMYIDEXAMPLE' +export AWS_SECRET_ACCESS_KEY='DUMMYEXAMPLEKEY' +export AWS_REGION='us-east-1' +``` + +> Start the DynamoDB Container and SAM Local Lambda emulator in a separate terminal: + +```shell +# Start DynamoDB Local +docker run --rm -d -p 8000:8000 --name dynamodb-local amazon/dynamodb-local + +# Start SAM Local API Gateway emulator: +sam local start-api --docker-network host & +``` + +> Set up the python environment: + +``` shell +apigw-lambda-dynamodb-crud-local$ +python3 -m venv venv +source venv/bin/activate +pip install --upgrade pip +pip install -r tests/requirements.txt +``` + +#### Run the Unit Tests + +``` shell +apigw-lambda-dynamodb-crud-local$ +python3 -m pytest -s tests/unit/src/test_crud_operations.py +``` + +Expected output +``` shell +apigw-lambda-dynamodb-crud-local$ +python3 -m pytest -s tests/unit/src/test_crud_operations.py +================================================================= test session starts ================================================================== +platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.6.0 +rootdir: /home/ubuntu/environment/python-test-samples/apigw-lambda-dynamodb-crud-local +plugins: timeout-2.1.0 +collected 10 items + +tests/unit/src/test_crud_operations.py DynamoDB Local is already running +SAM Local API Gateway is running and responding +=== Step 1: Initialize DynamoDB Table === +✓ Table already exists (expected): 500 +Response: Error creating table: An error occurred (ResourceInUseException) when calling the CreateTable operation: Cannot create preexisting table + +.=== Step 2: Create Initial Item === +✓ Item creation successful: 200 +Created item: {'Id': '123', 'name': 'Batman'} +Response: {"message": "Item added", "response": {"ResponseMetadata": {"RequestId": "eaf2a56a-0c8e-4d3a-833a-1e33dd171fc2", "HTTPStatusCode": 200, "HTTPHeaders": {"server": "Jetty(12.0.14)", "date": "Mon, 04 Aug 2025 13:11:58 GMT", "x-amzn-requestid": "eaf2a56a-0c8e-4d3a-833a-1e33dd171fc2", "content-type": "application/x-amz-json-1.0", "x-amz-crc32": "2745614147", "content-length": "2"}, "RetryAttempts": 0}}} + +.=== Step 3: Read Item === +✓ Item read successful: Id=123, name=Batman +Response: {"name": "Batman", "Id": "123"} + +.=== Step 4: Update Item === +✓ Item update successful: 200 +Updated to: {'Id': '123', 'name': 'Robin'} +Response: {"message": "Item updated successfully", "response": {"Attributes": {"name": "Robin"}, "ResponseMetadata": {"RequestId": "6bd871d4-c87d-4b16-a63d-20d08051cae7", "HTTPStatusCode": 200, "HTTPHeaders": {"server": "Jetty(12.0.14)", "date": "Mon, 04 Aug 2025 13:12:00 GMT", "x-amzn-requestid": "6bd871d4-c87d-4b16-a63d-20d08051cae7", "content-type": "application/x-amz-json-1.0", "x-amz-crc32": "945407983", "content-length": "37"}, "RetryAttempts": 0}}} + +.=== Step 5: Check Updated Item === +✓ Updated item read successful: name=Robin +Response: {"name": "Robin", "Id": "123"} + +.=== Step 6: Delete Item === +✓ Item deletion successful: 200 +Deleted item: {'Id': '123'} +Response: {"message": "Item deleted", "response": {"ResponseMetadata": {"RequestId": "b59cad53-1185-4b3c-9a69-388b731aeb5a", "HTTPStatusCode": 200, "HTTPHeaders": {"server": "Jetty(12.0.14)", "date": "Mon, 04 Aug 2025 13:12:02 GMT", "x-amzn-requestid": "b59cad53-1185-4b3c-9a69-388b731aeb5a", "content-type": "application/x-amz-json-1.0", "x-amz-crc32": "2745614147", "content-length": "2"}, "RetryAttempts": 0}}} + +.=== Step 7: Verify Item Deleted === +✓ Item correctly deleted: 404 Not Found +Response: {"error": "Item not found", "message": "No item with Id 123 found"} + +=== CRUD Sequence Complete! === +.=== Complete Integration Cycle Test === +Testing with ID: integration-456 +Step 1: Create item +✓ Create: 200 +Step 2: Read item +✓ Read: 200 +Step 3: Update item +✓ Update: 200 +Step 4: Verify update +✓ Verify: 200 +Step 5: Delete item +✓ Delete: 200 +Step 6: Verify deletion +✓ Verify deletion: 404 +✓ Complete integration cycle passed! + +.=== Error Scenarios Test === +Test 1: Read non-existent item +✓ Read nonexistent: 404 +Test 2: Update non-existent item +✓ Update nonexistent: 200 +Test 3: Delete non-existent item +✓ Delete nonexistent: 200 +✓ Error scenarios completed + +.=== Performance Check === +✓ Create: 718ms (status: 200) +✓ Read: 724ms (status: 200) +✓ Update: 740ms (status: 200) +✓ Delete: 729ms (status: 200) +✓ Average operation time: 728ms +✓ Performance check completed + +. + +================================================================= 10 passed in 36.91s ================================================================== +``` + +#### Clean up section + +> clean pyenv environment + +```sh +apigw-lambda-dynamodb-crud-local$ +deactivate +rm -rf venv/ +``` + +> unsetting variables + +```sh +unset AWS_ACCESS_KEY_ID +unset AWS_SECRET_ACCESS_KEY +unset AWS_REGION +``` + +> cleaning sam process + +```sh +ps -axuf | grep '[s]am local start-api' | awk '{print $2}' | xargs -r kill +``` + +> cleanning docker + +```sh +docker ps -q --filter ancestor=amazon/dynamodb-local | xargs -r docker kill +docker rmi amazon/dynamodb-local +``` + +--- + +#### Debug - PyTest Debugging + +For more detailed debugging in pytest: + +```sh +# Run with verbose output +python3 -m pytest -s -v unit/src/test_crud_operations.py + +# Run with debug logging +python3 -m pytest -s tests/unit/src/test_crud_operations.py --log-cli-level=DEBUG + +# List available individual test +python3 -m pytest tests/unit/src/test_crud_operations.py --collect-only + +# Run a specific pytest test +python3 -m pytest -s tests/unit/src/test_crud_operations.py::test_01_initialize_table -v + +``` + +### Fast local development for CRUD Operations + +#### AWS CLI Commands for Manual Verification + +If you need to manually verify the CRUD Operations or execution details, you can use these commands: + +#### Configure environment variables: + +``` shell +apigw-lambda-dynamodb-crud-local$ +export AWS_ACCESS_KEY_ID='DUMMYIDEXAMPLE' +export AWS_SECRET_ACCESS_KEY='DUMMYEXAMPLEKEY' +export AWS_REGION='us-east-1' +``` + +#### Start the DynamoDB Container and SAM Local Lambda emulator in a separate terminal: + +```shell +# Start DynamoDB Local +docker run --rm -d -p 8000:8000 --name dynamodb-local amazon/dynamodb-local + +# Start SAM Local API Gateway emulator: +sam local start-api --docker-network host & +``` + +#### Debug lambda functions - Test Individually API and Lambda Functions + +0. Initialize the DynamoDB table (though Api Gateway -> Lambda crud init function): +```sh +curl -X GET http://127.0.0.1:3000/init +``` + +1. Create initial item: +```sh +curl -X POST http://127.0.0.1:3000/create \ + -H 'Content-Type: application/json' \ + -d '{"Id": "123", "name": "Batman"}' +``` + +2. Read item: +```sh +curl -X GET http://127.0.0.1:3000/read \ + -H 'Content-Type: application/json' \ + -d '{"Id": "123"}' +``` + +3. Update initial item: +```sh +curl -X POST http://127.0.0.1:3000/update \ + -H 'Content-Type: application/json' \ + -d '{"Id": "123", "name": "Robin"}' +``` + +4. Check updated item: +```sh +curl -X GET http://127.0.0.1:3000/read \ + -H 'Content-Type: application/json' \ + -d '{"Id": "123"}' +``` + +5. Delete item: +```sh +curl -X GET http://127.0.0.1:3000/delete \ + -H 'Content-Type: application/json' \ + -d '{"Id": "123"}' +``` + +6. Checking item does not exist: +```sh +curl -X GET http://127.0.0.1:3000/read \ + -H 'Content-Type: application/json' \ + -d '{"Id": "123"}' +``` + +--- + +## Common Issues + +### DynamoDB Issues +- Verify DynamoDB Local Container is running +- Check port 8000 availability +- Confirm network settings (no using host network) +- Table exist initalization error (Init request failed with status 500: Error creating table: An error occurred (ResourceInUseException) when calling the CreateTable operation: Cannot create preexisting table) -> Clean up the dynamodb docker image and related columnes + +### SAM Local API Issues +- Ensure template.yaml is valid +- Verify Lambda function handlers +- Check Docker network configuration (using host network) + +### PyTest Failures +- Verify Python environment (recreation) +- Check fixture dependencies (requirements) +- Review test isolation + +--- + +## Additional Resources +- [PyTest Documentation](https://docs.pytest.org/) +- [AWS SAM Local Testing](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-testing.html) +- [DynamoDB Local Guide](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html) +- [API Gateway Testing](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-test-api.html) + +[Top](#contents) diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-create-event.json b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-create-event.json new file mode 100755 index 00000000..1c47303f --- /dev/null +++ b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-create-event.json @@ -0,0 +1,3 @@ +{ + "body": "{\"Id\": \"123\", \"name\": \"Batman\"}" +} diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-delete-event.json b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-delete-event.json new file mode 100755 index 00000000..12090c66 --- /dev/null +++ b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-delete-event.json @@ -0,0 +1,3 @@ +{ + "Id": "123" +} diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-init-event.json b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-init-event.json new file mode 100755 index 00000000..4ccb6ff4 --- /dev/null +++ b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-init-event.json @@ -0,0 +1,5 @@ +{ + "key1": "value1", + "key2": "value2", + "key3": "value3" +} \ No newline at end of file diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-read-event.json b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-read-event.json new file mode 100755 index 00000000..12090c66 --- /dev/null +++ b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-read-event.json @@ -0,0 +1,3 @@ +{ + "Id": "123" +} diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-update-event.json b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-update-event.json new file mode 100755 index 00000000..074569d3 --- /dev/null +++ b/python-test-samples/apigw-lambda-dynamodb-crud-local/events/lambda-update-event.json @@ -0,0 +1,3 @@ +{ + "body": "{\"Id\": \"123\", \"name\": \"Robin\"}" +} diff --git a/python-test-samples/apigw-lambda-dynamodb-crud-local/img/apigateway-crud-lambda-dynamodb.png b/python-test-samples/apigw-lambda-dynamodb-crud-local/img/apigateway-crud-lambda-dynamodb.png new file mode 100644 index 0000000000000000000000000000000000000000..91cd84de657d7f3295e95f7987ca7563c2dd7368 GIT binary patch literal 70913 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

jAGYB{O<2L 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