2014-02-25 20:17:48 +04:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os/exec"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
// these tests need a freshly started empty private docker registry
|
|
|
|
|
|
|
|
// pulling an image from the central registry should work
|
|
|
|
func TestPushBusyboxImage(t *testing.T) {
|
|
|
|
// skip this test until we're able to use a registry
|
|
|
|
t.Skip()
|
|
|
|
// tag the image to upload it tot he private registry
|
|
|
|
repoName := fmt.Sprintf("%v/busybox", privateRegistryURL)
|
|
|
|
tagCmd := exec.Command(dockerBinary, "tag", "busybox", repoName)
|
|
|
|
out, exitCode, err := runCommandWithOutput(tagCmd)
|
|
|
|
errorOut(err, t, fmt.Sprintf("%v %v", out, err))
|
|
|
|
|
|
|
|
if err != nil || exitCode != 0 {
|
|
|
|
t.Fatal("image tagging failed")
|
|
|
|
}
|
|
|
|
|
|
|
|
pushCmd := exec.Command(dockerBinary, "push", repoName)
|
|
|
|
out, exitCode, err = runCommandWithOutput(pushCmd)
|
|
|
|
errorOut(err, t, fmt.Sprintf("%v %v", out, err))
|
|
|
|
|
2014-04-04 04:22:32 +04:00
|
|
|
deleteImages(repoName)
|
2014-02-25 20:17:48 +04:00
|
|
|
|
|
|
|
if err != nil || exitCode != 0 {
|
|
|
|
t.Fatal("pushing the image to the private registry has failed")
|
|
|
|
}
|
|
|
|
logDone("push - push busybox to private registry")
|
|
|
|
}
|
|
|
|
|
|
|
|
// pushing an image without a prefix should throw an error
|
|
|
|
func TestPushUnprefixedRepo(t *testing.T) {
|
|
|
|
// skip this test until we're able to use a registry
|
|
|
|
t.Skip()
|
|
|
|
pushCmd := exec.Command(dockerBinary, "push", "busybox")
|
|
|
|
_, exitCode, err := runCommandWithOutput(pushCmd)
|
|
|
|
|
|
|
|
if err == nil || exitCode == 0 {
|
|
|
|
t.Fatal("pushing an unprefixed repo didn't result in a non-zero exit status")
|
|
|
|
}
|
|
|
|
logDone("push - push unprefixed busybox repo --> must fail")
|
|
|
|
}
|