@@ -194,4 +194,77 @@ var _ = DevSpaceDescribe("deploy", func() {
194194 framework .ExpectNoError (err )
195195 framework .ExpectEqual (out , "test" )
196196 })
197+
198+ ginkgo .It ("should deploy helm applications concurrently" , func () {
199+ tempDir , err := framework .CopyToTempDir ("tests/deploy/testdata/helm_concurrent_all" )
200+ framework .ExpectNoError (err )
201+ defer framework .CleanupTempDir (initialDir , tempDir )
202+
203+ ns , err := kubeClient .CreateNamespace ("deploy" )
204+ framework .ExpectNoError (err )
205+ defer func () {
206+ err := kubeClient .DeleteNamespace (ns )
207+ framework .ExpectNoError (err )
208+ }()
209+
210+ // create a new dev command
211+ deployCmd := & cmd.DeployCmd {
212+ GlobalFlags : & flags.GlobalFlags {
213+ NoWarn : true ,
214+ Namespace : ns ,
215+ },
216+ }
217+
218+ // run the command
219+ err = deployCmd .Run (f )
220+ framework .ExpectNoError (err )
221+
222+ // wait until nginx pod is reachable
223+ out , err := kubeClient .ExecByContainer ("app.kubernetes.io/component=test" , "container-0" , ns , []string {"echo" , "-n" , "test" })
224+ framework .ExpectNoError (err )
225+ out2 , err := kubeClient .ExecByContainer ("app.kubernetes.io/component=test-2" , "container-0" , ns , []string {"echo" , "-n" , "test" })
226+ framework .ExpectNoError (err )
227+ out3 , err := kubeClient .ExecByContainer ("app.kubernetes.io/component=test-3" , "container-0" , ns , []string {"echo" , "-n" , "test" })
228+ framework .ExpectNoError (err )
229+
230+ framework .ExpectEqual (out , "test" )
231+ framework .ExpectEqual (out2 , "test" )
232+ framework .ExpectEqual (out3 , "test" )
233+ })
234+ ginkgo .It ("should deploy helm applications mixed concurrently and sequentially" , func () {
235+ tempDir , err := framework .CopyToTempDir ("tests/deploy/testdata/helm_concurrent_sequential" )
236+ framework .ExpectNoError (err )
237+ defer framework .CleanupTempDir (initialDir , tempDir )
238+
239+ ns , err := kubeClient .CreateNamespace ("deploy" )
240+ framework .ExpectNoError (err )
241+ defer func () {
242+ err := kubeClient .DeleteNamespace (ns )
243+ framework .ExpectNoError (err )
244+ }()
245+
246+ // create a new dev command
247+ deployCmd := & cmd.DeployCmd {
248+ GlobalFlags : & flags.GlobalFlags {
249+ NoWarn : true ,
250+ Namespace : ns ,
251+ },
252+ }
253+
254+ // run the command
255+ err = deployCmd .Run (f )
256+ framework .ExpectNoError (err )
257+
258+ // wait until nginx pod is reachable
259+ out , err := kubeClient .ExecByContainer ("app.kubernetes.io/component=test" , "container-0" , ns , []string {"echo" , "-n" , "test" })
260+ framework .ExpectNoError (err )
261+ out2 , err := kubeClient .ExecByContainer ("app.kubernetes.io/component=test-2" , "container-0" , ns , []string {"echo" , "-n" , "test" })
262+ framework .ExpectNoError (err )
263+ out3 , err := kubeClient .ExecByContainer ("app.kubernetes.io/component=test-3" , "container-0" , ns , []string {"echo" , "-n" , "test" })
264+ framework .ExpectNoError (err )
265+
266+ framework .ExpectEqual (out , "test" )
267+ framework .ExpectEqual (out2 , "test" )
268+ framework .ExpectEqual (out3 , "test" )
269+ })
197270})
0 commit comments