(t *testing.T)
| 87 | } |
| 88 | |
| 89 | func TestRemoteLayerDescriptor(t *testing.T) { |
| 90 | layer, err := random.Layer(1024, types.DockerLayer) |
| 91 | if err != nil { |
| 92 | t.Fatal(err) |
| 93 | } |
| 94 | image, err := mutate.Append(empty.Image, mutate.Addendum{ |
| 95 | Layer: layer, |
| 96 | URLs: []string{"example.com"}, |
| 97 | }) |
| 98 | if err != nil { |
| 99 | t.Fatal(err) |
| 100 | } |
| 101 | |
| 102 | // Set up a fake registry and write what we pulled to it. |
| 103 | // This ensures we get coverage for the remoteLayer.MediaType path. |
| 104 | s := httptest.NewServer(registry.New()) |
| 105 | defer s.Close() |
| 106 | u, err := url.Parse(s.URL) |
| 107 | if err != nil { |
| 108 | t.Fatal(err) |
| 109 | } |
| 110 | |
| 111 | dst := fmt.Sprintf("%s/some/path:tag", u.Host) |
| 112 | ref, err := name.ParseReference(dst) |
| 113 | if err != nil { |
| 114 | t.Fatal(err) |
| 115 | } |
| 116 | |
| 117 | if err := Write(ref, image); err != nil { |
| 118 | t.Fatalf("failed to WriteLayer: %v", err) |
| 119 | } |
| 120 | |
| 121 | pulled, err := Image(ref) |
| 122 | if err != nil { |
| 123 | t.Fatal(err) |
| 124 | } |
| 125 | |
| 126 | layers, err := pulled.Layers() |
| 127 | if err != nil { |
| 128 | t.Fatal(err) |
| 129 | } |
| 130 | |
| 131 | desc, err := partial.Descriptor(layers[0]) |
| 132 | if err != nil { |
| 133 | t.Fatal(err) |
| 134 | } |
| 135 | |
| 136 | if len(desc.URLs) != 1 { |
| 137 | t.Fatalf("expected url for layer[0]") |
| 138 | } |
| 139 | |
| 140 | if got, want := desc.URLs[0], "example.com"; got != want { |
| 141 | t.Errorf("layer[0].urls[0] = %s != %s", got, want) |
| 142 | } |
| 143 | if ok, err := partial.Exists(layers[0]); err != nil { |
| 144 | t.Fatal(err) |
| 145 | } else if got, want := ok, true; got != want { |
| 146 | t.Errorf("Exists() = %t != %t", got, want) |
nothing calls this directly
no test coverage detected
searching dependent graphs…