@@ -386,6 +386,63 @@ func TestGitRepositoryReconciler_reconcileSource_authStrategy(t *testing.T) {
386
386
* conditions .UnknownCondition (meta .ReadyCondition , meta .ProgressingReason , "building artifact: new upstream revision 'master@sha1:<commit>'" ),
387
387
},
388
388
},
389
+ {
390
+ name : "HTTPS with mutual TLS makes Reconciling=True" ,
391
+ protocol : "https" ,
392
+ server : options {
393
+ publicKey : tlsPublicKey ,
394
+ privateKey : tlsPrivateKey ,
395
+ ca : tlsCA ,
396
+ },
397
+ secret : & corev1.Secret {
398
+ ObjectMeta : metav1.ObjectMeta {
399
+ Name : "mtls-certs" ,
400
+ },
401
+ Data : map [string ][]byte {
402
+ "ca.crt" : tlsCA ,
403
+ "tls.crt" : clientPublicKey ,
404
+ "tls.key" : clientPrivateKey ,
405
+ },
406
+ },
407
+ beforeFunc : func (obj * sourcev1.GitRepository ) {
408
+ obj .Spec .SecretRef = & meta.LocalObjectReference {Name : "mtls-certs" }
409
+ },
410
+ want : sreconcile .ResultSuccess ,
411
+ assertConditions : []metav1.Condition {
412
+ * conditions .TrueCondition (meta .ReconcilingCondition , meta .ProgressingReason , "building artifact: new upstream revision 'master@sha1:<commit>'" ),
413
+ * conditions .UnknownCondition (meta .ReadyCondition , meta .ProgressingReason , "building artifact: new upstream revision 'master@sha1:<commit>'" ),
414
+ },
415
+ },
416
+ {
417
+ name : "HTTPS with mutual TLS and invalid private key makes CheckoutFailed=True and returns error" ,
418
+ protocol : "https" ,
419
+ server : options {
420
+ publicKey : tlsPublicKey ,
421
+ privateKey : tlsPrivateKey ,
422
+ ca : tlsCA ,
423
+ },
424
+ secret : & corev1.Secret {
425
+ ObjectMeta : metav1.ObjectMeta {
426
+ Name : "invalid-mtls-certs" ,
427
+ },
428
+ Data : map [string ][]byte {
429
+ "ca.crt" : tlsCA ,
430
+ "tls.crt" : clientPublicKey ,
431
+ "tls.key" : []byte ("invalid" ),
432
+ },
433
+ },
434
+ beforeFunc : func (obj * sourcev1.GitRepository ) {
435
+ obj .Spec .SecretRef = & meta.LocalObjectReference {Name : "invalid-mtls-certs" }
436
+ conditions .MarkReconciling (obj , meta .ProgressingReason , "foo" )
437
+ conditions .MarkUnknown (obj , meta .ReadyCondition , meta .ProgressingReason , "foo" )
438
+ },
439
+ wantErr : true ,
440
+ assertConditions : []metav1.Condition {
441
+ * conditions .TrueCondition (sourcev1 .FetchFailedCondition , sourcev1 .GitOperationFailedReason , "tls: failed to find any PEM data in key input" ),
442
+ * conditions .TrueCondition (meta .ReconcilingCondition , meta .ProgressingReason , "foo" ),
443
+ * conditions .UnknownCondition (meta .ReadyCondition , meta .ProgressingReason , "foo" ),
444
+ },
445
+ },
389
446
{
390
447
name : "HTTPS with CAFile secret makes Reconciling=True" ,
391
448
protocol : "https" ,
0 commit comments