MCPcopy
hub / github.com/containerd/containerd / runBasicTest

Function runBasicTest

core/remotes/docker/resolver_test.go:1083–1128  ·  view source on GitHub ↗
(t *testing.T, name string, sf func(h http.Handler) (string, ResolverOptions, func()))

Source from the content-addressed store, hash-verified

1081}
1082
1083func runBasicTest(t *testing.T, name string, sf func(h http.Handler) (string, ResolverOptions, func())) {
1084 var (
1085 ctx = context.Background()
1086 tag = "latest"
1087 r = http.NewServeMux()
1088 )
1089
1090 m := newManifest(
1091 newContent(ocispec.MediaTypeImageConfig, []byte("1")),
1092 newContent(ocispec.MediaTypeImageLayerGzip, []byte("2")),
1093 )
1094 mc := newContent(ocispec.MediaTypeImageManifest, m.OCIManifest())
1095 m.RegisterHandler(r, name)
1096 r.Handle(fmt.Sprintf("/v2/%s/manifests/%s", name, tag), mc)
1097 r.Handle(fmt.Sprintf("/v2/%s/manifests/%s", name, mc.Digest()), mc)
1098
1099 base, ro, close := sf(logHandler{t, r})
1100 defer close()
1101
1102 resolver := NewResolver(ro)
1103 image := fmt.Sprintf("%s/%s:%s", base, name, tag)
1104
1105 _, d, err := resolver.Resolve(ctx, image)
1106 if err != nil {
1107 t.Fatal(err)
1108 }
1109 f, err := resolver.Fetcher(ctx, image)
1110 if err != nil {
1111 t.Fatal(err)
1112 }
1113
1114 refs, err := testocimanifest(ctx, f, d)
1115 if err != nil {
1116 t.Fatal(err)
1117 }
1118
1119 if len(refs) != 2 {
1120 t.Fatalf("Unexpected number of references: %d, expected 2", len(refs))
1121 }
1122
1123 for _, ref := range refs {
1124 if err := testFetch(ctx, f, ref); err != nil {
1125 t.Fatal(err)
1126 }
1127 }
1128}
1129
1130func runNotFoundTest(t *testing.T, name string, sf func(h http.Handler) (string, ResolverOptions, func())) {
1131 var (

Callers 14

TestHTTPResolverFunction · 0.70
TestHTTPSResolverFunction · 0.70
TestResolverOptionsRaceFunction · 0.70
TestBasicResolverFunction · 0.70
TestRefreshTokenResolverFunction · 0.70
TestFetchRefreshTokenFunction · 0.70
TestBasicAuthResolverFunction · 0.70

Calls 12

ResolveMethod · 0.95
FetcherMethod · 0.95
NewResolverFunction · 0.85
testocimanifestFunction · 0.85
testFetchFunction · 0.85
FatalMethod · 0.80
newManifestFunction · 0.70
newContentFunction · 0.70
HandleMethod · 0.65
DigestMethod · 0.65
OCIManifestMethod · 0.45
RegisterHandlerMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…