Files
nomad/e2e/v3
Tim Gross c1f020d60f E2E: refactor Connect tests to use stdlib testing (#20278)
Migrate our E2E tests for Connect off the old framework in preparation for
writing E2E tests for transparent proxy and the updated workload identity
workflow. Mark the tests that cover the legacy Consul token submitted workflow.

Ref: https://github.com/hashicorp/nomad/pull/20175
2024-04-04 10:48:10 -04:00
..

e2e | v3

(!) These packages are experimental and breaking changes will be made. Also, expect bugs. Like a lot of bugs. Especially on non-happy paths.

The e2e/v3/ set of packages provide utilities for creating Nomad e2e tests in a way that is convenient, reliable, and debuggable.

  • v3/cluster3 - establish and verify the state of the cluster
  • v3/jobs3 - manage nomad jobs and wait for deployments, etc.
  • v3/namespaces3 - manage nomad namespaces
  • v3/util3 - helper methods specific to the v3 utilities

Examples

simple

The simplest example, where we expect a cluster with a leader and at least one Linux client in a ready state. The test case will submit the sleep.hcl job, wait for the deployment to become succesfull (or fail / timeout), then cleanup the job.

func TestExample(t *testing.T) {
    cluster3.Establish(t,
        cluster3.Leader(),
        cluster3.LinuxClients(1),
    )

    t.Run("testSleep", testSleep)
}

func testSleep(t *testing.T) {
    cleanup := jobs3.Submit(t, "./input/sleep.hcl")
    t.Cleanup(cleanup)
}