Merge pull request #6037 from vrothberg/enable-push-tests
Enable push tests
This commit is contained in:
commit
a76a99352a
|
@ -98,6 +98,7 @@ func imagePush(cmd *cobra.Command, args []string) error {
|
|||
switch len(args) {
|
||||
case 1:
|
||||
source = args[0]
|
||||
destination = args[0]
|
||||
case 2:
|
||||
source = args[0]
|
||||
destination = args[1]
|
||||
|
@ -107,22 +108,21 @@ func imagePush(cmd *cobra.Command, args []string) error {
|
|||
return errors.New("push requires at least one image name, or optionally a second to specify a different destination")
|
||||
}
|
||||
|
||||
pushOptsAPI := pushOptions.ImagePushOptions
|
||||
// TLS verification in c/image is controlled via a `types.OptionalBool`
|
||||
// which allows for distinguishing among set-true, set-false, unspecified
|
||||
// which is important to implement a sane way of dealing with defaults of
|
||||
// boolean CLI flags.
|
||||
if cmd.Flags().Changed("tls-verify") {
|
||||
pushOptsAPI.TLSVerify = types.NewOptionalBool(pushOptions.TLSVerifyCLI)
|
||||
pushOptions.SkipTLSVerify = types.NewOptionalBool(!pushOptions.TLSVerifyCLI)
|
||||
}
|
||||
|
||||
if pushOptsAPI.Authfile != "" {
|
||||
if _, err := os.Stat(pushOptsAPI.Authfile); err != nil {
|
||||
return errors.Wrapf(err, "error getting authfile %s", pushOptsAPI.Authfile)
|
||||
if pushOptions.Authfile != "" {
|
||||
if _, err := os.Stat(pushOptions.Authfile); err != nil {
|
||||
return errors.Wrapf(err, "error getting authfile %s", pushOptions.Authfile)
|
||||
}
|
||||
}
|
||||
|
||||
// Let's do all the remaining Yoga in the API to prevent us from scattering
|
||||
// logic across (too) many parts of the code.
|
||||
return registry.ImageEngine().Push(registry.GetContext(), source, destination, pushOptsAPI)
|
||||
return registry.ImageEngine().Push(registry.GetContext(), source, destination, pushOptions.ImagePushOptions)
|
||||
}
|
||||
|
|
|
@ -310,9 +310,10 @@ func Push(ctx context.Context, source string, destination string, options entiti
|
|||
params := url.Values{}
|
||||
params.Set("credentials", options.Credentials)
|
||||
params.Set("destination", destination)
|
||||
if options.TLSVerify != types.OptionalBoolUndefined {
|
||||
val := bool(options.TLSVerify == types.OptionalBoolTrue)
|
||||
params.Set("tlsVerify", strconv.FormatBool(val))
|
||||
if options.SkipTLSVerify != types.OptionalBoolUndefined {
|
||||
// Note: we have to verify if skipped is false.
|
||||
verifyTLS := bool(options.SkipTLSVerify == types.OptionalBoolFalse)
|
||||
params.Set("tlsVerify", strconv.FormatBool(verifyTLS))
|
||||
}
|
||||
|
||||
path := fmt.Sprintf("/images/%s/push", source)
|
||||
|
|
|
@ -183,8 +183,8 @@ type ImagePushOptions struct {
|
|||
// SignBy adds a signature at the destination using the specified key.
|
||||
// Ignored for remote calls.
|
||||
SignBy string
|
||||
// TLSVerify to enable/disable HTTPS and certificate verification.
|
||||
TLSVerify types.OptionalBool
|
||||
// SkipTLSVerify to skip HTTPS and certificate verification.
|
||||
SkipTLSVerify types.OptionalBool
|
||||
}
|
||||
|
||||
// ImageSearchOptions are the arguments for searching images.
|
||||
|
|
|
@ -221,7 +221,7 @@ func (ir *ImageEngine) Push(ctx context.Context, source string, destination stri
|
|||
dockerRegistryOptions := image.DockerRegistryOptions{
|
||||
DockerRegistryCreds: registryCreds,
|
||||
DockerCertPath: options.CertDir,
|
||||
DockerInsecureSkipTLSVerify: options.TLSVerify,
|
||||
DockerInsecureSkipTLSVerify: options.SkipTLSVerify,
|
||||
}
|
||||
|
||||
signOptions := image.SigningOptions{
|
||||
|
|
|
@ -22,7 +22,6 @@ var _ = Describe("Podman push", func() {
|
|||
)
|
||||
|
||||
BeforeEach(func() {
|
||||
Skip(v2fail)
|
||||
tempdir, err = CreateTempDirInTempDir()
|
||||
if err != nil {
|
||||
os.Exit(1)
|
||||
|
|
|
@ -166,8 +166,6 @@ function setup() {
|
|||
# Some push tests
|
||||
@test "podman push fail" {
|
||||
|
||||
skip "Not working for v2 yet"
|
||||
|
||||
# Create an invalid authfile
|
||||
authfile=${PODMAN_LOGIN_WORKDIR}/auth-$(random_string 10).json
|
||||
rm -f $authfile
|
||||
|
|
Loading…
Reference in New Issue