@@ -48,36 +48,42 @@ func TestMain(m *testing.M) {
48
48
os .Exit (exitCode )
49
49
}
50
50
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
56
55
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 ))
80
82
})
83
+ }
84
+
85
+ func TestCompose (t * testing.T ) {
86
+ c , stack := setupTest (t )
81
87
82
88
t .Run ("compose up" , func (t * testing.T ) {
83
89
res := c .RunDockerCmd ("compose" , "up" , "--project-name" , stack , "-f" , "../composefiles/nginx.yaml" )
@@ -122,3 +128,35 @@ func TestCompose(t *testing.T) {
122
128
res .Assert (t , icmd .Success )
123
129
})
124
130
}
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