Files
nomad/e2e/v3
Daniel Bennett f7adcefbb3 e2e: refactor vault secrets test (#19152)
fixes VaultSecrets test - it was failing due to a
regex mismatch (`^job` stopped matching when
copywrite headers got prepended to the jobspec).

but RegisterFromJobspec (which had the bug)
was only used in the one spot, so instead this
refactors the whole test to the v3 format
with testing.T and some additional fun stuff
that we can take advantage of with it.

some improvements:
* use a namespace
* use and extend existing test helpers
* add more test helpers
2023-11-28 10:00:27 -06: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)
}