Skip to content

Commit 3781d70

Browse files
test: add a test for placeholders that are both url and base64-encoded
Signed-off-by: DziyanaT <dziyana.tsetserava@etu.umontpellier.fr>
1 parent 702fedc commit 3781d70

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

pkg/kube/util_test.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,45 @@ func TestGenericReplacement_multiStringSpecificPathUrlEncoded(t *testing.T) {
484484
assertSuccessfulReplacement(&dummyResource, &expected, t)
485485
}
486486

487+
func TestSecretReplacement_SpecificPathUrlEncoded_Base64Encoded(t *testing.T) {
488+
// Test that the secret replacement function can find/replace placeholders that were url-encoded
489+
// and then base64-encoded.
490+
mv := helpers.MockVault{}
491+
mv.LoadData(map[string]interface{}{
492+
"password": "redis@123",
493+
"username": "redis",
494+
})
495+
496+
dummyResource := Resource{
497+
TemplateData: map[string]interface{}{
498+
"url": `JTNDcGF0aCUzQWJsYWglMkZibGFoJTIzdXNlcm5hbWUlM0U6Ly86JTNDcGF0aCUzQWJsYWglMkZibGFoJTIzcGFzc3dvcmQlM0VAcmVkaXMtbWFzdGVyLmhhcmJvci5zdmMuY2x1c3Rlci5sb2NhbC8wP2lkbGVfdGltZW91dF9zZWNvbmRzPTMwCg==`,
499+
},
500+
Data: map[string]interface{}{
501+
"password": "test",
502+
"username": "test",
503+
},
504+
Backend: &mv,
505+
Annotations: map[string]string{
506+
(types.AVPPathAnnotation): "",
507+
},
508+
}
509+
510+
replaceInner(&dummyResource, &dummyResource.TemplateData, secretReplacement)
511+
512+
expected := Resource{
513+
TemplateData: map[string]interface{}{
514+
"url": "cmVkaXM6Ly86cmVkaXMlNDAxMjNAcmVkaXMtbWFzdGVyLmhhcmJvci5zdmMuY2x1c3Rlci5sb2NhbC8wP2lkbGVfdGltZW91dF9zZWNvbmRzPTMwCg==",
515+
},
516+
Data: map[string]interface{}{
517+
"password": "test",
518+
"username": "test",
519+
},
520+
replacementErrors: []error{},
521+
}
522+
523+
assertSuccessfulReplacement(&dummyResource, &expected, t)
524+
}
525+
487526
func TestGenericReplacement_Base64(t *testing.T) {
488527
dummyResource := Resource{
489528
TemplateData: map[string]interface{}{

0 commit comments

Comments
 (0)