@@ -82,13 +82,13 @@ func TestCreateRootCASaveRootCA(t *testing.T) {
8282 paths := ca .NewConfigPaths (tempBaseDir )
8383
8484 rootCA , err := ca .CreateRootCA ("rootCN" )
85- assert .NoError (t , err )
85+ require .NoError (t , err )
8686
8787 err = ca .SaveRootCA (rootCA , paths .RootCA )
88- assert .NoError (t , err )
88+ require .NoError (t , err )
8989
9090 perms , err := permbits .Stat (paths .RootCA .Cert )
91- assert .NoError (t , err )
91+ require .NoError (t , err )
9292 assert .False (t , perms .GroupWrite ())
9393 assert .False (t , perms .OtherWrite ())
9494
@@ -97,20 +97,20 @@ func TestCreateRootCASaveRootCA(t *testing.T) {
9797
9898 // ensure that the cert that was written is already normalized
9999 written , err := os .ReadFile (paths .RootCA .Cert )
100- assert .NoError (t , err )
100+ require .NoError (t , err )
101101 assert .Equal (t , written , ca .NormalizePEMs (written ))
102102}
103103
104104func TestCreateRootCAExpiry (t * testing.T ) {
105105 rootCA , err := ca .CreateRootCA ("rootCN" )
106- assert .NoError (t , err )
106+ require .NoError (t , err )
107107
108108 // Convert the certificate into an object to create a RootCA
109109 parsedCert , err := helpers .ParseCertificatePEM (rootCA .Certs )
110- assert .NoError (t , err )
110+ require .NoError (t , err )
111111 duration , err := time .ParseDuration (ca .RootCAExpiration )
112- assert .NoError (t , err )
113- assert .True (t , time .Now ().Add (duration ).AddDate (0 , - 1 , 0 ). Before ( parsedCert .NotAfter ) )
112+ require .NoError (t , err )
113+ assert .Less (t , time .Now ().Add (duration ).AddDate (0 , - 1 , 0 ), parsedCert .NotAfter )
114114}
115115
116116func TestGetLocalRootCA (t * testing.T ) {
@@ -123,37 +123,37 @@ func TestGetLocalRootCA(t *testing.T) {
123123
124124 // Create the local Root CA to ensure that we can reload it correctly.
125125 rootCA , err := ca .CreateRootCA ("rootCN" )
126- assert .NoError (t , err )
126+ require .NoError (t , err )
127127 s , err := rootCA .Signer ()
128- assert .NoError (t , err )
128+ require .NoError (t , err )
129129 err = ca .SaveRootCA (rootCA , paths .RootCA )
130- assert .NoError (t , err )
130+ require .NoError (t , err )
131131
132132 // No private key here
133133 rootCA2 , err := ca .GetLocalRootCA (paths .RootCA )
134- assert .NoError (t , err )
134+ require .NoError (t , err )
135135 assert .Equal (t , rootCA .Certs , rootCA2 .Certs )
136136 _ , err = rootCA2 .Signer ()
137137 assert .Equal (t , err , ca .ErrNoValidSigner )
138138
139139 // write private key and assert we can load it and sign
140- assert .NoError (t , os .WriteFile (paths .RootCA .Key , s .Key , os .FileMode (0o600 )))
140+ require .NoError (t , os .WriteFile (paths .RootCA .Key , s .Key , os .FileMode (0o600 )))
141141 rootCA3 , err := ca .GetLocalRootCA (paths .RootCA )
142- assert .NoError (t , err )
142+ require .NoError (t , err )
143143 assert .Equal (t , rootCA .Certs , rootCA3 .Certs )
144144 _ , err = rootCA3 .Signer ()
145- assert .NoError (t , err )
145+ require .NoError (t , err )
146146
147147 // Try with a private key that does not match the CA cert public key.
148148 privKey , err := ecdsa .GenerateKey (elliptic .P256 (), cryptorand .Reader )
149- assert .NoError (t , err )
149+ require .NoError (t , err )
150150 privKeyBytes , err := x509 .MarshalECPrivateKey (privKey )
151- assert .NoError (t , err )
151+ require .NoError (t , err )
152152 privKeyPem := pem .EncodeToMemory (& pem.Block {
153153 Type : "EC PRIVATE KEY" ,
154154 Bytes : privKeyBytes ,
155155 })
156- assert .NoError (t , os .WriteFile (paths .RootCA .Key , privKeyPem , os .FileMode (0o600 )))
156+ require .NoError (t , os .WriteFile (paths .RootCA .Key , privKeyPem , os .FileMode (0o600 )))
157157
158158 _ , err = ca .GetLocalRootCA (paths .RootCA )
159159 assert .EqualError (t , err , "certificate key mismatch" )
@@ -191,21 +191,21 @@ some random garbage\n
191191
192192func TestParseValidateAndSignCSR (t * testing.T ) {
193193 rootCA , err := ca .CreateRootCA ("rootCN" )
194- assert .NoError (t , err )
194+ require .NoError (t , err )
195195
196196 csr , _ , err := ca .GenerateNewCSR ()
197- assert .NoError (t , err )
197+ require .NoError (t , err )
198198
199199 signedCert , err := rootCA .ParseValidateAndSignCSR (csr , "CN" , "OU" , "ORG" )
200- assert .NoError (t , err )
200+ require .NoError (t , err )
201201 assert .NotNil (t , signedCert )
202202
203203 assert .Len (t , checkLeafCert (t , signedCert , "rootCN" , "CN" , "OU" , "ORG" ), 1 )
204204}
205205
206206func TestParseValidateAndSignMaliciousCSR (t * testing.T ) {
207207 rootCA , err := ca .CreateRootCA ("rootCN" )
208- assert .NoError (t , err )
208+ require .NoError (t , err )
209209
210210 req := & cfcsr.CertificateRequest {
211211 Names : []cfcsr.Name {
@@ -221,10 +221,10 @@ func TestParseValidateAndSignMaliciousCSR(t *testing.T) {
221221 }
222222
223223 csr , _ , err := cfcsr .ParseRequest (req )
224- assert .NoError (t , err )
224+ require .NoError (t , err )
225225
226226 signedCert , err := rootCA .ParseValidateAndSignCSR (csr , "CN" , "OU" , "ORG" )
227- assert .NoError (t , err )
227+ require .NoError (t , err )
228228 assert .NotNil (t , signedCert )
229229
230230 assert .Len (t , checkLeafCert (t , signedCert , "rootCN" , "CN" , "OU" , "ORG" ), 1 )
@@ -267,7 +267,7 @@ func TestGetRemoteCA(t *testing.T) {
267267 if err == nil {
268268 return fmt .Errorf ("testca's rootca hasn't updated yet" )
269269 }
270- require .Contains (t , err . Error () , "remote CA does not match fingerprint" )
270+ require .ErrorContains (t , err , "remote CA does not match fingerprint" )
271271 return nil
272272 }))
273273
@@ -277,7 +277,7 @@ func TestGetRemoteCA(t *testing.T) {
277277 downloadedRootCA , err = ca .GetRemoteCA (tc .Context , d , tc .ConnBroker )
278278 require .NoError (t , err )
279279 require .Equal (t , comboCertBundle , downloadedRootCA .Certs )
280- require .Equal (t , 2 , len ( downloadedRootCA .Pool .Subjects ()) )
280+ require .Len (t , downloadedRootCA .Pool .Subjects (), 2 )
281281
282282 for _ , rootCA := range []ca.RootCA {tc .RootCA , otherRootCA } {
283283 krw := ca .NewKeyReadWriter (paths .Node , nil , nil )
@@ -503,38 +503,38 @@ func TestGetRemoteSignedCertificate(t *testing.T) {
503503
504504 // Create a new CSR to be signed
505505 csr , _ , err := ca .GenerateNewCSR ()
506- assert .NoError (t , err )
506+ require .NoError (t , err )
507507
508508 certs , err := ca .GetRemoteSignedCertificate (tc .Context , csr , tc .RootCA .Pool ,
509509 ca.CertificateRequestConfig {
510510 Token : tc .ManagerToken ,
511511 ConnBroker : tc .ConnBroker ,
512512 })
513- assert .NoError (t , err )
513+ require .NoError (t , err )
514514 assert .NotNil (t , certs )
515515
516516 // Test the expiration for a manager certificate
517517 parsedCerts , err := helpers .ParseCertificatesPEM (certs )
518- assert .NoError (t , err )
518+ require .NoError (t , err )
519519 assert .Len (t , parsedCerts , 1 )
520- assert .True (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , - 1 ). Before ( parsedCerts [0 ].NotAfter ) )
521- assert .True (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , 1 ). After ( parsedCerts [0 ].NotAfter ) )
522- assert .Equal (t , parsedCerts [0 ].Subject .OrganizationalUnit [0 ], ca . ManagerRole )
520+ assert .Less (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , - 1 ), parsedCerts [0 ].NotAfter )
521+ assert .Greater (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , 1 ), parsedCerts [0 ].NotAfter )
522+ assert .Equal (t , ca . ManagerRole , parsedCerts [0 ].Subject .OrganizationalUnit [0 ])
523523
524524 // Test the expiration for an worker certificate
525525 certs , err = ca .GetRemoteSignedCertificate (tc .Context , csr , tc .RootCA .Pool ,
526526 ca.CertificateRequestConfig {
527527 Token : tc .WorkerToken ,
528528 ConnBroker : tc .ConnBroker ,
529529 })
530- assert .NoError (t , err )
530+ require .NoError (t , err )
531531 assert .NotNil (t , certs )
532532 parsedCerts , err = helpers .ParseCertificatesPEM (certs )
533- assert .NoError (t , err )
533+ require .NoError (t , err )
534534 assert .Len (t , parsedCerts , 1 )
535- assert .True (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , - 1 ). Before ( parsedCerts [0 ].NotAfter ) )
536- assert .True (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , 1 ). After ( parsedCerts [0 ].NotAfter ) )
537- assert .Equal (t , parsedCerts [0 ].Subject .OrganizationalUnit [0 ], ca . WorkerRole )
535+ assert .Less (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , - 1 ), parsedCerts [0 ].NotAfter )
536+ assert .Greater (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , 1 ), parsedCerts [0 ].NotAfter )
537+ assert .Equal (t , ca . WorkerRole , parsedCerts [0 ].Subject .OrganizationalUnit [0 ])
538538}
539539
540540func TestGetRemoteSignedCertificateNodeInfo (t * testing.T ) {
@@ -543,14 +543,14 @@ func TestGetRemoteSignedCertificateNodeInfo(t *testing.T) {
543543
544544 // Create a new CSR to be signed
545545 csr , _ , err := ca .GenerateNewCSR ()
546- assert .NoError (t , err )
546+ require .NoError (t , err )
547547
548548 cert , err := ca .GetRemoteSignedCertificate (tc .Context , csr , tc .RootCA .Pool ,
549549 ca.CertificateRequestConfig {
550550 Token : tc .WorkerToken ,
551551 ConnBroker : tc .ConnBroker ,
552552 })
553- assert .NoError (t , err )
553+ require .NoError (t , err )
554554 assert .NotNil (t , cert )
555555}
556556
@@ -712,7 +712,7 @@ func TestGetRemoteSignedCertificateWithPending(t *testing.T) {
712712 case <- time .After (2500 * time .Millisecond ):
713713 // good, it's still polling so we can proceed with the test
714714 }
715- require .True (t , atomic .LoadInt64 (& fakeCAServer .nodeStatusCalled ) > 1 , "expected NodeCertificateStatus to have been polled more than once" )
715+ require .Greater (t , atomic .LoadInt64 (& fakeCAServer .nodeStatusCalled ), 1 , "expected NodeCertificateStatus to have been polled more than once" )
716716
717717 // Directly update the status of the store
718718 err = tc .MemoryStore .Update (func (tx store.Tx ) error {
@@ -742,7 +742,7 @@ func TestGetRemoteSignedCertificateWithPending(t *testing.T) {
742742 select {
743743 case err = <- completed :
744744 s , _ := status .FromError (err )
745- require .Equal (t , s .Code (), codes . DeadlineExceeded )
745+ require .Equal (t , codes . DeadlineExceeded , s .Code ())
746746 case <- time .After (3 * time .Second ):
747747 require .FailNow (t , "GetRemoteSignedCertificate should have been canceled after 1 second, and it has been 3" )
748748 }
@@ -865,7 +865,7 @@ func TestGetRemoteSignedCertificateConnectionErrors(t *testing.T) {
865865 // wait for 5 seconds and ensure that GetRemoteSignedCertificate has returned with an error.
866866 select {
867867 case err = <- completed :
868- require .Contains (t , err . Error () , "no more peers" )
868+ require .ErrorContains (t , err , "no more peers" )
869869 case <- time .After (5 * time .Second ):
870870 require .FailNow (t , "GetRemoteSignedCertificate should errored after 5 seconds" )
871871 }
@@ -909,68 +909,68 @@ func TestNewRootCABundle(t *testing.T) {
909909
910910 // make one rootCA
911911 firstRootCA , err := ca .CreateRootCA ("rootCN1" )
912- assert .NoError (t , err )
912+ require .NoError (t , err )
913913
914914 // make a second root CA
915915 secondRootCA , err := ca .CreateRootCA ("rootCN2" )
916- assert .NoError (t , err )
916+ require .NoError (t , err )
917917 s , err := firstRootCA .Signer ()
918918 require .NoError (t , err )
919919
920920 // Overwrite the bytes of the second Root CA with the bundle, creating a valid 2 cert bundle
921921 bundle := append (firstRootCA .Certs , secondRootCA .Certs ... )
922922 err = os .WriteFile (paths .RootCA .Cert , bundle , 0o644 )
923- assert .NoError (t , err )
923+ require .NoError (t , err )
924924
925925 newRootCA , err := ca .NewRootCA (bundle , firstRootCA .Certs , s .Key , ca .DefaultNodeCertExpiration , nil )
926- assert .NoError (t , err )
926+ require .NoError (t , err )
927927 assert .Equal (t , bundle , newRootCA .Certs )
928- assert .Equal (t , 2 , len ( newRootCA .Pool .Subjects ()) )
928+ assert .Len (t , newRootCA .Pool .Subjects (), 2 )
929929
930930 // If I use newRootCA's IssueAndSaveNewCertificates to sign certs, I'll get the correct CA in the chain
931931 kw := ca .NewKeyReadWriter (paths .Node , nil , nil )
932932 _ , _ , err = newRootCA .IssueAndSaveNewCertificates (kw , "CN" , "OU" , "ORG" )
933- assert .NoError (t , err )
933+ require .NoError (t , err )
934934
935935 certBytes , err := os .ReadFile (paths .Node .Cert )
936- assert .NoError (t , err )
936+ require .NoError (t , err )
937937 assert .Len (t , checkLeafCert (t , certBytes , "rootCN1" , "CN" , "OU" , "ORG" ), 1 )
938938}
939939
940940func TestNewRootCANonDefaultExpiry (t * testing.T ) {
941941 rootCA , err := ca .CreateRootCA ("rootCN" )
942- assert .NoError (t , err )
942+ require .NoError (t , err )
943943 s , err := rootCA .Signer ()
944944 require .NoError (t , err )
945945
946946 newRootCA , err := ca .NewRootCA (rootCA .Certs , rootCA .Certs , s .Key , 1 * time .Hour , nil )
947- assert .NoError (t , err )
947+ require .NoError (t , err )
948948
949949 // Create and sign a new CSR
950950 csr , _ , err := ca .GenerateNewCSR ()
951- assert .NoError (t , err )
951+ require .NoError (t , err )
952952 cert , err := newRootCA .ParseValidateAndSignCSR (csr , "CN" , ca .ManagerRole , "ORG" )
953- assert .NoError (t , err )
953+ require .NoError (t , err )
954954
955955 parsedCerts , err := helpers .ParseCertificatesPEM (cert )
956- assert .NoError (t , err )
956+ require .NoError (t , err )
957957 assert .Len (t , parsedCerts , 1 )
958- assert .True (t , time .Now ().Add (time .Minute * 59 ). Before ( parsedCerts [0 ].NotAfter ) )
959- assert .True (t , time .Now ().Add (time .Hour ).Add (time .Minute ). After ( parsedCerts [0 ].NotAfter ) )
958+ assert .Less (t , time .Now ().Add (time .Minute * 59 ), parsedCerts [0 ].NotAfter )
959+ assert .Greater (t , time .Now ().Add (time .Hour ).Add (time .Minute ), parsedCerts [0 ].NotAfter )
960960
961961 // Sign the same CSR again, this time with a 59 Minute expiration RootCA (under the 60 minute minimum).
962962 // This should use the default of 3 months
963963 newRootCA , err = ca .NewRootCA (rootCA .Certs , rootCA .Certs , s .Key , 59 * time .Minute , nil )
964- assert .NoError (t , err )
964+ require .NoError (t , err )
965965
966966 cert , err = newRootCA .ParseValidateAndSignCSR (csr , "CN" , ca .ManagerRole , "ORG" )
967- assert .NoError (t , err )
967+ require .NoError (t , err )
968968
969969 parsedCerts , err = helpers .ParseCertificatesPEM (cert )
970- assert .NoError (t , err )
970+ require .NoError (t , err )
971971 assert .Len (t , parsedCerts , 1 )
972- assert .True (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , - 1 ). Before ( parsedCerts [0 ].NotAfter ) )
973- assert .True (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , 1 ). After ( parsedCerts [0 ].NotAfter ) )
972+ assert .Less (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , - 1 ), parsedCerts [0 ].NotAfter )
973+ assert .Greater (t , time .Now ().Add (ca .DefaultNodeCertExpiration ).AddDate (0 , 0 , 1 ), parsedCerts [0 ].NotAfter )
974974}
975975
976976type invalidNewRootCATestCase struct {
@@ -1158,8 +1158,7 @@ func TestNewRootCAInvalidCertAndKeys(t *testing.T) {
11581158
11591159 for i , invalid := range invalids {
11601160 _ , err := ca .NewRootCA (invalid .roots , invalid .cert , invalid .key , ca .DefaultNodeCertExpiration , invalid .intermediates )
1161- require .Error (t , err , fmt .Sprintf ("expected error containing: \" %s\" , test case (%d)" , invalid .errorStr , i ))
1162- require .Contains (t , err .Error (), invalid .errorStr , fmt .Sprintf ("%d" , i ))
1161+ require .ErrorContains (t , err , invalid .errorStr , "%d" , i )
11631162 }
11641163}
11651164
@@ -1217,7 +1216,7 @@ func TestRootCAWithCrossSignedIntermediates(t *testing.T) {
12171216 require .NoError (t , err )
12181217 require .Len (t , parsedCerts , 2 )
12191218 require .Len (t , chains , 1 )
1220- require .True (t , len (chains [0 ]) >= 2 ) // there are always at least 2 certs at minimum: the leaf and the root
1219+ require .GreaterOrEqual (t , len (chains [0 ]), 2 ) // there are always at least 2 certs at minimum: the leaf and the root
12211220 require .Equal (t , parsedCerts [0 ], chains [0 ][0 ])
12221221 require .Equal (t , parsedIntermediate .Raw , parsedCerts [1 ].Raw )
12231222
@@ -1373,8 +1372,7 @@ func TestValidateCertificateChain(t *testing.T) {
13731372 pool := x509 .NewCertPool ()
13741373 pool .AppendCertsFromPEM (invalid .root )
13751374 _ , _ , err := ca .ValidateCertChain (pool , invalid .cert , invalid .allowExpiry )
1376- require .Error (t , err , invalid .errorStr )
1377- require .Contains (t , err .Error (), invalid .errorStr )
1375+ require .ErrorContains (t , err , invalid .errorStr )
13781376 }
13791377
13801378 // these will default to using the root pool, so we don't have to specify the root pool
@@ -1402,7 +1400,7 @@ func TestValidateCertificateChain(t *testing.T) {
14021400 require .NotEmpty (t , chain )
14031401 for _ , chain := range chains {
14041402 require .Equal (t , parsedCerts [0 ], chain [0 ]) // the leaf certs are equal
1405- require .True (t , len (chain ) >= 2 )
1403+ require .GreaterOrEqual (t , len (chain ), 2 )
14061404 }
14071405 }
14081406}
0 commit comments