github.com/olljanat/moby@v1.13.1/cli/command/image/trust_test.go (about) 1 package image 2 3 import ( 4 "os" 5 "testing" 6 7 registrytypes "github.com/docker/docker/api/types/registry" 8 "github.com/docker/docker/cli/trust" 9 "github.com/docker/docker/registry" 10 ) 11 12 func unsetENV() { 13 os.Unsetenv("DOCKER_CONTENT_TRUST") 14 os.Unsetenv("DOCKER_CONTENT_TRUST_SERVER") 15 } 16 17 func TestENVTrustServer(t *testing.T) { 18 defer unsetENV() 19 indexInfo := ®istrytypes.IndexInfo{Name: "testserver"} 20 if err := os.Setenv("DOCKER_CONTENT_TRUST_SERVER", "https://notary-test.com:5000"); err != nil { 21 t.Fatal("Failed to set ENV variable") 22 } 23 output, err := trust.Server(indexInfo) 24 expectedStr := "https://notary-test.com:5000" 25 if err != nil || output != expectedStr { 26 t.Fatalf("Expected server to be %s, got %s", expectedStr, output) 27 } 28 } 29 30 func TestHTTPENVTrustServer(t *testing.T) { 31 defer unsetENV() 32 indexInfo := ®istrytypes.IndexInfo{Name: "testserver"} 33 if err := os.Setenv("DOCKER_CONTENT_TRUST_SERVER", "http://notary-test.com:5000"); err != nil { 34 t.Fatal("Failed to set ENV variable") 35 } 36 _, err := trust.Server(indexInfo) 37 if err == nil { 38 t.Fatal("Expected error with invalid scheme") 39 } 40 } 41 42 func TestOfficialTrustServer(t *testing.T) { 43 indexInfo := ®istrytypes.IndexInfo{Name: "testserver", Official: true} 44 output, err := trust.Server(indexInfo) 45 if err != nil || output != registry.NotaryServer { 46 t.Fatalf("Expected server to be %s, got %s", registry.NotaryServer, output) 47 } 48 } 49 50 func TestNonOfficialTrustServer(t *testing.T) { 51 indexInfo := ®istrytypes.IndexInfo{Name: "testserver", Official: false} 52 output, err := trust.Server(indexInfo) 53 expectedStr := "https://" + indexInfo.Name 54 if err != nil || output != expectedStr { 55 t.Fatalf("Expected server to be %s, got %s", expectedStr, output) 56 } 57 }