@@ -19,6 +19,7 @@ package e2e
19
19
import (
20
20
"fmt"
21
21
"net/http"
22
+ "os"
22
23
"regexp"
23
24
"runtime"
24
25
"strconv"
@@ -29,6 +30,7 @@ import (
29
30
"github.com/stretchr/testify/require"
30
31
"gotest.tools/v3/assert"
31
32
"gotest.tools/v3/icmd"
33
+ "gotest.tools/v3/poll"
32
34
)
33
35
34
36
func TestLocalComposeBuild (t * testing.T ) {
@@ -608,3 +610,38 @@ func TestBuildDependentImageWithProfile(t *testing.T) {
608
610
out := res .Combined ()
609
611
assert .Check (t , strings .Contains (out , "secret-build-test Built" ))
610
612
}
613
+
614
+ func 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" , "2376: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
+ c .RunDockerCmd (t , "context" , "create" , dindBuilder , "--docker" ,
640
+ fmt .Sprintf ("host=tcp://localhost:2376,ca=%s/client/ca.pem,cert=%s/client/cert.pem,key=%s/client/key.pem,skip-tls-verify=1" , tmp , tmp , tmp ))
641
+
642
+ cmd := c .NewDockerComposeCmd (t , "-f" , "fixtures/build-test/minimal/compose.yaml" , "build" )
643
+ cmd .Env = append (cmd .Env , "DOCKER_CONTEXT=" + dindBuilder )
644
+ cmd .Stdout = os .Stdout
645
+ res := icmd .RunCmd (cmd )
646
+ res .Assert (t , icmd.Expected {Err : "Built" })
647
+ }
0 commit comments