Commit Graph
100 Commits
Author SHA1 Message Date
Michael Li 16a29ae9ab chore(enos): Provide boundary edition when building UI (#3781) 2023-09-27 17:40:45 -04:00
Michael Li dc912e2a86 test: Update tests to account for deprecated features in 0.14.0 (#3776)
* 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
2023-09-26 10:33:53 -04:00
Michael Li 12c12f378a chore(enos): Move terraform-enos-aws-infra to boundary (#3745)
* chore(enos): Move terraform-enos-aws-infra to boundary

The terraform-enos-aws-infra repo was a terraform module to set up the base aws infrastructure. Vault made some local updates that might mitigate flakiness we've been seeing ("can't delete due to dependencies" error). We are replacing our usage of that module Vault's local copy.

* chore(enos): Modify service user to allow DeleteRoute

* fixup! chore(enos): Move terraform-enos-aws-infra to boundary

* chore(enos): Rename variable for clarity
2023-09-20 11:07:50 -04:00
Michael Li 98f8383a2b test: Add option for logging in test controller (#3738) 2023-09-15 14:14:12 -04:00
Michael Li 94dd9e84fe test(e2e): Refactor vault setup method (#3724)
* refact(e2e): Pass in boundary-controller-policy to method

This allows any boundary-enterprise specific test packages to point to their own testdata directory

* test(e2e): Fix assertion statement

* refact(e2e): Move method call for clarity
2023-09-14 14:12:09 -04:00
Michael Li 72efe74f24 test(e2e): Add worker health check when setting up infra (#3708)
* test(e2e): Add worker health check when setting up infra

* test(e2e): Set limits on postgres container

This was done to potentially reduce some load on runners
2023-09-13 10:20:57 -04:00
Michael Li e552b12f22 test(e2e): Add missing proxy listener to config file (#3715) 2023-09-12 18:44:53 -04:00
Michael Li ff34cb629e test(e2e): Add a test for a single-hop worker (#3690)
* 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
2023-09-11 14:25:32 -04:00
Michael Li 9a6b0d26cb test(e2e): Add test for boundary connect postgres (#3671)
* refact(e2e): Rename env

* test(e2e): Add test for `connect postgres`

* fixup! test(e2e): Add test for `connect postgres`
2023-09-06 17:29:35 -04:00
Michael Li 2774fbb8d4 test(e2e): Add test for connect ssh -remote-command (#3642)
* test(e2e): Add test for`connect ssh -remote-command`

* test: Fix comments
2023-08-30 09:23:12 -04:00
Michael Li 9687535ab0 test(e2e): Add an enos module for docker-based workers (#3603)
* test(e2e): Add an enos module for a worker in docker

* fixup! test(e2e): Add an enos module for a worker in docker
2023-08-18 09:19:48 -04:00
Michael Li 067a42c715 test(e2e): Build docker image based on host architecture (#3584) 2023-08-15 11:18:33 -04:00
Michael Li 1c8c11c551 test(e2e): Add license env (#3583) 2023-08-15 10:15:00 -04:00
Michael Li 55d85f90b9 test(e2e): Refactor migration test docker repo definition (#3578)
This commit refactors docker repo definitions in the migration test to make it simpler to modify which version of boundary is being used. Additionally, this also refactors where "pull image" is performed to reduce another spot where the docker repository needs to be passed in.
2023-08-14 16:03:30 -04:00
Michael Li 6c57aa7fda test(e2e): Add pieces necessary for enterprise migration test (#3555) 2023-08-09 14:43:41 -04:00
Michael Li dec3bf3a5c chore: Change workflow to use launch (#3551) 2023-08-09 12:26:36 -04:00
Michael Li 0af4c38230 chore: Modify go test retry settings (#3536) 2023-08-07 09:45:13 -04:00
Michael Li f88d3892cb test(e2e): Add infra for ssh certificate injection test (#3532) 2023-08-04 12:56:24 -04:00
Michael Li ef3954c561 test(e2e): Add a docker test runner (#3499)
* test(e2e): Add a docker test runner

* !fixup: Self-review

* !fixup: Make vault address compatible with local runs

* !fixup: Remove unnecessary modification

* !fixup: Remove arm64 requirement

* !fixup: extend timeout
2023-07-31 09:10:21 -04:00
Michael Li cce722c773 test(e2e): Add "update host set filter" check (#3482) 2023-07-20 10:50:18 -04:00
Michael Li e821781c94 test(e2e): Update grants to use new ids field (#3475) 2023-07-19 08:33:37 -04:00
Michael Li 0d4ef933c3 test(e2e): Build UI when running docker scenarios locally (#3463)
* test(e2e): Add session id to logs for debug purposes

* test(e2e): Build UI when building docker resources
2023-07-19 08:32:02 -04:00
Michael Li 1cb6743f69 test(e2e): Use vault-generic credential library type (#3462)
The vault credential library type will be deprecated at some point in favor of the vault-generic credential library type.
2023-07-18 09:20:32 -04:00
Michael Li e460187508 chore: Add missing ** in paths-ignore (#3451) 2023-07-14 09:28:49 -04:00
Michael Li 88adfecb59 chore: Ignore website directory for build and test workflows (#3426) 2023-07-13 10:16:53 -04:00
Michael Li eed17d63b5 test(e2e): Update to use fmt.Sprintf (#3388) 2023-07-06 11:52:52 -04:00
Michael Li 23d500917b chore: Remove check-legacy-links-format workflow (#3376)
This workflow has been deprecated in favor of similar checks in other places.
2023-06-29 11:21:41 -04:00
Michael Li e39f0406f3 test(e2e): Update worker module to create recordings directory if defined (#3340) 2023-06-29 11:20:12 -04:00
Michael Li 0af862ba5d test(e2e): Update test names (#3362) 2023-06-27 14:03:48 -04:00
Michael Li 42ab20b37b refact(e2e): Rename some test files and methods (#3360)
* refact: Rename method for clarity

* refact: Rename test files for clarity

* test(e2e): Add method for removing brokered credential
2023-06-26 13:21:45 -04:00
Michael Li a751d65831 chore: Update actionlint to a trusted version (#3357) 2023-06-23 12:59:01 -04:00
Michael Li bfc3babd20 chore(e2e): Change port used by vault docker container (#3355)
* chore: Update scenario reference name

* chore: Use different port for vault

This avoids any conflicts with other uses of vault
2023-06-22 16:12:00 -04:00
Michael Li d920676112 chore: Update some e2e test scenarios to use docker-based infra (#3345)
* chore: Update docker scenario to check edition

* chore: Use large runner to resolve flakiness issues

* chore: Migrate enos scenarios to use docker
2023-06-21 11:36:47 -04:00
Michael Li b9bef35f51 chore: Ignore tags in workflow (#3337) 2023-06-16 12:51:30 -04:00
Michael Li 401493d225 test(e2e): Rename test packages (#3334) 2023-06-15 11:51:14 -04:00
Michael Li 5f2f6ca6ca test: Set worker config to a variable (#3324) 2023-06-14 13:44:08 -04:00
Michael Li 4f1552abde chore: Add check for go mod tidy (#3321) 2023-06-13 14:33:26 -04:00
Michael Li 357e835fa5 doc: Add missing copyright headers (#3238) 2023-05-22 11:49:27 -04:00
Michael Li 253d191440 chore: Bump version of security scanner (#3234)
This mitigates the GitHub deprecation of set-output and node 12.
2023-05-19 12:06:10 -04:00
Michael Li 615fa686c4 test(e2e): Add test that checks that session ends after deleting project (#3221)
* test(e2e): Add test that checks that session ends after deleting project

* CR: Update to create target with address

* CR: Rename method for clarification
2023-05-16 13:06:11 -04:00
Michael Li 6f6f4ade0a test(e2e): Modify port to avoid conflicts (#3205) 2023-05-05 14:33:37 -04:00
Michael Li b88050a4c4 test(e2e): Fix assertion statement (#3190) 2023-04-27 13:35:52 -04:00
Michael Li 6cdf9154a5 chore: Rename workflow file (#3184) 2023-04-26 12:34:27 -04:00
Michael Li cecc959a94 test(e2e): Clean up user if test fails (#3180) 2023-04-25 09:47:08 -04:00
Michael Li 33f3a5ff9c test(e2e): Add test that uses new worker resource (#3177) 2023-04-24 16:58:39 -04:00
Michael Li d25f4493d3 test(e2e): Improve reliability of enos docker scenario (#3167) 2023-04-19 17:03:38 -04:00
Michael Li 8c5464802d chore: Add write permission to milestone checker (#3155) 2023-04-10 08:46:49 -04:00
Michael Li f816611dd0 chore: Update milestone-checker to use newer version of node (#3154) 2023-04-07 14:36:35 -04:00
Michael Li 29c268d5ac chore: Fix issues detected by GitHub actions linter (#3139) 2023-04-07 12:05:05 -04:00
Michael Li 26ebaefd70 test(migration): Use docker mirror (#3144) 2023-04-04 13:50:17 -04:00
Michael Li 28b98348cc test(e2e): Refactor WaitForSessionStatus methods (#3115) 2023-03-27 09:50:31 -04:00
Michael Li 8c796d0fc9 chore(enos): Use docker image generated from code (#3100) 2023-03-22 10:47:17 -04:00
Michael Li 87c80f99dc chore: Remove extraneous fail-on-cache-miss attribute (#3104)
Since this step is a setup step, there shouldn't be an expectation that the cache is present. Removing this attribute gets rid of that requirement.
2023-03-20 13:02:40 -04:00
Michael Li 05eb6fba63 Revert "chore(enos): Pin terraform to 1.3.9 to mitigate bug (#3087)" (#3094) 2023-03-16 16:54:47 -04:00
Michael Li 3dc1e2108a chore(enos): Use docker mirror (#3086) 2023-03-15 14:10:17 -04:00
Michael Li 4e697d4dd5 chore(enos): Pin terraform to 1.3.9 to mitigate bug (#3087) 2023-03-15 14:09:35 -04:00
Michael LiandJohan Brandhorst-Satzkorn acda0c3892 chore(enos): Add scenario that uses docker containers for infrastructure (#3073)
Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2023-03-15 10:07:36 -04:00
Michael Li 2169bf7443 chore: Add "fail-on-cache-miss" setting to more jobs (#3072) 2023-03-10 12:17:29 -05:00
Michael Li 8a13b3076b doc: Add boundary logo back to README (#3071) 2023-03-10 11:42:57 -05:00
Michael Li e0b50af7c3 chore(enos): Use cache for tparse (#3057) 2023-03-08 10:03:11 -05:00
Michael Li 1f55136d87 chore(enos): Use node16 version of action (#3051) 2023-03-02 16:45:22 -05:00
Michael Li 420952f6b8 chore(enos): Add scenario for e2e UI tests (#2813) 2023-03-02 14:32:53 -05:00
Michael Li 54aad4d292 chore(enos): Add debug variable (#3037) 2023-03-02 12:37:12 -05:00
Michael Li 713c121143 chore(enos): Default to use OSS edition (#3035)
There was an update to the build scripts to detect what edition of boundary is being built so that it knows which version of the UI to grab. However, this affected instances when building boundary on an architecture that is not the same as the host (in this case, we're building a linux/amd64 version on a mac). When the scripts try to use the built CLI to get the edition, it threw an `exec format error`.
2023-02-27 18:35:01 -05:00
Michael Li 604c701395 chore(enos): Define explicit dependencies between steps (#3031) 2023-02-27 12:27:18 -05:00
Michael Li 559c7aab24 chore(enos): Fix local creation of IAM (#3021) 2023-02-27 12:26:39 -05:00
Michael Li f412abc205 ci: Fix permissions in labeler workflow (#3032)
* ci: Fix permissions in labeler workflow

* ci: Add write permissions
2023-02-27 10:59:00 -05:00
Michael Li 5ec75924df refact(e2e): Set up variables to prepare for docker implementation (#2992)
* refact(e2e): Explicitly define port used for targets

To maintain consistency for how we define ports, this change explicitly defines the port used in the enos
scenario as opposed to relying on a "default" value. This change is in support of work that attempts to
spin up test infrastructure using docker. The openssh-server image uses Port 2222, which needs to be
passed to the test suite.

* refact(e2e): Add optional "Internal" Vault Address parameter

This change enables scenarios that need two different Vault addresses, one used by the Vault CLI and
one by the Boundary server instance. In the case when using a Docker container, the Boundary server
needs the Vault address "internal" to the Docker network, whereas the Vault CLI running outside of the
network needs a different address.
2023-02-23 12:05:06 -05:00
Michael Li 7733677e34 chore(enos): Modify destroy condition (#3001)
Sometimes, the workflow can fail before enos is even installed, which causes this step to fail due enos not existing.
This change makes it such that this step only runs if the Retry step fails.
2023-02-23 11:58:43 -05:00
Michael Li 9512b524f2 chore(enos): Always destroy enos infrastructure (#3000)
When the `Run Enos scenario` and `Retry Enos scenario` steps fail, the Destroy command does not get run since the `Retry` step marks the workflow as failed. This leaves some infrastructure hanging around.
2023-02-22 17:42:19 -05:00
Michael Li 235ded684b chore(enos): Update test suite slack bot with different messages (#2993)
* chore(enos): Update slack bot to post different messages when retry succeeds

* Remove unused variables
2023-02-22 13:38:46 -05:00
Michael Li bb6d1cad58 chore(enos): Reset status on job retry (#2954) 2023-02-13 14:00:23 -05:00
Michael Li 96918f0ab6 test(e2e/migration): Add additional resources to database before migrating (#2948) 2023-02-13 10:36:05 -05:00
Michael Li 9dcf605251 chore: Add slack notifications when e2e or bats tests fail (#2946) 2023-02-10 09:27:26 -05:00
Michael Li 62e7335c54 chore: Update deprecated set-output command (#2879)
GitHub is deprecating `set-output`. Updating these commands to their new recommended approach.
2023-02-09 17:08:40 -05:00
Michael Li fcddd972bf test(e2e): Add test for boundary version (#2933)
During testing, there was an issue observed where some additional characters were added to the version output. This test validates that output.
2023-02-08 14:03:02 -05:00
Michael Li d1429a40df chore(enos): Remove bats test from running in enos (#2929)
* chore(enos): Remove bats tests from enos

* chore(enos): Update cache name to match vault version
2023-02-07 16:30:38 -05:00
Michael Li 8ad861f426 test(e2e): Update migration test to use vault docker container (#2909)
* 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
2023-02-07 14:00:05 -05:00
Michael Li 2f9727e8cf chore(enos): Upload e2e test output (#2863)
* chore(enos): Upload e2e go test output

* chore(enos): Add retention period
2023-01-31 17:28:54 -05:00
Michael Li 036a71fc93 test(e2e): Add test for updated boundary authenticate command (#2848) 2023-01-31 14:29:39 -05:00
Michael Li 5fd66b8d88 chore(enos): Remove unused skip_failing_bats_tests variable (#2844) 2023-01-25 12:44:04 -05:00
Michael Li 461b194cde fix(e2e): Address flake due to timing (#2774)
Observed a flake in this test where a session was still reporting 0 bytes up/down on the first read. Modifying the checks to be more resilient.
2023-01-24 15:38:58 -05:00
Michael Li fdf3318f72 test(e2e): Add tests for bytes_up/bytes_down (#2740)
* 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
2022-12-22 11:11:03 -05:00
Michael Li ff8f1be0a1 test(e2e): Add test for when an incorrect tag is used in a dynamic host catalog (#2731)
* 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
2022-12-20 13:53:59 -05:00
Michael Li 74f7ce93bc chore(e2e): Update to use Vault 1.12.2 (#2726) 2022-12-19 14:29:25 -05:00
Michael Li 44fd85c751 fix(kms/test): Fix flake (#2723)
There was some flakiness observed in this test, where keyCount was reported to be 21. To prevent any potential conflicts, we are making the sub-tests not run in parallel.
2022-12-16 12:16:17 -05:00
Michael Li 8bd883a37d test(e2e): Add tests to validate that session ends after target is deleted (#2709)
* 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.
2022-12-15 15:49:18 -05:00
Michael Li 26a85ef61b chore(e2e): Better output formatting (#2719)
Updating the `go test` command to include a table summary of test results at the end. This is the same command used by unit tests.
2022-12-15 14:57:24 -05:00
Michael Li 1596b02e53 test(e2e): Add database migration test (#2627)
* 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
2022-12-13 17:00:50 -05:00
Michael Li 0eb7c04c1d test(e2e): Add tests to validate that session ends after host source is deleted (#2689) 2022-12-08 18:27:52 -05:00
Michael LiandJohan Brandhorst-Satzkorn 45171a3f56 refact(e2e): Changes to support an automated migration test (#2676)
* 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>
2022-12-06 15:59:17 -05:00
Michael Li 2d90dc2c97 test(e2e): Minor clerical updates to key destruction tests (#2674) 2022-12-05 18:25:12 -05:00
Michael Li ae28bf7838 test(e2e): Update test to also use a username/password credential in vault (#2595)
* test(e2e): Add test that uses a vault username/password
* refact(e2e): Use go:embed for policy file
2022-11-08 16:45:55 -05:00
Michael Li 80cdbc305d test(e2e): Check that an active session ends if the user is deleted (#2588)
Adds a new test to the e2e test suite that checks that an active session ends once the user is deleted.
2022-11-02 20:05:15 -04:00
Michael Li d68d57e884 fix(e2e): Add retry when checking if session is active (#2586)
Observed some flakiness here. A test reported that the session was still "pending". Adding additional retries to ensure that it will eventually go active.
2022-11-01 18:41:56 -04:00
Michael Li 067530cdbf fix(test): Retry websocket connection due to flaky failure (#2584)
We have observed several unit tests occasionally fail when trying to read a handshake due to the following error:

failed to read protobuf message: failed to get reader: received close frame: status = StatusProtocolError and
reason = "received header with unexpected rsv bits set: false:false:true"

After an investigation, it's still unclear how this happens. We are opting to just retry to mitigate the flakiness.
2022-11-01 15:05:22 -04:00
Michael Li c20bd8a37e chore(e2e): Update to use latest version of Vault CLI (#2585) 2022-11-01 13:13:00 -04:00
Michael Li a9872621ef Merge pull request #2581 from hashicorp/moduli-e2e-group-test-ICU-6621
test(e2e): Add test that creates a role for a group
2022-10-31 14:28:11 -04:00
Michael Li 48e6156428 test(e2e): Add test that creates a group 2022-10-31 13:29:09 -04:00
Michael Li 02dc9be85f refact(e2e): Create role functions 2022-10-31 10:36:18 -04:00