// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 package pledge import ( "fmt" "testing" "time" "github.com/hashicorp/nomad/e2e/e2eutil" "github.com/hashicorp/nomad/e2e/v3/cluster3" "github.com/hashicorp/nomad/e2e/v3/jobs3" "github.com/shoenig/test/must" ) func TestPledge(t *testing.T) { cluster3.Establish(t, cluster3.Leader(), cluster3.LinuxClients(1), cluster3.Timeout(10*time.Second), ) t.Run("testSleep", testSleep) t.Run("testBridgeNetwork", testBridgeNetwork) t.Run("testUnveil", testUnveil) } func testSleep(t *testing.T) { _, cleanup := jobs3.Submit(t, "./input/sleep.hcl") t.Cleanup(cleanup) } func testBridgeNetwork(t *testing.T) { _, cleanup := jobs3.Submit(t, "./input/bridge.hcl") t.Cleanup(cleanup) ip, port := findService(t, "pybridge") address := fmt.Sprintf("http://%s:%d", ip, port) curlJob, curlCleanup := jobs3.Submit(t, "./input/curl.hcl", jobs3.Var("address", address), jobs3.WaitComplete("curl"), ) t.Cleanup(curlCleanup) logs := curlJob.TaskLogs("group", "curl") must.StrContains(t, logs.Stdout, "