Use go-digest package
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
This commit is contained in:
parent
dbc336e1ff
commit
e0286a7de0
2 changed files with 8 additions and 6 deletions
|
@ -5,7 +5,8 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/docker/distribution/digest"
|
"github.com/docker/distribution/digestset"
|
||||||
|
"github.com/opencontainers/go-digest"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -142,7 +143,7 @@ func ParseAnyReference(ref string) (Reference, error) {
|
||||||
if ok := anchoredIdentifierRegexp.MatchString(ref); ok {
|
if ok := anchoredIdentifierRegexp.MatchString(ref); ok {
|
||||||
return digestReference("sha256:" + ref), nil
|
return digestReference("sha256:" + ref), nil
|
||||||
}
|
}
|
||||||
if dgst, err := digest.ParseDigest(ref); err == nil {
|
if dgst, err := digest.Parse(ref); err == nil {
|
||||||
return digestReference(dgst), nil
|
return digestReference(dgst), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,14 +152,14 @@ func ParseAnyReference(ref string) (Reference, error) {
|
||||||
|
|
||||||
// ParseAnyReferenceWithSet parses a reference string as a possible short
|
// ParseAnyReferenceWithSet parses a reference string as a possible short
|
||||||
// identifier to be matched in a digest set, a full digest, or familiar name.
|
// identifier to be matched in a digest set, a full digest, or familiar name.
|
||||||
func ParseAnyReferenceWithSet(ref string, ds *digest.Set) (Reference, error) {
|
func ParseAnyReferenceWithSet(ref string, ds *digestset.Set) (Reference, error) {
|
||||||
if ok := anchoredShortIdentifierRegexp.MatchString(ref); ok {
|
if ok := anchoredShortIdentifierRegexp.MatchString(ref); ok {
|
||||||
dgst, err := ds.Lookup(ref)
|
dgst, err := ds.Lookup(ref)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
return digestReference(dgst), nil
|
return digestReference(dgst), nil
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if dgst, err := digest.ParseDigest(ref); err == nil {
|
if dgst, err := digest.Parse(ref); err == nil {
|
||||||
return digestReference(dgst), nil
|
return digestReference(dgst), nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,8 @@ package reference
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/docker/distribution/digest"
|
"github.com/docker/distribution/digestset"
|
||||||
|
"github.com/opencontainers/go-digest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestValidateReferenceName(t *testing.T) {
|
func TestValidateReferenceName(t *testing.T) {
|
||||||
|
@ -410,7 +411,7 @@ func TestParseAnyReference(t *testing.T) {
|
||||||
if len(tcase.Digests) == 0 {
|
if len(tcase.Digests) == 0 {
|
||||||
ref, err = ParseAnyReference(tcase.Reference)
|
ref, err = ParseAnyReference(tcase.Reference)
|
||||||
} else {
|
} else {
|
||||||
ds := digest.NewSet()
|
ds := digestset.NewSet()
|
||||||
for _, dgst := range tcase.Digests {
|
for _, dgst := range tcase.Digests {
|
||||||
if err := ds.Add(dgst); err != nil {
|
if err := ds.Add(dgst); err != nil {
|
||||||
t.Fatalf("Error adding digest %s: %v", dgst.String(), err)
|
t.Fatalf("Error adding digest %s: %v", dgst.String(), err)
|
||||||
|
|
Loading…
Reference in a new issue