* test(e2e): Add test to check target's -session-max-seconds
* test(e2e): Add additional test to check new connections are rejected
* test(e2e): Fix test check
* test(e2e): Add rate limit test (#4135)
(cherry picked from commit 9bf350d622a14ea39feaca29861c738a5deff9bb)
* test(e2e): Modify rate limit test due to timing issues (#4145)
The rate limit test was running into failures due to some hard-coded assumptions (waiting for a command to last longer than 3 seconds to determine if the CLI auto-retried). This change makes it more resilient.
(cherry picked from commit 3535f15922c37fda5457f02cf8ae894203359042)
* chore: Fix comment typo
* test(e2e): Update to use new credential library type
* test(e2e): Update to use new field name
* test(bats): Remove tests that use deprecated subcommand
* chore: Update to 0.14.0
* test(credentiallibraries): Update to use new credential library type
* doc: Add deprecation notices for 0.14.0
* fixup! doc: Add deprecation notices for 0.14.0
* refact(e2e): Add env for workers
* test(e2e): Add test for single-hop worker
* fixup! refact(e2e): Add env for workers
* fixup! test(e2e): Add test for single-hop worker
* fixup! test(e2e): Add test for single-hop worker
* fixup! test(e2e): Add test for single-hop worker
* fixup! test(e2e): Add test for single-hop worker
* Adding explicit MPL license for sub-package.
This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.
* Adding explicit MPL license for sub-package
This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.
* Updating the license from MPL to Business Source License
Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at https://hashi.co/bsl-blog, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.
* Update copyright file headers to BUS-1.1
* Rerun make gen
This will pick up the last of the license changes
* Revert "Rerun make gen"
This reverts commit dbe0968bffd92745d8663c6940debae098395a6b.
* Remove copywrite from generation script
The current version of copywrite is not sophisticated enough
to only apply the copywrite changes to certain subdirectories,
so to avoid accidentally relicensing our api and sdk modules,
we will stop running the copywrite script until such time
that it can do the right thing.
* License protobuf API as MPL
The protobuf API files are used to generate the SDK,
since we want the SDK to be MPL, the protobuf files
must also be MPL. This extends to all protobuf files
whose sources end up in the SDK directory, including:
- internal/proto/controller/api
- internal/proto/controller/custom_options
- internal/proto/plugin
It also includes the generated service directory in
internal/gen/controller/api/services, since they are
generated from the protobuf sources used for the SDK.
* Change website license file name
This makes the naming scheme consistent with the rest
of the repository.
* Add note on licensing to README
* Set copywrite license to BUSL
* Revert "Add note on licensing to README"
This reverts commit 4d865a91a7a4f11605f0dc4609355d7e3c3cfffe.
---------
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* fix(enos): Make sure enos reports test as failure
After updating this command to save off the output from running `go test`, enos would not report when tests failed. This was due to the extra pipe hiding the exit status of the prior commands. Adding this option should return the status of the last command to exit with a non-zero status.
* doc(e2e): Fix comments
* refact(e2e): Update AuthenticateCli to accept auth method id
* refact(e2e/migration): Use docker to set up vault instead of enos
* refact(e2e/migration): Adjust where environment variables are set
* 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