@@ -33,6 +33,7 @@ public class CredentialUtilsTests
33
33
public void TestGetVcapCredentialsAsMap ( )
34
34
{
35
35
var apikey = "bogus-apikey" ;
36
+ var service1_apikey = "V4HXmoUtMjohnsnow=KotN" ;
36
37
var tempVcapCredential = new Dictionary < string , List < VcapCredential > > ( ) ;
37
38
var vcapCredential = new VcapCredential ( )
38
39
{
@@ -41,7 +42,18 @@ public void TestGetVcapCredentialsAsMap()
41
42
ApiKey = apikey
42
43
}
43
44
} ;
45
+
46
+ var vcapCredential2 = new VcapCredential ( )
47
+ {
48
+ Credentials = new Credential ( )
49
+ {
50
+ ApiKey = service1_apikey
51
+ }
52
+ } ;
53
+
54
+ vcapCredential2 . Name = "equals_sign_test" ;
44
55
tempVcapCredential . Add ( "assistant" , new List < VcapCredential > ( ) { vcapCredential } ) ;
56
+ tempVcapCredential . Add ( "equals_sign_test" , new List < VcapCredential > ( ) { vcapCredential2 } ) ;
45
57
46
58
var vcapString = JsonConvert . SerializeObject ( tempVcapCredential ) ;
47
59
Environment . SetEnvironmentVariable ( "VCAP_SERVICES" , vcapString ) ;
@@ -53,6 +65,13 @@ public void TestGetVcapCredentialsAsMap()
53
65
Authenticator . PropNameApikey ,
54
66
out string extractedKey ) ;
55
67
Assert . IsTrue ( extractedKey == apikey ) ;
68
+
69
+ vcapCredentaialsAsMap = CredentialUtils . GetVcapCredentialsAsMap ( "equals_sign_test" ) ;
70
+ Assert . IsNotNull ( vcapCredentaialsAsMap ) ;
71
+ vcapCredentaialsAsMap . TryGetValue (
72
+ Authenticator . PropNameApikey ,
73
+ out string extractedKey2 ) ;
74
+ Assert . IsTrue ( extractedKey2 == service1_apikey ) ;
56
75
}
57
76
58
77
[ Test ]
@@ -414,5 +433,99 @@ public void TestGetServiceProperties()
414
433
415
434
Assert . IsNotNull ( serviceProperties ) ;
416
435
}
436
+
437
+ [ Test ]
438
+ public void TestGetFileCredentialsAsMapService1 ( )
439
+ {
440
+ // store and clear user set env variable
441
+ string ibmCredFile = Environment . GetEnvironmentVariable ( "IBM_CREDENTIALS_FILE" ) ;
442
+ Environment . SetEnvironmentVariable ( "IBM_CREDENTIALS_FILE" , "" ) ;
443
+
444
+ // create .env file in current directory
445
+ string [ ] linesWorking = { "SERVICE_1_AUTH_TYPE=iam" ,
446
+ "SERVICE_1_APIKEY=V4HXmoUtMjohnsnow=KotN" ,
447
+ "SERVICE_1_CLIENT_ID=somefake========id" ,
448
+ "SERVICE_1_CLIENT_SECRET===my-client-secret==" ,
449
+ "SERVICE_1_AUTH_URL=https://iamhost/iam/api=" ,
450
+ "SERVICE_1_AUTH_DISABLE_SSL=" } ;
451
+ var directoryPath = Directory . GetCurrentDirectory ( ) ;
452
+ var credsFile = Path . Combine ( directoryPath , "ibm-credentials.env" ) ;
453
+
454
+ using ( StreamWriter outputFile = new StreamWriter ( credsFile ) )
455
+ {
456
+ foreach ( string line in linesWorking )
457
+ {
458
+ outputFile . WriteLine ( line ) ;
459
+ }
460
+ }
461
+
462
+ // get props
463
+ Dictionary < string , string > propsWorking = CredentialUtils . GetFileCredentialsAsMap ( "service_1" ) ;
464
+ Assert . IsNotNull ( propsWorking ) ;
465
+ Assert . AreEqual ( propsWorking [ "AUTH_TYPE" ] , "iam" ) ;
466
+ Assert . AreEqual ( propsWorking [ "APIKEY" ] , "V4HXmoUtMjohnsnow=KotN" ) ;
467
+ Assert . AreEqual ( propsWorking [ "CLIENT_ID" ] , "somefake========id" ) ;
468
+ Assert . AreEqual ( propsWorking [ "CLIENT_SECRET" ] , "==my-client-secret==" ) ;
469
+ Assert . AreEqual ( propsWorking [ "AUTH_URL" ] , "https://iamhost/iam/api=" ) ;
470
+ Assert . IsFalse ( propsWorking . ContainsKey ( "DISABLE_SSL" ) ) ;
471
+ // delete created env files
472
+ if ( File . Exists ( credsFile ) )
473
+ {
474
+ File . Delete ( credsFile ) ;
475
+ }
476
+ // reset env variable
477
+ Environment . SetEnvironmentVariable ( "IBM_CREDENTIALS_FILE" , ibmCredFile ) ;
478
+ }
479
+
480
+ [ Test ]
481
+ public void TestGetEnvCredentialsAsMapService1 ( )
482
+ {
483
+ var apikey = "V4HXmoUtMjohnsnow=KotN" ;
484
+ var authType = "iam" ;
485
+ var clientId = "somefake========id" ;
486
+ var clientIdSecret = "==my-client-secret==" ;
487
+ var authUrl = "https://iamhost/iam/api=" ;
488
+
489
+ Environment . SetEnvironmentVariable (
490
+ "SERVICE_1_" + Authenticator . PropNameApikey ,
491
+ apikey ) ;
492
+ Environment . SetEnvironmentVariable (
493
+ "SERVICE_1_" + Authenticator . PropNameAuthType ,
494
+ authType ) ;
495
+ Environment . SetEnvironmentVariable (
496
+ "SERVICE_1_" + Authenticator . PropNameClientId ,
497
+ clientId ) ;
498
+ Environment . SetEnvironmentVariable (
499
+ "SERVICE_1_" + Authenticator . PropNameClientSecret ,
500
+ clientIdSecret ) ;
501
+ Environment . SetEnvironmentVariable (
502
+ "SERVICE_1_" + Authenticator . PropNameUrl ,
503
+ authUrl ) ;
504
+ // get props
505
+ Dictionary < string , string > props = CredentialUtils . GetEnvCredentialsAsMap ( "service_1" ) ;
506
+ Assert . IsNotNull ( props ) ;
507
+ Assert . AreEqual ( props [ "AUTH_TYPE" ] , authType ) ;
508
+ Assert . AreEqual ( props [ "APIKEY" ] , apikey ) ;
509
+ Assert . AreEqual ( props [ "CLIENT_ID" ] , clientId ) ;
510
+ Assert . AreEqual ( props [ "CLIENT_SECRET" ] , clientIdSecret ) ;
511
+ Assert . AreEqual ( props [ "AUTH_URL" ] , authUrl ) ;
512
+
513
+ // delete created env files
514
+ Environment . SetEnvironmentVariable (
515
+ "SERVICE_1_" + Authenticator . PropNameApikey ,
516
+ null ) ;
517
+ Environment . SetEnvironmentVariable (
518
+ "SERVICE_1_" + Authenticator . PropNameAuthType ,
519
+ null ) ;
520
+ Environment . SetEnvironmentVariable (
521
+ "SERVICE_1_" + Authenticator . PropNameClientId ,
522
+ null ) ;
523
+ Environment . SetEnvironmentVariable (
524
+ "SERVICE_1_" + Authenticator . PropNameClientSecret ,
525
+ null ) ;
526
+ Environment . SetEnvironmentVariable (
527
+ "SERVICE_1_" + Authenticator . PropNameUrl ,
528
+ null ) ;
529
+ }
417
530
}
418
531
}
0 commit comments