@@ -8,41 +8,62 @@ import (
88 . "github.com/onsi/gomega"
99)
1010
11- var _ = Describe ("Dependency" , func () {
12- Context ("singe dep" , func () {
13- tools := Tools {
14- {InstanceID : "argocd" , Name : "argocd" },
15- {InstanceID : "argocdapp" , Name : "argocdapp" , DependsOn : []string {"argocd.argocd" }},
16- }
17- errors := tools .validateDependency ()
18- Expect (len (errors )).To (Equal (0 ))
19- })
11+ var tools Tools
2012
21- Context ("dep not exist" , func () {
22- tools := Tools {
23- {InstanceID : "argocdapp" , Name : "argocdapp" , DependsOn : []string {"argocd.argocd" }},
24- }
25- errors := tools .validateDependency ()
26- Expect (len (errors )).To (Equal (1 ))
13+ var _ = Describe ("validateDependsOnConfig" , func () {
14+ When ("empty dep" , func () {
15+ BeforeEach (func () {
16+ tools = Tools {
17+ {InstanceID : "ins-1" , Name : "plugin1" },
18+ {InstanceID : "ins-2" , Name : "plugin2" },
19+ }
20+ })
21+ It ("should not have errors" , func () {
22+ errs := tools .validateDependsOnConfig ()
23+ Expect (len (errs )).To (Equal (0 ))
24+ })
2725 })
2826
29- Context ("multi-dep" , func () {
30- tools := Tools {
31- {InstanceID : "argocd" , Name : "argocd" },
32- {InstanceID : "repo" , Name : "github" },
33- {InstanceID : "argocdapp" , Name : "argocdapp" , DependsOn : []string {"argocd.argocd" , "github.repo" }},
34- }
35- errors := tools .validateDependency ()
36- Expect (len (errors )).To (Equal (0 ))
27+ When ("singe dep" , func () {
28+ BeforeEach (func () {
29+ tools = Tools {
30+ {InstanceID : "ins-1" , Name : "plugin1" },
31+ {InstanceID : "ins-2" , Name : "plugin2" },
32+ }
33+ })
34+ It ("should not have errors" , func () {
35+ tools [1 ].DependsOn = []string {"plugin1.ins-1" }
36+ errs := tools .validateDependsOnConfig ()
37+ Expect (len (errs )).To (Equal (0 ))
38+ })
39+ It ("should has some errors" , func () {
40+ tools [1 ].DependsOn = []string {"plugin1.ins-2" }
41+ errs := tools .validateDependsOnConfig ()
42+ Expect (len (errs )).To (Equal (1 ))
43+ })
3744 })
3845
39- Context ("empty dep" , func () {
40- tools := Tools {
41- {InstanceID : "argocd" , Name : "argocd" },
42- {InstanceID : "argocdapp" , Name : "argocdapp" , DependsOn : []string {}},
43- }
44- errors := tools .validateDependency ()
45- Expect (len (errors )).To (Equal (0 ))
46+ When ("multi-dep" , func () {
47+ BeforeEach (func () {
48+ tools = Tools {
49+ {InstanceID : "ins-1" , Name : "plugin1" },
50+ {InstanceID : "ins-2" , Name : "plugin2" },
51+ {InstanceID : "ins-3" , Name : "plugin3" },
52+ }
53+ })
54+ It ("should not have errors" , func () {
55+ tools [2 ].DependsOn = []string {"plugin1.ins-1" }
56+ tools [2 ].DependsOn = []string {"plugin2.ins-2" }
57+ tools [1 ].DependsOn = []string {"plugin1.ins-1" }
58+ errs := tools .validateDependsOnConfig ()
59+ Expect (len (errs )).To (Equal (0 ))
60+ })
61+ It ("should has some errors" , func () {
62+ tools [1 ].DependsOn = []string {"plugin1.ins-3" }
63+ tools [2 ].DependsOn = []string {"plugin1.ins-2" , "plugin2.ins-1" }
64+ errs := tools .validateDependsOnConfig ()
65+ Expect (len (errs )).To (Equal (3 ))
66+ })
4667 })
4768})
4869
0 commit comments