4
4
"context"
5
5
"fmt"
6
6
"net/http"
7
+ "net/url"
8
+ "strings"
7
9
"testing"
8
10
9
11
v2 "k8s.io/api/autoscaling/v2"
@@ -246,6 +248,23 @@ var testParseSolaceMetadata = []testSolaceMetadata{
246
248
1 ,
247
249
true ,
248
250
},
251
+ // +Case - Properly encode queueName
252
+ {
253
+ "#016 - Properly Encode QueueName- " ,
254
+ map [string ]string {
255
+ "" : "" ,
256
+ solaceMetaSempBaseURL : soltestValidBaseURL ,
257
+ solaceMetaMsgVpn : soltestValidVpn ,
258
+ solaceMetaUsernameFromEnv : "" ,
259
+ solaceMetaPasswordFromEnv : "" ,
260
+ solaceMetaUsername : soltestValidUsername ,
261
+ solaceMetaPassword : soltestValidPassword ,
262
+ solaceMetaQueueName : "with/slash" ,
263
+ solaceMetaMsgCountTarget : soltestValidMsgCountTarget ,
264
+ },
265
+ 1 ,
266
+ false ,
267
+ },
249
268
}
250
269
251
270
var testSolaceEnvCreds = []testSolaceMetadata {
@@ -513,7 +532,7 @@ var testSolaceExpectedMetricNames = map[string]string{
513
532
func TestSolaceParseSolaceMetadata (t * testing.T ) {
514
533
for _ , testData := range testParseSolaceMetadata {
515
534
fmt .Print (testData .testID )
516
- _ , err := parseSolaceMetadata (& ScalerConfig {ResolvedEnv : nil , TriggerMetadata : testData .metadata , AuthParams : nil , ScalerIndex : testData .scalerIndex })
535
+ meta , err := parseSolaceMetadata (& ScalerConfig {ResolvedEnv : nil , TriggerMetadata : testData .metadata , AuthParams : nil , ScalerIndex : testData .scalerIndex })
517
536
switch {
518
537
case err != nil && ! testData .isError :
519
538
t .Error ("expected success but got error: " , err )
@@ -524,6 +543,10 @@ func TestSolaceParseSolaceMetadata(t *testing.T) {
524
543
default :
525
544
fmt .Println (" --> PASS" )
526
545
}
546
+ if ! testData .isError && strings .Contains (testData .metadata ["queueName" ], "/" ) && ! strings .Contains (meta .endpointURL , url .QueryEscape (testData .metadata ["queueName" ])) {
547
+ t .Error ("expected endpointURL to query escape special characters in the URL but got:" , meta .endpointURL )
548
+ fmt .Println (" --> FAIL" )
549
+ }
527
550
}
528
551
for _ , testData := range testSolaceEnvCreds {
529
552
fmt .Print (testData .testID )
0 commit comments