No need for docker dependency for CopyDir, and yaml parser.

No need for multiport compose file with volumes

Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
This commit is contained in:
Guillaume Tardif 2020-10-06 17:46:13 +02:00
parent f8a3aec64d
commit 9cc914ef07
5 changed files with 13 additions and 36 deletions

1
go.mod
View File

@ -63,7 +63,6 @@ require (
google.golang.org/protobuf v1.25.0
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
gopkg.in/ini.v1 v1.61.0
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
gotest.tools v2.2.0+incompatible
gotest.tools/v3 v3.0.2
)

4
go.sum
View File

@ -188,11 +188,14 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
github.com/go-kit/kit v0.8.0 h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
@ -312,6 +315,7 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=

View File

@ -20,7 +20,6 @@ import (
"context"
"errors"
"fmt"
"github.com/prometheus/tsdb/fileutil"
"io/ioutil"
"math/rand"
"net/http"
@ -34,9 +33,6 @@ import (
"testing"
"time"
"github.com/compose-spec/compose-go/loader"
"github.com/compose-spec/compose-go/types"
"gopkg.in/yaml.v3"
"gotest.tools/v3/assert"
is "gotest.tools/v3/assert/cmp"
"gotest.tools/v3/icmd"
@ -45,6 +41,7 @@ import (
"github.com/Azure/azure-sdk-for-go/profiles/2019-03-01/resources/mgmt/resources"
"github.com/Azure/azure-storage-file-go/azfile"
"github.com/Azure/go-autorest/autorest/to"
"github.com/prometheus/tsdb/fileutil"
"github.com/docker/compose-cli/aci"
"github.com/docker/compose-cli/aci/convert"
@ -477,15 +474,9 @@ func TestContainerRunAttached(t *testing.T) {
func overwriteFileStorageAccount(t *testing.T, absComposefileName string, storageAccount string) {
data, err := ioutil.ReadFile(absComposefileName)
m, err := loader.ParseYAML(data)
assert.NilError(t, err)
p, err := loader.Load(types.ConfigDetails{ConfigFiles: []types.ConfigFile{{Config: m}}})
p.Volumes["mydata"].DriverOpts["storage_account_name"] = storageAccount
out, err := yaml.Marshal(p)
assert.NilError(t, err)
// FIXME(ulyssessouza): Change `compose-go` to omit `WorkingDir` and `Name` on YAML serialization
outBytes := []byte(strings.Join(strings.Split(string(out), "\n")[2:], "\n")) // Removes the first 2 lines
err = ioutil.WriteFile(absComposefileName, outBytes, 0644)
override := strings.Replace(string(data), "dockertestvolumeaccount", storageAccount, 1)
err = ioutil.WriteFile(absComposefileName, []byte(override), 0644)
assert.NilError(t, err)
}
@ -498,7 +489,7 @@ func TestUpUpdate(t *testing.T) {
)
var (
singlePortVolumesComposefile = "aci_demo_port_volumes.yaml"
multiPortVolumesComposefile = "aci_demo_multiport_volumes.yaml"
multiPortComposefile = "aci_demo_multi_port.yaml"
)
c := NewParallelE2eCLI(t, binDir)
sID, groupID, location := setupTestResourceGroup(t, c)
@ -515,8 +506,7 @@ func TestUpUpdate(t *testing.T) {
singlePortVolumesComposefile = filepath.Join(dstDir, singlePortVolumesComposefile)
overwriteFileStorageAccount(t, singlePortVolumesComposefile, composeAccountName)
multiPortVolumesComposefile = filepath.Join(dstDir, multiPortVolumesComposefile)
multiPortComposefile = filepath.Join(dstDir, multiPortComposefile)
t.Run("compose up", func(t *testing.T) {
const (
@ -554,7 +544,7 @@ func TestUpUpdate(t *testing.T) {
strings.Contains(l, ":80->80/tcp")
}
}
assert.Assert(t, webRunning, "web container not running ; ps:\n" + res.Stdout())
assert.Assert(t, webRunning, "web container not running ; ps:\n"+res.Stdout())
res = c.RunDockerCmd("inspect", serverContainer)
@ -615,7 +605,7 @@ func TestUpUpdate(t *testing.T) {
})
t.Run("update", func(t *testing.T) {
c.RunDockerCmd("compose", "up", "-f", multiPortVolumesComposefile, "--project-name", composeProjectName)
c.RunDockerCmd("compose", "up", "-f", multiPortComposefile, "--project-name", composeProjectName)
res := c.RunDockerCmd("ps")
out := lines(res.Stdout())
// Check three containers are running

View File

@ -1,16 +0,0 @@
services:
db:
build: db
image: gtardif/sentences-db
words:
build: words
image: gtardif/sentences-api
ports:
- "8080:8080"
web:
build: web
image: gtardif/sentences-web
ports:
- "80:80"

View File

@ -142,7 +142,7 @@ func CopyFile(sourceFile string, destinationFile string) error {
return nil
}
// NewCmd creates a cmd object configured with the Test environment set
// NewCmd creates a cmd object configured with the test environment set
func (c *E2eCLI) NewCmd(command string, args ...string) icmd.Cmd {
env := append(os.Environ(),
"DOCKER_CONFIG="+c.ConfigDir,
@ -173,7 +173,7 @@ func (c *E2eCLI) RunDockerCmd(args ...string) *icmd.Result {
return res
}
// PathEnvVar returns path (os sensitive) for running Test
// PathEnvVar returns path (os sensitive) for running test
func (c *E2eCLI) PathEnvVar() string {
path := c.BinDir + ":" + os.Getenv("PATH")
if runtime.GOOS == "windows" {