* 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
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