@@ -15,13 +15,15 @@ var _ = Describe("Groups", func() {
15
15
var (
16
16
client * fakes.GroupsClient
17
17
logger * fakes.Logger
18
+ filter string
18
19
19
20
groups azure.Groups
20
21
)
21
22
22
23
BeforeEach (func () {
23
24
client = & fakes.GroupsClient {}
24
25
logger = & fakes.Logger {}
26
+ filter = "banana"
25
27
26
28
groups = azure .NewGroups (client , logger )
27
29
})
@@ -31,7 +33,7 @@ var _ = Describe("Groups", func() {
31
33
logger .PromptCall .Returns .Proceed = true
32
34
client .ListCall .Returns .Output = resources.GroupListResult {
33
35
Value : & []resources.Group {{
34
- Name : aws .String ("banana" ),
36
+ Name : aws .String ("banana-group " ),
35
37
}},
36
38
}
37
39
errChan := make (chan error , 1 )
@@ -40,13 +42,13 @@ var _ = Describe("Groups", func() {
40
42
})
41
43
42
44
It ("deletes resource groups" , func () {
43
- err := groups .Delete ()
45
+ err := groups .Delete (filter )
44
46
Expect (err ).NotTo (HaveOccurred ())
45
47
46
48
Expect (client .ListCall .CallCount ).To (Equal (1 ))
47
49
Expect (client .DeleteCall .CallCount ).To (Equal (1 ))
48
- Expect (client .DeleteCall .Receives .Name ).To (Equal ("banana" ))
49
- Expect (logger .PrintfCall .Messages ).To (Equal ([]string {"SUCCESS deleting resource group banana\n " }))
50
+ Expect (client .DeleteCall .Receives .Name ).To (Equal ("banana-group " ))
51
+ Expect (logger .PrintfCall .Messages ).To (Equal ([]string {"SUCCESS deleting resource group banana-group \n " }))
50
52
})
51
53
52
54
Context ("when client fails to list resource groups" , func () {
@@ -55,19 +57,43 @@ var _ = Describe("Groups", func() {
55
57
})
56
58
57
59
It ("returns the error" , func () {
58
- err := groups .Delete ()
60
+ err := groups .Delete (filter )
59
61
Expect (err ).To (MatchError ("Listing resource groups: some error" ))
60
62
61
63
Expect (client .ListCall .CallCount ).To (Equal (1 ))
62
64
Expect (client .DeleteCall .CallCount ).To (Equal (0 ))
63
65
})
64
66
})
65
67
68
+ Context ("when the user responds no to the prompt" , func () {
69
+ BeforeEach (func () {
70
+ logger .PromptCall .Returns .Proceed = false
71
+ })
72
+
73
+ It ("does not delete the resource group" , func () {
74
+ err := groups .Delete (filter )
75
+ Expect (err ).NotTo (HaveOccurred ())
76
+
77
+ Expect (logger .PromptCall .Receives .Message ).To (Equal ("Are you sure you want to delete resource group banana-group?" ))
78
+ Expect (client .DeleteCall .CallCount ).To (Equal (0 ))
79
+ })
80
+ })
81
+
82
+ Context ("when the resource group name does not contain the filter" , func () {
83
+ It ("does not delete it" , func () {
84
+ err := groups .Delete ("grape" )
85
+ Expect (err ).NotTo (HaveOccurred ())
86
+
87
+ Expect (logger .PromptCall .CallCount ).To (Equal (0 ))
88
+ Expect (client .DeleteCall .CallCount ).To (Equal (0 ))
89
+ })
90
+ })
91
+
66
92
Context ("when client fails to delete the resource group" , func () {
67
93
BeforeEach (func () {
68
94
client .ListCall .Returns .Output = resources.GroupListResult {
69
95
Value : & []resources.Group {{
70
- Name : aws .String ("banana" ),
96
+ Name : aws .String ("banana-group " ),
71
97
}},
72
98
}
73
99
errChan := make (chan error , 1 )
@@ -76,27 +102,13 @@ var _ = Describe("Groups", func() {
76
102
})
77
103
78
104
It ("logs the error" , func () {
79
- err := groups .Delete ()
105
+ err := groups .Delete (filter )
80
106
Expect (err ).NotTo (HaveOccurred ())
81
107
82
108
Expect (client .ListCall .CallCount ).To (Equal (1 ))
83
109
Expect (client .DeleteCall .CallCount ).To (Equal (1 ))
84
- Expect (client .DeleteCall .Receives .Name ).To (Equal ("banana" ))
85
- Expect (logger .PrintfCall .Messages ).To (Equal ([]string {"ERROR deleting resource group banana: some error\n " }))
86
- })
87
- })
88
-
89
- Context ("when the user responds no to the prompt" , func () {
90
- BeforeEach (func () {
91
- logger .PromptCall .Returns .Proceed = false
92
- })
93
-
94
- It ("does not delete the resource group" , func () {
95
- err := groups .Delete ()
96
- Expect (err ).NotTo (HaveOccurred ())
97
-
98
- Expect (logger .PromptCall .Receives .Message ).To (Equal ("Are you sure you want to delete resource group banana?" ))
99
- Expect (client .DeleteCall .CallCount ).To (Equal (0 ))
110
+ Expect (client .DeleteCall .Receives .Name ).To (Equal ("banana-group" ))
111
+ Expect (logger .PrintfCall .Messages ).To (Equal ([]string {"ERROR deleting resource group banana-group: some error\n " }))
100
112
})
101
113
})
102
114
})
0 commit comments