Developer Guide
- Add new provider
- Quick testing as you code:
make lint && make test
- Checking your work before PR, run also integration tests:
make integration
Linting
Linting is treated as a form of testing (using golangci
, configuration here), to run:
$ make lint
Testing
Testing is composed of unit tests and integration tests. Integration tests are based on testcontainers as well as live sandbox APIs (where containers are not available)
- Unit tests are a mix of pure and mocks based tests, abstracting each provider's interface with a custom client
- View integration tests
To run all unit tests without integration:
$ make test
To run all unit tests including container-based integration:
$ make integration
To run all unit tests including container and live API based integration (this is effectively all integration tests):
$ make integration_api
Running all tests:
$ make test
$ make integration_api