@@ -142,6 +142,13 @@ func assertErrorLogged(msg string, args ...interface{}) assertFunc {
142142 }
143143}
144144
145+ func assertNoErrorLogged () assertFunc {
146+ return func (t * testing.T , mocks testMocks , updated bool , err error , desc string ) {
147+ // Check that no errors were logged by seeing if ErrorWasLogged returns false for any common error
148+ assert .False (t , mocks .logger .ErrorWasLogged ("" ), desc + ": should have no error logs" )
149+ }
150+ }
151+
145152func assertLogged (expected bool , logLevel string , msg string , args ... interface {}) assertFunc {
146153 return func (t * testing.T , mocks testMocks , updated bool , err error , desc string ) {
147154 logStr := fmt .Sprintf (msg , args ... )
@@ -814,6 +821,18 @@ func TestProvide(t *testing.T) {
814821 assertErrorContains (fmt .Sprintf (messages .CSPFK034E , "no variables to retrieve" ), false ),
815822 },
816823 },
824+ {
825+ desc : "Label-based mode with no pre-configured secrets returns gracefully" ,
826+ k8sSecrets : k8sStorageMocks.K8sSecrets {},
827+ requiredSecrets : []string {},
828+ asserts : []assertFunc {
829+ assertNoErrorLogged (),
830+ func (t * testing.T , mocks testMocks , updated bool , err error , desc string ) {
831+ assert .NoError (t , err , desc + ": should not error" )
832+ assert .False (t , updated , desc + ": should not have updates" )
833+ },
834+ },
835+ },
817836 }
818837
819838 for _ , tc := range testCases {
@@ -1170,28 +1189,28 @@ func TestProvideSanitization(t *testing.T) {
11701189}
11711190
11721191func TestBase64PKCS12SecretPreservesTrailingNull (t * testing.T ) {
1173- original := []byte {0xde , 0xad , 0xbe , 0xef , 0x00 }
1174- encoded := make ([]byte , base64 .StdEncoding .EncodedLen (len (original )))
1175- base64 .StdEncoding .Encode (encoded , original )
1192+ original := []byte {0xde , 0xad , 0xbe , 0xef , 0x00 }
1193+ encoded := make ([]byte , base64 .StdEncoding .EncodedLen (len (original )))
1194+ base64 .StdEncoding .Encode (encoded , original )
11761195
1177- provider := K8sProvider {
1178- secretsState : k8sSecretsState {
1179- updateDestinations : map [string ][]updateDestination {
1180- "pkcs12var" : {{
1181- k8sSecretName : "pkcs12secret" ,
1182- secretName : "pkcs12file" ,
1183- contentType : "base64" ,
1184- }},
1185- },
1186- },
1187- }
1196+ provider := K8sProvider {
1197+ secretsState : k8sSecretsState {
1198+ updateDestinations : map [string ][]updateDestination {
1199+ "pkcs12var" : {{
1200+ k8sSecretName : "pkcs12secret" ,
1201+ secretName : "pkcs12file" ,
1202+ contentType : "base64" ,
1203+ }},
1204+ },
1205+ },
1206+ }
11881207
1189- conjurSecrets := map [string ][]byte {
1190- "pkcs12var" : encoded ,
1191- }
1208+ conjurSecrets := map [string ][]byte {
1209+ "pkcs12var" : encoded ,
1210+ }
11921211
1193- secretData := provider .createSecretData (conjurSecrets )
1194- got := secretData ["pkcs12secret" ]["pkcs12file" ]
1212+ secretData := provider .createSecretData (conjurSecrets )
1213+ got := secretData ["pkcs12secret" ]["pkcs12file" ]
11951214
1196- assert .Equal (t , original , got , "decoded PKCS#12 secret should match original including trailing null bytes" )
1197- }
1215+ assert .Equal (t , original , got , "decoded PKCS#12 secret should match original including trailing null bytes" )
1216+ }
0 commit comments