Pārlūkot izejas kodu

Merge pull request #533 from docker/more_ecs_e2e

More ECS E2E tests (secrets), in // of compose
Guillaume Tardif 5 gadi atpakaļ
vecāks
revīzija
d6c8039562
1 mainītis faili ar 66 papildinājumiem un 28 dzēšanām
  1. 66 28
      tests/ecs-e2e/e2e-ecs_test.go

+ 66 - 28
tests/ecs-e2e/e2e-ecs_test.go

@@ -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")
@@ -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
+}