@@ -38,7 +38,8 @@ func TestValidCsrApproved(t *testing.T) {
38
38
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & validCsr , metav1.CreateOptions {})
39
39
require .Nil (t , err , "Could not create the CSR." )
40
40
41
- approved , denied , err := waitCsrApprovalStatus (validCsr .Name )
41
+ approved , denied , reason , err := waitCsrApprovalStatus (validCsr .Name )
42
+ t .Log (reason )
42
43
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
43
44
assert .False (t , denied )
44
45
assert .True (t , approved )
@@ -58,7 +59,8 @@ func TestWrongSignerCsr(t *testing.T) {
58
59
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
59
60
require .Nil (t , err , "Could not create the CSR." )
60
61
61
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
62
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
63
+ t .Log (reason )
62
64
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
63
65
assert .False (t , denied )
64
66
assert .False (t , approved )
@@ -78,12 +80,38 @@ func TestNonMatchingCommonNameUsername(t *testing.T) {
78
80
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
79
81
require .Nil (t , err , "Could not create the CSR." )
80
82
81
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
83
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
84
+ t .Log (reason )
82
85
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
83
86
assert .True (t , denied )
84
87
assert .False (t , approved )
85
88
}
86
89
90
+ func TestHostnameSANNameMismatchWithBypass (t * testing.T ) {
91
+ csrParams := CsrParams {
92
+ csrName : "csr-mismatch-SAN-hostname-with-bypass" ,
93
+ nodeName : testNodeName ,
94
+ dnsName : "hostname-000.test.ch" ,
95
+ }
96
+ dnsResolver .Zones [csrParams .dnsName + "." ] = mockdns.Zone {
97
+ A : []string {"192.168.0.14" },
98
+ } // we mock the dns zone of this test, as we really only want the invalid dns name to make it fail
99
+
100
+ csrController .BypassHostnameCheck = true
101
+ defer func () { csrController .BypassHostnameCheck = false }()
102
+
103
+ csr := createCsr (t , csrParams )
104
+ _ , nodeClientSet , _ := createControlPlaneUser (t , csr .Spec .Username , []string {"system:masters" })
105
+
106
+ _ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
107
+ require .Nil (t , err , "Could not create the CSR." )
108
+
109
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
110
+ t .Log ("CSR rejected with the following reason:" + reason )
111
+ require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
112
+ assert .True (t , approved )
113
+ assert .False (t , denied )
114
+ }
87
115
func TestInvalidDNSName (t * testing.T ) {
88
116
csrParams := CsrParams {
89
117
csrName : "csr-invalid-dnsName" ,
@@ -99,7 +127,8 @@ func TestInvalidDNSName(t *testing.T) {
99
127
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
100
128
require .Nil (t , err , "Could not create the CSR." )
101
129
102
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
130
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
131
+ t .Log (reason )
103
132
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
104
133
assert .True (t , denied )
105
134
assert .False (t , approved )
@@ -120,7 +149,8 @@ func TestInvalidRegexName(t *testing.T) {
120
149
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
121
150
require .Nil (t , err , "Could not create the CSR." )
122
151
123
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
152
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
153
+ t .Log (reason )
124
154
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
125
155
assert .True (t , denied )
126
156
assert .False (t , approved )
@@ -137,7 +167,8 @@ func TestUnresolvedDNSName(t *testing.T) {
137
167
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
138
168
require .Nil (t , err , "Could not create the CSR." )
139
169
140
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
170
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
171
+ t .Log (reason )
141
172
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
142
173
assert .True (t , denied )
143
174
assert .False (t , approved )
@@ -156,7 +187,8 @@ func TestMismatchedResolvedIpsSANIps(t *testing.T) {
156
187
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
157
188
require .Nil (t , err , "Could not create the CSR." )
158
189
159
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
190
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
191
+ t .Log (reason )
160
192
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
161
193
assert .True (t , denied )
162
194
assert .False (t , approved )
@@ -176,7 +208,8 @@ func TestExpirationSecondsTooLarge(t *testing.T) {
176
208
_ , err := nodeClientSet .CertificatesV1 ().CertificateSigningRequests ().Create (testContext , & csr , metav1.CreateOptions {})
177
209
require .Nil (t , err , "Could not create the CSR." )
178
210
179
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
211
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
212
+ t .Log (reason )
180
213
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
181
214
assert .True (t , denied )
182
215
assert .False (t , approved )
@@ -198,7 +231,8 @@ func TestBypassDNSResolution(t *testing.T) {
198
231
testContext , & csr , metav1.CreateOptions {})
199
232
require .Nil (t , err , "Could not create the CSR." )
200
233
201
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
234
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
235
+ t .Log (reason )
202
236
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
203
237
assert .True (t , approved )
204
238
assert .False (t , denied )
@@ -222,7 +256,8 @@ func TestIPv4NotWhitelisted(t *testing.T) {
222
256
testContext , & csr , metav1.CreateOptions {})
223
257
require .Nil (t , err , "Could not create the CSR." )
224
258
225
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
259
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
260
+ t .Log (reason )
226
261
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
227
262
assert .False (t , approved )
228
263
assert .True (t , denied )
@@ -246,7 +281,8 @@ func TestIPv6NotWhitelisted(t *testing.T) {
246
281
testContext , & csr , metav1.CreateOptions {})
247
282
require .Nil (t , err , "Could not create the CSR." )
248
283
249
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
284
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
285
+ t .Log (reason )
250
286
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
251
287
assert .False (t , approved )
252
288
assert .True (t , denied )
@@ -269,7 +305,8 @@ func TestIPv6WithoutDNSNotWhitelisted(t *testing.T) {
269
305
testContext , & csr , metav1.CreateOptions {})
270
306
require .Nil (t , err , "Could not create the CSR." )
271
307
272
- approved , denied , err := waitCsrApprovalStatus (csr .Name )
308
+ approved , denied , reason , err := waitCsrApprovalStatus (csr .Name )
309
+ t .Log (reason )
273
310
require .Nil (t , err , "Could not retrieve the CSR to check its approval status" )
274
311
assert .False (t , approved )
275
312
assert .True (t , denied )
0 commit comments