public void TestGetVcapCredentialsAsMapEmptySvcName() { var tempVcapCredential = new Dictionary <string, List <VcapCredential> >(); //create credential entries for first service entry var vcapCredential = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV1apikey" } }; vcapCredential.Name = "assistantV1"; tempVcapCredential.Add("assistant", new List <VcapCredential>() { vcapCredential }); var vcapString = JsonConvert.SerializeObject(tempVcapCredential); Environment.SetEnvironmentVariable("VCAP_SERVICES", vcapString); Assert.IsNotNull(Environment.GetEnvironmentVariable("VCAP_SERVICES")); var vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap(""); Assert.IsNotNull(vcapCredentaialsAsMap); Assert.IsTrue(vcapCredentaialsAsMap.Count == 0); }
public void TestGetVcapCredentialsAsMapMissingNameField() { var tempVcapCredential = new Dictionary <string, List <VcapCredential> >(); //create credential entries for first service entry var vcapCredential = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV1apikey" } }; tempVcapCredential.Add("assistant", new List <VcapCredential>() { vcapCredential }); var vcapString = JsonConvert.SerializeObject(tempVcapCredential); Environment.SetEnvironmentVariable("VCAP_SERVICES", vcapString); Assert.IsNotNull(Environment.GetEnvironmentVariable("VCAP_SERVICES")); var vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap("assistant"); Assert.IsNotNull(vcapCredentaialsAsMap); vcapCredentaialsAsMap.TryGetValue( Authenticator.PropNameApikey, out string extractedKey); Assert.IsTrue(extractedKey == "assistantV1apikey"); }
public static Authenticator GetAuthenticator(string serviceName) { Authenticator authenticator = null; // Gather authentication-related properties from all the supported config sources: // - 1) Credential file // - 2) Environment variables // - 3) VCAP_SERVICES env variable Dictionary <string, string> authProps = new Dictionary <string, string>(); // First check to see if this service has any properties defined in a credential file. authProps = CredentialUtils.GetFileCredentialsAsMap(serviceName); // If we didn't find any properties so far, then try the environment. if (authProps == null || authProps.Count == 0) { authProps = CredentialUtils.GetEnvCredentialsAsMap(serviceName); } // If we didn't find any properties so far, then try VCAP_SERVICES if (authProps == null || authProps.Count == 0) { authProps = CredentialUtils.GetVcapCredentialsAsMap(serviceName); } // Now create an authenticator from the map. if (authProps != null && authProps.Count > 0) { authenticator = CreateAuthenticator(authProps); } return(authenticator); }
public void TestGetVcapCredentialsAsMapFromInnerEntry() { var tempVcapCredential = new Dictionary <string, List <VcapCredential> >(); //create credential entries var vcapCredential = new VcapCredential() { Credentials = new Credential() { ApiKey = "fakeapikey" } }; vcapCredential.Name = "assistant1"; var vcapCredential2 = new VcapCredential() { Credentials = new Credential() { ApiKey = "fakeapikey2" } }; vcapCredential2.Name = "assistant2"; var vcapCredential3 = new VcapCredential() { Credentials = new Credential() { ApiKey = "fakeapikey3" } }; vcapCredential3.Name = "assistant3"; //map to a single key tempVcapCredential.Add("assistant", new List <VcapCredential>() { vcapCredential, vcapCredential2, vcapCredential3 }); var vcapString = JsonConvert.SerializeObject(tempVcapCredential); Environment.SetEnvironmentVariable("VCAP_SERVICES", vcapString); Assert.IsNotNull(Environment.GetEnvironmentVariable("VCAP_SERVICES")); var vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap("assistant2"); Assert.IsNotNull(vcapCredentaialsAsMap); vcapCredentaialsAsMap.TryGetValue( Authenticator.PropNameApikey, out string extractedKey); Assert.IsTrue(extractedKey == "fakeapikey2"); }
public void TestGetVcapCredentialsAsMap() { var apikey = "bogus-apikey"; var service1_apikey = "V4HXmoUtMjohnsnow=KotN"; var tempVcapCredential = new Dictionary <string, List <VcapCredential> >(); var vcapCredential = new VcapCredential() { Credentials = new Credential() { ApiKey = apikey } }; var vcapCredential2 = new VcapCredential() { Credentials = new Credential() { ApiKey = service1_apikey } }; vcapCredential2.Name = "equals_sign_test"; tempVcapCredential.Add("assistant", new List <VcapCredential>() { vcapCredential }); tempVcapCredential.Add("equals_sign_test", new List <VcapCredential>() { vcapCredential2 }); var vcapString = JsonConvert.SerializeObject(tempVcapCredential); Environment.SetEnvironmentVariable("VCAP_SERVICES", vcapString); Assert.IsNotNull(Environment.GetEnvironmentVariable("VCAP_SERVICES")); var vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap("assistant"); Assert.IsNotNull(vcapCredentaialsAsMap); vcapCredentaialsAsMap.TryGetValue( Authenticator.PropNameApikey, out string extractedKey); Assert.IsTrue(extractedKey == apikey); vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap("equals_sign_test"); Assert.IsNotNull(vcapCredentaialsAsMap); vcapCredentaialsAsMap.TryGetValue( Authenticator.PropNameApikey, out string extractedKey2); Assert.IsTrue(extractedKey2 == service1_apikey); }
public void TestGetVcapCredentialsAsMapVcapNotSet() { var tempVcapCredential = new Dictionary <string, List <VcapCredential> >(); //create credential entries for first service entry var vcapCredential = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV1apikey" } }; vcapCredential.Name = "assistantV1"; tempVcapCredential.Add("assistant", new List <VcapCredential>() { vcapCredential }); var vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap("fake_entry"); // Assert.IsNotNull(vcapCredentaialsAsMap); // Assert.IsTrue(vcapCredentaialsAsMap.Count == 0); }
public void TestGetVcapCredentialsAsMapNoMatchingName() { var tempVcapCredential = new Dictionary <string, List <VcapCredential> >(); //create credential entries for first service entry var vcapCredential = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV1apikey" } }; vcapCredential.Name = "assistantV1"; var vcapCredential2 = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV1apikeyCopy" } }; vcapCredential2.Name = "assistantV1Copy"; //map to creds to first service tempVcapCredential.Add("no_matching_name", new List <VcapCredential>() { vcapCredential, vcapCredential2 }); //create credential entries for second service entry var vcapCredential3 = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV2apikey" } }; vcapCredential3.Name = "assistantV2"; var vcapCredential4 = new VcapCredential() { Credentials = new Credential() { ApiKey = "assistantV2apikeyCopy" } }; vcapCredential4.Name = "assistantV2Copy"; //map to second service tempVcapCredential.Add("assistant", new List <VcapCredential>() { vcapCredential3, vcapCredential4 }); var vcapString = JsonConvert.SerializeObject(tempVcapCredential); Environment.SetEnvironmentVariable("VCAP_SERVICES", vcapString); Assert.IsNotNull(Environment.GetEnvironmentVariable("VCAP_SERVICES")); var vcapCredentaialsAsMap = CredentialUtils.GetVcapCredentialsAsMap("no_matching_name"); Assert.IsNotNull(vcapCredentaialsAsMap); vcapCredentaialsAsMap.TryGetValue( Authenticator.PropNameApikey, out string extractedKey); Assert.IsTrue(extractedKey == "assistantV1apikey"); }