Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Feature/cloud api testing #210
Goal of PR
Perform integration testing for all drivers #197. This PR gives us the following:
Normalized the method for developers to add to the set of mock driver implementations and the set of driver integration setup methods.
Each driver implementation has an entry for both A) mock instance setup method, and B) an method that instantiates an production driver instance when the credentials/config are specified via env vars.
Both these sets are iterated over, with each driver being instantiated then ran through the main driver unit test. In additional, several tests dealing with authentication and revocations are now also ran against all configured drivers.
The disk driver now has a mock and self-hosted integration implemented. This, along with the InMemoryDriver, are always ran (no environment/external configuration needed). Addressing @jcnelson's earlier revocation PR comment about using the diskDriver rather than the InMemoryDriver - we can probably remove the InMemoryDriver now that we have this setup. However, this did create the first inter-project npm dev-dependency where the
@@ Coverage Diff @@ ## develop #210 +/- ## ========================================== Coverage ? 90.43% ========================================== Files ? 12 Lines ? 753 Branches ? 0 ========================================== Hits ? 681 Misses ? 72 Partials ? 0
Several bugs were identified and fixed while writing these tests. Some of the fixes involved changes that I would have preferred to have submitted separate PRs for, however, many of them were tightly coupled with the changes required for the integration tests. The code coverage reports and significant increase in tests should hopefully make this PR review a bit easier.
No. Requiring contributors to procure accounts and credentials for all cloud services is not reasonable. The full integration tests will be ran automatically once they submit a PR.
The default local tests (