Skip to content
This repository has been archived by the owner on Nov 27, 2023. It is now read-only.

Commit

Permalink
Merge pull request #533 from docker/more_ecs_e2e
Browse files Browse the repository at this point in the history
More ECS E2E tests (secrets), in // of compose
  • Loading branch information
gtardif authored Aug 21, 2020
2 parents d85d963 + e05603a commit d6c8039
Showing 1 changed file with 66 additions and 28 deletions.
94 changes: 66 additions & 28 deletions tests/ecs-e2e/e2e-ecs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,36 +48,42 @@ func TestMain(m *testing.M) {
os.Exit(exitCode)
}

func TestCompose(t *testing.T) {
startTime := strconv.Itoa(int(time.Now().UnixNano()))
c := NewE2eCLI(t, binDir)
contextName := "teste2e" + startTime
stack := contextName
func TestSecrets(t *testing.T) {
c, testID := setupTest(t)
secretName := "secret" + testID
description := "description " + testID

t.Run("create context", func(t *testing.T) {
localTestProfile := os.Getenv("TEST_AWS_PROFILE")
var res *icmd.Result
if localTestProfile != "" {
region := os.Getenv("TEST_AWS_REGION")
assert.Check(t, region != "")
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", localTestProfile, "--region", region)
res.Assert(t, icmd.Success)
} else {
profile := contextName
region := os.Getenv("AWS_DEFAULT_REGION")
secretKey := os.Getenv("AWS_SECRET_ACCESS_KEY")
keyID := os.Getenv("AWS_ACCESS_KEY_ID")
assert.Check(t, keyID != "")
assert.Check(t, secretKey != "")
assert.Check(t, region != "")
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", profile, "--region", region, "--secret-key", secretKey, "--key-id", keyID)
res.Assert(t, icmd.Success)
}
res = c.RunDockerCmd("context", "use", contextName)
res.Assert(t, icmd.Expected{Out: contextName})
res = c.RunDockerCmd("context", "ls")
res.Assert(t, icmd.Expected{Out: contextName + " *"})
t.Run("create secret", func(t *testing.T) {
res := c.RunDockerCmd("secret", "create", secretName, "-u", "user1", "-p", "pass1", "-d", description)
res.Assert(t, icmd.Success)
assert.Check(t, strings.Contains(res.Stdout(), "secret:"+secretName))
})

t.Run("list secrets", func(t *testing.T) {
res := c.RunDockerCmd("secret", "list")
res.Assert(t, icmd.Success)
assert.Check(t, strings.Contains(res.Stdout(), secretName))
assert.Check(t, strings.Contains(res.Stdout(), description))
})

t.Run("inspect secret", func(t *testing.T) {
res := c.RunDockerCmd("secret", "inspect", secretName)
res.Assert(t, icmd.Success)
assert.Check(t, strings.Contains(res.Stdout(), `"Name": "`+secretName+`"`))
assert.Check(t, strings.Contains(res.Stdout(), `"Description": "`+description+`"`))
})

t.Run("rm secret", func(t *testing.T) {
res := c.RunDockerCmd("secret", "rm", secretName)
res.Assert(t, icmd.Success)
res = c.RunDockerCmd("secret", "list")
res.Assert(t, icmd.Success)
assert.Check(t, !strings.Contains(res.Stdout(), secretName))
})
}

func TestCompose(t *testing.T) {
c, stack := setupTest(t)

t.Run("compose up", func(t *testing.T) {
res := c.RunDockerCmd("compose", "up", "--project-name", stack, "-f", "../composefiles/nginx.yaml")
Expand Down Expand Up @@ -122,3 +128,35 @@ func TestCompose(t *testing.T) {
res.Assert(t, icmd.Success)
})
}

func setupTest(t *testing.T) (*E2eCLI, string) {
startTime := strconv.Itoa(int(time.Now().UnixNano()))
c := NewParallelE2eCLI(t, binDir)
contextName := "e2e" + t.Name() + startTime
stack := contextName
t.Run("create context", func(t *testing.T) {
localTestProfile := os.Getenv("TEST_AWS_PROFILE")
var res *icmd.Result
if localTestProfile != "" {
region := os.Getenv("TEST_AWS_REGION")
assert.Check(t, region != "")
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", localTestProfile, "--region", region)
res.Assert(t, icmd.Success)
} else {
profile := contextName
region := os.Getenv("AWS_DEFAULT_REGION")
secretKey := os.Getenv("AWS_SECRET_ACCESS_KEY")
keyID := os.Getenv("AWS_ACCESS_KEY_ID")
assert.Check(t, keyID != "")
assert.Check(t, secretKey != "")
assert.Check(t, region != "")
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", profile, "--region", region, "--secret-key", secretKey, "--key-id", keyID)
res.Assert(t, icmd.Success)
}
res = c.RunDockerCmd("context", "use", contextName)
res.Assert(t, icmd.Expected{Out: contextName})
res = c.RunDockerCmd("context", "ls")
res.Assert(t, icmd.Expected{Out: contextName + " *"})
})
return c, stack
}

0 comments on commit d6c8039

Please sign in to comment.