Exemplo n.º 1
0
        public async Task ProbeShouldNotBeAvailableWithoutTenantIdAsync()
        {
            var config = FakeConfiguration(new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>(Constants.AzureClientIdEnvName, "foo"),
                new KeyValuePair <string, string>(Constants.AzureCertificateThumbprintEnvName, "bar"),
                new KeyValuePair <string, string>(Constants.AzureCertificateStoreEnvName, "My")
            });
            var provider = new ServicePrincipalTokenProvider(config: config);

            Assert.IsFalse(await provider.IsAvailableAsync().ConfigureAwait(false));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        public async Task ProbeShouldBeAvailableWithServicePrincipalAndCertificateBase64Async()
        {
            var config = FakeConfiguration(new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>(Constants.AzureClientIdEnvName, "foo"),
                new KeyValuePair <string, string>(Constants.AzureCertificateEnvName, "bar"),
                new KeyValuePair <string, string>(Constants.AzureTenantIdEnvName, "Bazz")
            });
            var provider = new ServicePrincipalTokenProvider(config: config);

            Assert.IsTrue(await provider.IsAvailableAsync().ConfigureAwait(false));
            Assert.IsTrue(provider.IsClientCertificate());
            Assert.IsFalse(provider.IsClientSecret());
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        public async Task ProbeShouldNotBeAvailableWithoutEnvironmentVarsAsync()
        {
            var provider = new ServicePrincipalTokenProvider(config: FakeConfiguration());

            Assert.IsFalse(await provider.IsAvailableAsync().ConfigureAwait(false));
        }