# lambda-content-auto-approve-step-function-tests
This is a pytest-based integration test automation framework for lambda-content/auto-approve step functions integration tests.

### Requirements
* MFA Session: Make sure you have an active MFA session using  `awsume`
* Python Version: Python 3.11 or higher is required
* Execution Directory: All tests must be run from the `lambda-content/tests/` directory.

### Quickstart
You can run the step function tests in two ways:
* In a Docker container, for example:
    ```
   make docker_run_tests
    ```
* OR, locally in a virtual environment:
  * Setup virtual environment:
    ```
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    ```
  * Run the tests:
    ```
    make test
    ```
* You can find the test report in `tests/report/`
### Style Guide
* We use `ruff` for linting and formatting. Please run the following before committing your code.
    ```
    # This automatically formats the code with ruff
    make format

    # This checks for linting and mypy issues
    make lint
    ```

