53 lines
1.2 KiB
Go
53 lines
1.2 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package example
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/hashicorp/nomad/e2e/v3/cluster3"
|
|
"github.com/hashicorp/nomad/e2e/v3/jobs3"
|
|
"github.com/hashicorp/nomad/e2e/v3/namespaces3"
|
|
"github.com/hashicorp/nomad/e2e/v3/util3"
|
|
"github.com/shoenig/test/must"
|
|
)
|
|
|
|
func TestExample(t *testing.T) {
|
|
cluster3.Establish(t,
|
|
cluster3.Leader(),
|
|
cluster3.LinuxClients(1),
|
|
cluster3.Timeout(3*time.Second),
|
|
)
|
|
|
|
t.Run("testSleep", testSleep)
|
|
t.Run("testNamespace", testNamespace)
|
|
t.Run("testEnv", testEnv)
|
|
}
|
|
|
|
func testSleep(t *testing.T) {
|
|
_, cleanup := jobs3.Submit(t, "./input/sleep.hcl")
|
|
t.Cleanup(cleanup)
|
|
}
|
|
|
|
func testNamespace(t *testing.T) {
|
|
name := util3.ShortID("example")
|
|
|
|
nsCleanup := namespaces3.Create(t, name)
|
|
t.Cleanup(nsCleanup)
|
|
|
|
_, jobCleanup := jobs3.Submit(t, "./input/sleep.hcl", jobs3.Namespace(name))
|
|
t.Cleanup(jobCleanup)
|
|
}
|
|
|
|
func testEnv(t *testing.T) {
|
|
job, cleanup := jobs3.Submit(t, "./input/env.hcl", jobs3.WaitComplete("group"))
|
|
t.Cleanup(cleanup)
|
|
|
|
expect := fmt.Sprintf("NOMAD_JOB_ID=%s", job.JobID())
|
|
logs := job.TaskLogs("group", "task")
|
|
must.StrContains(t, logs.Stdout, expect)
|
|
}
|