Fix API Server E2E test using npipe on windows, not sockets

This commit is contained in:
guillaume.tardif 2020-06-08 17:08:54 +02:00 committed by Guillaume Tardif
parent bed0b81343
commit c92df92d29
2 changed files with 15 additions and 6 deletions

View File

@ -231,17 +231,26 @@ func (s *E2eSuite) TestAPIServer() {
cName := "test-example" cName := "test-example"
s.NewDockerCommand("context", "create", cName, "example").ExecOrDie() s.NewDockerCommand("context", "create", cName, "example").ExecOrDie()
sPath := fmt.Sprintf("unix:///%s/docker.sock", s.ConfigDir) //sPath := fmt.Sprintf("unix:///%s/docker.sock", s.ConfigDir)
sPath, cliAddress := s.getGrpcServerAndCLientAddress()
server, err := serveAPI(s.ConfigDir, sPath) server, err := serveAPI(s.ConfigDir, sPath)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
defer killProcess(server) defer killProcess(server)
s.NewCommand("yarn", "install").WithinDirectory("../node-client").ExecOrDie() s.NewCommand("yarn", "install").WithinDirectory("../node-client").ExecOrDie()
output := s.NewCommand("yarn", "run", "start", cName, sPath).WithinDirectory("../node-client").ExecOrDie() output := s.NewCommand("yarn", "run", "start", cName, cliAddress).WithinDirectory("../node-client").ExecOrDie()
Expect(output).To(ContainSubstring("nginx")) Expect(output).To(ContainSubstring("nginx"))
}) })
} }
func (s *E2eSuite) getGrpcServerAndCLientAddress() (string, string) {
if IsWindows() {
return "npipe:////./pipe/clibackend", "unix:////./pipe/clibackend"
}
socketName := fmt.Sprintf("unix:///%s/docker.sock", s.ConfigDir)
return socketName, socketName
}
func TestE2e(t *testing.T) { func TestE2e(t *testing.T) {
suite.Run(t, new(E2eSuite)) suite.Run(t, new(E2eSuite))
} }

View File

@ -122,13 +122,13 @@ func (s *Suite) AfterTest(suite, test string) {
// ListProcessesCommand creates a command to list processes, "tasklist" on windows, "ps" otherwise. // ListProcessesCommand creates a command to list processes, "tasklist" on windows, "ps" otherwise.
func (s *Suite) ListProcessesCommand() *CmdContext { func (s *Suite) ListProcessesCommand() *CmdContext {
if isWindows() { if IsWindows() {
return s.NewCommand("tasklist") return s.NewCommand("tasklist")
} }
return s.NewCommand("ps") return s.NewCommand("ps")
} }
func isWindows() bool { func IsWindows() bool {
return runtime.GOOS == "windows" return runtime.GOOS == "windows"
} }
@ -142,14 +142,14 @@ func (s *Suite) NewCommand(command string, args ...string) *CmdContext {
} }
func dockerExecutable() string { func dockerExecutable() string {
if isWindows() { if IsWindows() {
return "docker.exe" return "docker.exe"
} }
return "docker" return "docker"
} }
func DockerClassicExecutable() string { func DockerClassicExecutable() string {
if isWindows() { if IsWindows() {
return "docker-classic.exe" return "docker-classic.exe"
} }
return "docker-classic" return "docker-classic"