Integration test issues
- test projects use static getters to access environment variables making it difficult to override the source of these values in provider specific implementations
- environment variable names are inconsistent and many variables are unused making it difficult for developers to onboard
- The use of threading to simulate multiple requests is non deterministic and causes random failures even though the result of the operation is correct
- integration tests for a service rely on data that may or may not be in the system. Service integration test should be responsible for setting up the data necessary to function and not make assumptions about the environment
- Integration tests for Elastic Search require HTTPS making local development using docker painful. HTTPS should be optional. Verification of secure channel should be verified at a different level of testing and depends on the deployed environment and where SSL is terminated.