func TestWriteProxyScript(t *testing.T) { // temporary directory to store file dir, _ := ioutil.TempDir("", "drone-test-") defer os.RemoveAll(dir) // fake service container that we'll assume was part of the yaml // and should be attached to the build container. c := docker.Container{ NetworkSettings: &docker.NetworkSettings{ IPAddress: "172.1.4.5", Ports: map[docker.Port][]docker.PortBinding{ docker.NewPort("tcp", "3306"): nil, }, }, } // this should generate the following proxy file p := proxy.Proxy{} p.Set("3306", "172.1.4.5") want := p.String() b := Builder{} b.services = append(b.services, &c) b.writeProxyScript(dir) // persist a dummy proxy script to disk got, err := ioutil.ReadFile(filepath.Join(dir, "proxy.sh")) if err != nil { t.Errorf("Expected proxy.sh file saved to disk") } if string(got) != want { t.Errorf("Expected proxy.sh value saved as %s, got %s", want, got) } }