15
15
package helm_test
16
16
17
17
import (
18
+ "errors"
18
19
"fmt"
19
20
"testing"
20
21
@@ -27,7 +28,7 @@ import (
27
28
)
28
29
29
30
func TestGenerateRoleScaffold (t * testing.T ) {
30
- dcs := map [string ]* mockRoleDiscoveryClient {
31
+ workingDcs := map [string ]* mockRoleDiscoveryClient {
31
32
"upstream" : & mockRoleDiscoveryClient {
32
33
serverVersion : func () (* version.Info , error ) { return & version.Info {Major : "1" , Minor : "11" }, nil },
33
34
serverResources : func () ([]* metav1.APIResourceList , error ) { return simpleResourcesList (), nil },
@@ -37,6 +38,16 @@ func TestGenerateRoleScaffold(t *testing.T) {
37
38
serverResources : func () ([]* metav1.APIResourceList , error ) { return simpleResourcesList (), nil },
38
39
},
39
40
}
41
+ brokenDcs := map [string ]* mockRoleDiscoveryClient {
42
+ "no server version" : & mockRoleDiscoveryClient {
43
+ serverVersion : func () (* version.Info , error ) { return nil , errors .New ("no server version" ) },
44
+ serverResources : func () ([]* metav1.APIResourceList , error ) { return simpleResourcesList (), nil },
45
+ },
46
+ "no server resources" : & mockRoleDiscoveryClient {
47
+ serverVersion : func () (* version.Info , error ) { return & version.Info {Major : "1" , Minor : "11" }, nil },
48
+ serverResources : func () ([]* metav1.APIResourceList , error ) { return nil , errors .New ("no server resources" ) },
49
+ },
50
+ }
40
51
41
52
testCases := []roleScaffoldTestCase {
42
53
{
@@ -70,7 +81,7 @@ func TestGenerateRoleScaffold(t *testing.T) {
70
81
}
71
82
72
83
for _ , tc := range testCases {
73
- for dcName , dc := range dcs {
84
+ for dcName , dc := range workingDcs {
74
85
testName := fmt .Sprintf ("%s %s" , dcName , tc .name )
75
86
t .Run (testName , func (t * testing.T ) {
76
87
roleScaffold := helm .GenerateRoleScaffold (dc , tc .chart )
@@ -79,6 +90,15 @@ func TestGenerateRoleScaffold(t *testing.T) {
79
90
assert .Equal (t , tc .expectIsClusterScoped , roleScaffold .IsClusterScoped )
80
91
})
81
92
}
93
+ for dcName , dc := range brokenDcs {
94
+ testName := fmt .Sprintf ("%s %s" , dcName , tc .name )
95
+ t .Run (testName , func (t * testing.T ) {
96
+ roleScaffold := helm .GenerateRoleScaffold (dc , tc .chart )
97
+ assert .Equal (t , false , roleScaffold .SkipDefaultRules )
98
+ assert .Equal (t , 2 , len (roleScaffold .CustomRules ))
99
+ assert .Equal (t , false , roleScaffold .IsClusterScoped )
100
+ })
101
+ }
82
102
}
83
103
}
84
104
0 commit comments