* refact(e2e): Create env files for consistency
* refact(e2e): Addmethod for waiting for session
* test(e2e): Add bytes up/down test
* fix(e2e): Fix require.Equal statements to have the correct order
* fix(e2e): Fix loop variable
* refact(e2e): Move Dynamic Host Catalog env to its own file
This keeps each scenario consistent (an env_test.go file in each directory)
* refact(e2e): Update to use type casting
* refact(e2e): Rename existing dynamic host catalog test
* test(e2e): Add test for an empty dynamic host catalog
This test verifies that you fail to connect to a target with an empty host set (in a dynamic host catalog)
* fix(e2e): Update return statement since we know err is nil
* fix(e2e): Add ok checks in type assertions
* test(e2e): Add more "session end" tests
These tests validate that the session ends when the respective project or target is deleted. It also ensures that the session can still be read after the deletion of the corresponding item.
* Removing test from PR due to bug
This test found a bug that will be resolved in the future. Taking this test out of the PR and will add it once the bug is fixed.
* test(e2e): Add database migration test
* chore(enos): Add enos scenario for migration test
* chore(enos): Update go test command to use count option
* doc(e2e): Update readme with migration test details
* Fix: Typo
* CR: Use different library
* CR: Add additional context in comment
* CR: Move some code from test into functions
* doc(e2e): Add instructions to more easily retrieve environment variables
* refact(e2e): Create some more methods to increase test readability
* refact(e2e): Move cleanup steps into each test
The migration test needed to create some resources, but doesn't care about cleaning up because the test would take care of spinning down the docker container that it's using. To maintain flexibility going forward, we'll establish that tests are responsible for cleaning up (rather than the methods they use)
* refact(e2e): Use new env var for skip check
Currently, the e2e tests use the E2E_PASSWORD_AUTH_METHOD_ID environment variable to determine if the test should be skipped. However, the new migration test does not require a pre-existing boundary cluster and would not have this environment variable. As a result, we needed an alternative way to check if an e2e test should be skipped when running tests in ci.
* refact(e2e): Create more common boundary methods
* fix(e2e): Set to string value
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
There was a misunderstanding of how goroutines work. Turns out, the goroutine uses the same keyring as the main routine, which can result in some conflicts depending on when the goroutine executes
Many tests had duplicate code to create the base level domain objects in a boundary environment. This commit refactors that code to use functions for these commonly used operations.