From c9b35ac79092ead16b7316b1d5befcd7b2fbdb7c Mon Sep 17 00:00:00 2001 From: Akilan Selvacoumar Date: Fri, 11 Jun 2021 01:52:31 +0400 Subject: [PATCH] fixed errors when providing docker container name in the parameter --- client/container.go | 1 + server/docker/docker.go | 6 ++++-- server/docker/docker_test.go | 13 +++++++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/client/container.go b/client/container.go index b4ca8f2..b64a766 100644 --- a/client/container.go +++ b/client/container.go @@ -19,6 +19,7 @@ var client = http.Client{} // StartContainer Start container using REST api Implementation // From the selected server IP address // TODO: Test cases for this function +//Calls URL ex: http://0.0.0.0:8088/startcontainer?ports=0&GPU=false&ContainerName=docker-ubuntu-sshd func StartContainer(IP string, NumPorts int, GPU bool, ContainerName string) (*docker.DockerVM ,error) { // Passes URL with number of TCP ports to allocated and to give GPU access to the docker container URL := "http://" + IP + ":" + serverPort + "/startcontainer?ports=" + fmt.Sprint(NumPorts) + "&GPU=" + strconv.FormatBool(GPU) + "&ContainerName=" + ContainerName diff --git a/server/docker/docker.go b/server/docker/docker.go index 7950592..703f7f3 100644 --- a/server/docker/docker.go +++ b/server/docker/docker.go @@ -93,11 +93,14 @@ func BuildRunContainer(NumPorts int, GPU string, ContainerName string) (*DockerV } RespDocker.ImagePath = config.DefaultDockerFile - if ContainerName != "" { + // We are checking if the container name is not nil and not equal to the default one used + // which is docker-ubuntu-sshd + if ContainerName != "" && ContainerName != "docker-ubuntu-sshd" { Containers, err := ViewAllContainers() if err != nil { return nil,err } + for _, dockerContainer := range Containers.DockerContainer { if dockerContainer.ContainerName == ContainerName { RespDocker.ImagePath = config.DockerContainers + ContainerName + "/" @@ -311,7 +314,6 @@ func ViewAllContainers() (*DockerContainers, error){ for _, f := range folders { if f.IsDir() { - fmt.Print(f.Name()) //Declare variable DockerContainer of type struct var Container DockerContainer diff --git a/server/docker/docker_test.go b/server/docker/docker_test.go index 53921e2..8c2a447 100644 --- a/server/docker/docker_test.go +++ b/server/docker/docker_test.go @@ -1,19 +1,24 @@ package docker import ( - "fmt" "testing" ) func TestDocker(t *testing.T) { - //TODO overwrite with custom docker paths - resp,err := BuildRunContainer(2,"true","") + // Testing by providing default container name + _,err := BuildRunContainer(2,"false","docker-ubuntu-sshd") + + if err != nil { + t.Error(err) + } + + // Testing if no container name is provided if default is used + _,err = BuildRunContainer(2,"false","") if err != nil { t.Error(err) } - fmt.Print(resp.VNCPort) } func TestViewAllContainers(t *testing.T) {