Fix digest resolution for GCR (#135)

fixes #134

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2018-09-09 15:32:26 +02:00 committed by Jess Frazelle
parent 809456d47e
commit 6aceb5ae40
2 changed files with 50 additions and 1 deletions

View file

@ -24,7 +24,7 @@ func (r *Registry) Digest(image Image) (digest.Digest, error) {
return "", err
}
req.Header.Add("Accept", fmt.Sprintf("%s;q=0.9", schema2.MediaTypeManifest))
req.Header.Add("Accept", schema2.MediaTypeManifest)
resp, err := r.Client.Do(req)
if err != nil {
return "", err

49
registry/digest_test.go Normal file
View file

@ -0,0 +1,49 @@
package registry
import (
"testing"
"github.com/genuinetools/reg/repoutils"
)
func TestDigestFromDockerHub(t *testing.T) {
auth, err := repoutils.GetAuthConfig("", "", "docker.io")
if err != nil {
t.Fatalf("Could not get auth config: %s", err)
}
r, err := New(auth, Opt{})
if err != nil {
t.Fatalf("Could not create registry instance: %s", err)
}
d, err := r.Digest(Image{Domain: "docker.io", Path: "library/alpine", Tag: "latest"})
if err != nil {
t.Fatalf("Could not get digest: %s", err)
}
if d == "" {
t.Error("Empty digest received")
}
}
func TestDigestFromGCR(t *testing.T) {
auth, err := repoutils.GetAuthConfig("", "", "gcr.io")
if err != nil {
t.Fatalf("Could not get auth config: %s", err)
}
r, err := New(auth, Opt{})
if err != nil {
t.Fatalf("Could not create registry instance: %s", err)
}
d, err := r.Digest(Image{Domain: "gcr.io", Path: "google_containers/hyperkube", Tag: "v1.9.9"})
if err != nil {
t.Fatalf("Could not get digest: %s", err)
}
if d == "" {
t.Error("Empty digest received")
}
}