1 // Package registry provides an in-memory httptest-backed registry for testing. 2 package registry 3 4 import ( 5 "net/http/httptest" 6 "net/url" 7 8 "github.com/google/go-containerregistry/pkg/registry" 9 ) 10 11 // Option is a type alias for downstream users. 12 type Option = registry.Option 13 14 // Common option aliases for downstream users. 15 var ( 16 Logger = registry.Logger 17 ) 18 19 // New creates an in-memory registry httptest server. 20 func New(opts ...Option) (*url.URL, *httptest.Server, error) { 21 testRegistry := httptest.NewServer(registry.New(opts...)) 22 u, err := url.Parse(testRegistry.URL) 23 if err != nil { 24 return nil, nil, err 25 } 26 return u, testRegistry, nil 27 } 28