trust_test.go 1.7 KB

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