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

Commit d6c8039

Browse files
authored
Merge pull request #533 from docker/more_ecs_e2e
More ECS E2E tests (secrets), in // of compose
2 parents d85d963 + e05603a commit d6c8039

File tree

1 file changed

+66
-28
lines changed

1 file changed

+66
-28
lines changed

tests/ecs-e2e/e2e-ecs_test.go

+66-28
Original file line numberDiff line numberDiff line change
@@ -48,36 +48,42 @@ func TestMain(m *testing.M) {
4848
os.Exit(exitCode)
4949
}
5050

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

57-
t.Run("create context", func(t *testing.T) {
58-
localTestProfile := os.Getenv("TEST_AWS_PROFILE")
59-
var res *icmd.Result
60-
if localTestProfile != "" {
61-
region := os.Getenv("TEST_AWS_REGION")
62-
assert.Check(t, region != "")
63-
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", localTestProfile, "--region", region)
64-
res.Assert(t, icmd.Success)
65-
} else {
66-
profile := contextName
67-
region := os.Getenv("AWS_DEFAULT_REGION")
68-
secretKey := os.Getenv("AWS_SECRET_ACCESS_KEY")
69-
keyID := os.Getenv("AWS_ACCESS_KEY_ID")
70-
assert.Check(t, keyID != "")
71-
assert.Check(t, secretKey != "")
72-
assert.Check(t, region != "")
73-
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", profile, "--region", region, "--secret-key", secretKey, "--key-id", keyID)
74-
res.Assert(t, icmd.Success)
75-
}
76-
res = c.RunDockerCmd("context", "use", contextName)
77-
res.Assert(t, icmd.Expected{Out: contextName})
78-
res = c.RunDockerCmd("context", "ls")
79-
res.Assert(t, icmd.Expected{Out: contextName + " *"})
56+
t.Run("create secret", func(t *testing.T) {
57+
res := c.RunDockerCmd("secret", "create", secretName, "-u", "user1", "-p", "pass1", "-d", description)
58+
res.Assert(t, icmd.Success)
59+
assert.Check(t, strings.Contains(res.Stdout(), "secret:"+secretName))
60+
})
61+
62+
t.Run("list secrets", func(t *testing.T) {
63+
res := c.RunDockerCmd("secret", "list")
64+
res.Assert(t, icmd.Success)
65+
assert.Check(t, strings.Contains(res.Stdout(), secretName))
66+
assert.Check(t, strings.Contains(res.Stdout(), description))
67+
})
68+
69+
t.Run("inspect secret", func(t *testing.T) {
70+
res := c.RunDockerCmd("secret", "inspect", secretName)
71+
res.Assert(t, icmd.Success)
72+
assert.Check(t, strings.Contains(res.Stdout(), `"Name": "`+secretName+`"`))
73+
assert.Check(t, strings.Contains(res.Stdout(), `"Description": "`+description+`"`))
74+
})
75+
76+
t.Run("rm secret", func(t *testing.T) {
77+
res := c.RunDockerCmd("secret", "rm", secretName)
78+
res.Assert(t, icmd.Success)
79+
res = c.RunDockerCmd("secret", "list")
80+
res.Assert(t, icmd.Success)
81+
assert.Check(t, !strings.Contains(res.Stdout(), secretName))
8082
})
83+
}
84+
85+
func TestCompose(t *testing.T) {
86+
c, stack := setupTest(t)
8187

8288
t.Run("compose up", func(t *testing.T) {
8389
res := c.RunDockerCmd("compose", "up", "--project-name", stack, "-f", "../composefiles/nginx.yaml")
@@ -122,3 +128,35 @@ func TestCompose(t *testing.T) {
122128
res.Assert(t, icmd.Success)
123129
})
124130
}
131+
132+
func setupTest(t *testing.T) (*E2eCLI, string) {
133+
startTime := strconv.Itoa(int(time.Now().UnixNano()))
134+
c := NewParallelE2eCLI(t, binDir)
135+
contextName := "e2e" + t.Name() + startTime
136+
stack := contextName
137+
t.Run("create context", func(t *testing.T) {
138+
localTestProfile := os.Getenv("TEST_AWS_PROFILE")
139+
var res *icmd.Result
140+
if localTestProfile != "" {
141+
region := os.Getenv("TEST_AWS_REGION")
142+
assert.Check(t, region != "")
143+
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", localTestProfile, "--region", region)
144+
res.Assert(t, icmd.Success)
145+
} else {
146+
profile := contextName
147+
region := os.Getenv("AWS_DEFAULT_REGION")
148+
secretKey := os.Getenv("AWS_SECRET_ACCESS_KEY")
149+
keyID := os.Getenv("AWS_ACCESS_KEY_ID")
150+
assert.Check(t, keyID != "")
151+
assert.Check(t, secretKey != "")
152+
assert.Check(t, region != "")
153+
res = c.RunDockerCmd("context", "create", "ecs", contextName, "--profile", profile, "--region", region, "--secret-key", secretKey, "--key-id", keyID)
154+
res.Assert(t, icmd.Success)
155+
}
156+
res = c.RunDockerCmd("context", "use", contextName)
157+
res.Assert(t, icmd.Expected{Out: contextName})
158+
res = c.RunDockerCmd("context", "ls")
159+
res.Assert(t, icmd.Expected{Out: contextName + " *"})
160+
})
161+
return c, stack
162+
}

0 commit comments

Comments
 (0)