moby--moby/integration-cli/docker_cli_search_test.go

48 lines
1.5 KiB
Go

package main
import (
"os/exec"
"strings"
"testing"
)
// search for repos named "registry" on the central registry
func TestSearchOnCentralRegistry(t *testing.T) {
testRequires(t, Network)
searchCmd := exec.Command(dockerBinary, "search", "busybox")
out, exitCode, err := runCommandWithOutput(searchCmd)
if err != nil || exitCode != 0 {
t.Fatalf("failed to search on the central registry: %s, %v", out, err)
}
if !strings.Contains(out, "Busybox base image.") {
t.Fatal("couldn't find any repository named (or containing) 'Busybox base image.'")
}
logDone("search - search for repositories named (or containing) 'Busybox base image.'")
}
func TestSearchStarsOptionWithWrongParameter(t *testing.T) {
searchCmdStarsChars := exec.Command(dockerBinary, "search", "--stars=a", "busybox")
out, exitCode, err := runCommandWithOutput(searchCmdStarsChars)
if err == nil || exitCode == 0 {
t.Fatalf("Should not get right information: %s, %v", out, err)
}
if !strings.Contains(out, "invalid value") {
t.Fatal("couldn't find the invalid value warning")
}
searchCmdStarsNegativeNumber := exec.Command(dockerBinary, "search", "-s=-1", "busybox")
out, exitCode, err = runCommandWithOutput(searchCmdStarsNegativeNumber)
if err == nil || exitCode == 0 {
t.Fatalf("Should not get right information: %s, %v", out, err)
}
if !strings.Contains(out, "invalid value") {
t.Fatal("couldn't find the invalid value warning")
}
logDone("search - Verify search with wrong parameter.")
}