dep: Update containers/image to 1d7e25b91705e4d1cddb5396baf112caeb1119f3
Signed-off-by: Andrew Pilloud <andrewpilloud@igneoussystems.com>
This commit is contained in:
parent
54c176e336
commit
de9995d5f0
84 changed files with 3091 additions and 748 deletions
31
vendor/github.com/containers/image/transports/alltransports/alltransports.go
generated
vendored
Normal file
31
vendor/github.com/containers/image/transports/alltransports/alltransports.go
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
package alltransports
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
// register all known transports
|
||||
// NOTE: Make sure docs/policy.json.md is updated when adding or updating
|
||||
// a transport.
|
||||
_ "github.com/containers/image/directory"
|
||||
_ "github.com/containers/image/docker"
|
||||
_ "github.com/containers/image/docker/daemon"
|
||||
_ "github.com/containers/image/oci/layout"
|
||||
_ "github.com/containers/image/openshift"
|
||||
_ "github.com/containers/image/storage"
|
||||
"github.com/containers/image/transports"
|
||||
"github.com/containers/image/types"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// ParseImageName converts a URL-like image name to a types.ImageReference.
|
||||
func ParseImageName(imgName string) (types.ImageReference, error) {
|
||||
parts := strings.SplitN(imgName, ":", 2)
|
||||
if len(parts) != 2 {
|
||||
return nil, errors.Errorf(`Invalid image name "%s", expected colon-separated transport:reference`, imgName)
|
||||
}
|
||||
transport := transports.Get(parts[0])
|
||||
if transport == nil {
|
||||
return nil, errors.Errorf(`Invalid image name "%s", unknown transport "%s"`, imgName, parts[0])
|
||||
}
|
||||
return transport.ParseReference(parts[1])
|
||||
}
|
43
vendor/github.com/containers/image/transports/alltransports/alltransports_test.go
generated
vendored
Normal file
43
vendor/github.com/containers/image/transports/alltransports/alltransports_test.go
generated
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
package alltransports
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/containers/image/transports"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestParseImageName(t *testing.T) {
|
||||
// This primarily tests error handling, TestImageNameHandling is a table-driven
|
||||
// test for the expected values.
|
||||
for _, name := range []string{
|
||||
"", // Empty
|
||||
"busybox", // No transport name
|
||||
":busybox", // Empty transport name
|
||||
"docker:", // Empty transport reference
|
||||
} {
|
||||
_, err := ParseImageName(name)
|
||||
assert.Error(t, err, name)
|
||||
}
|
||||
}
|
||||
|
||||
// A table-driven test summarizing the various transports' behavior.
|
||||
func TestImageNameHandling(t *testing.T) {
|
||||
for _, c := range []struct{ transport, input, roundtrip string }{
|
||||
{"dir", "/etc", "/etc"},
|
||||
{"docker", "//busybox", "//busybox:latest"},
|
||||
{"docker", "//busybox:notlatest", "//busybox:notlatest"}, // This also tests handling of multiple ":" characters
|
||||
{"docker-daemon", "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},
|
||||
{"docker-daemon", "busybox:latest", "busybox:latest"},
|
||||
{"oci", "/etc:sometag", "/etc:sometag"},
|
||||
// "atomic" not tested here because it depends on per-user configuration for the default cluster.
|
||||
// "containers-storage" not tested here because it needs to initialize various directories on the fs.
|
||||
} {
|
||||
fullInput := c.transport + ":" + c.input
|
||||
ref, err := ParseImageName(fullInput)
|
||||
require.NoError(t, err, fullInput)
|
||||
s := transports.ImageName(ref)
|
||||
assert.Equal(t, c.transport+":"+c.roundtrip, s, fullInput)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue