MCPcopy Create free account
hub / github.com/docker/compose / TestBuildTLS

Function TestBuildTLS

pkg/e2e/build_test.go:614–653  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

612}
613
614func TestBuildTLS(t *testing.T) {
615 t.Helper()
616
617 c := NewParallelCLI(t)
618 const dindBuilder = "e2e-dind-builder"
619 tmp := t.TempDir()
620
621 t.Cleanup(func() {
622 c.RunDockerCmd(t, "rm", "-f", dindBuilder)
623 c.RunDockerCmd(t, "context", "rm", dindBuilder)
624 })
625
626 c.RunDockerCmd(t, "run", "--name", dindBuilder, "--privileged", "-p", "127.0.0.1::2376", "-d", "docker:dind")
627
628 poll.WaitOn(t, func(_ poll.LogT) poll.Result {
629 res := c.RunDockerCmd(t, "logs", dindBuilder)
630 if strings.Contains(res.Combined(), "API listen on [::]:2376") {
631 return poll.Success()
632 }
633 return poll.Continue("waiting for Docker daemon to be running")
634 }, poll.WithTimeout(10*time.Second))
635
636 time.Sleep(1 * time.Second) // wait for dind setup
637 c.RunDockerCmd(t, "cp", dindBuilder+":/certs/client", tmp)
638
639 res := c.RunDockerCmd(t, "inspect", "-f", "{{(index (index .NetworkSettings.Ports \"2376/tcp\") 0).HostPort}}", dindBuilder)
640 hostPort := strings.TrimSpace(res.Stdout())
641 if hostPort == "" {
642 t.Fatal("failed to resolve mapped host port for 2376/tcp")
643 }
644
645 c.RunDockerCmd(t, "context", "create", dindBuilder, "--docker",
646 fmt.Sprintf("host=tcp://127.0.0.1:%s,ca=%s/client/ca.pem,cert=%s/client/cert.pem,key=%s/client/key.pem,skip-tls-verify=1", hostPort, tmp, tmp, tmp))
647
648 cmd := c.NewDockerComposeCmd(t, "-f", "fixtures/build-test/minimal/compose.yaml", "build")
649 cmd.Env = append(cmd.Env, "DOCKER_CONTEXT="+dindBuilder)
650 cmd.Stdout = os.Stdout
651 res = icmd.RunCmd(cmd)
652 res.Assert(t, icmd.Expected{Err: "Built"})
653}
654
655func TestBuildEscaped(t *testing.T) {
656 c := NewParallelCLI(t)

Callers

nothing calls this directly

Calls 5

NewParallelCLIFunction · 0.85
TempDirMethod · 0.80
RunDockerCmdMethod · 0.80
NewDockerComposeCmdMethod · 0.80
RunCmdMethod · 0.80

Tested by

no test coverage detected