public async Task ProbeShouldThrowIfCertificateIsNotInStoreDistinguishedNameAsync() { var config = FakeConfiguration(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>(Constants.AzureClientIdEnvName, "foo"), new KeyValuePair <string, string>(Constants.AzureCertificateSubjectDistinguishedNameEnvName, "bar"), new KeyValuePair <string, string>(Constants.AzureCertificateStoreEnvName, "My"), new KeyValuePair <string, string>(Constants.AzureTenantIdEnvName, "Bazz") }); var provider = new ServicePrincipalTokenProvider(config: config); var msg = "Unable to find certificate with distinguished name 'bar' in certificate store named 'My' and store location CurrentUser"; var ex = await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await provider.GetTokenAsync(new List <string> { "foo" }).ConfigureAwait(false)).ConfigureAwait(false); Assert.AreEqual(msg, ex.Message); }
public async Task ProbeShouldThrowIfNotAvailableAsync() { var provider = new ServicePrincipalTokenProvider(config: FakeConfiguration()); Assert.IsFalse(await provider.IsAvailableAsync().ConfigureAwait(false)); var ex = await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await provider.GetTokenAsync(new List <string> { "foo" }) .ConfigureAwait(false)).ConfigureAwait(false); Assert.AreEqual("The required environment variables are not available.", ex.Message); }