示例#1
0
        public async Task SdkAuthFileEnsureCredentialParsesCorrectly()
        {
            var credential      = new AuthFileCredential(Path.Combine(TestContext.CurrentContext.TestDirectory, "Data", "authfile.json"));
            var innerCredential = await _credential(credential);

            ClientSecretCredential cred = innerCredential as ClientSecretCredential;

            Assert.NotNull(cred);
            Assert.AreEqual("mockclientid", cred.ClientId);
            Assert.AreEqual("mocktenantid", cred.TenantId);
            Assert.AreEqual("mockclientsecret", cred.ClientSecret);
        }
示例#2
0
        public Task BadSdkAuthFilePathThrowsDuringGetToken()
        {
            var credential = new AuthFileCredential("Bougs*File*Path");

            if (IsAsync)
            {
                Assert.ThrowsAsync <AuthenticationFailedException>(async() => await credential.GetTokenAsync(new TokenRequestContext(new string[] { "https://mock.scope/.default/" }, null), default(CancellationToken)).ConfigureAwait(false));
            }
            else
            {
                Assert.Throws <AuthenticationFailedException>(() => credential.GetToken(new TokenRequestContext(new string[] { "https://mock.scope/.default/" }, null), default(CancellationToken)));
            }

            return(Task.CompletedTask);
        }
示例#3
0
        public void CredentialConstructionAuthLocation()
        {
            string authLocationBackup = Environment.GetEnvironmentVariable("AZURE_AUTH_LOCATION");
            string pathToFile         = Path.Combine(TestContext.CurrentContext.TestDirectory, "Data", "authfile.json");

            try
            {
                Environment.SetEnvironmentVariable("AZURE_AUTH_LOCATION", pathToFile);

                var provider            = new EnvironmentCredential();
                AuthFileCredential cred = _credential(provider) as AuthFileCredential;

                Assert.NotNull(cred);
                Assert.AreEqual(pathToFile, cred.FilePath);
            }
            finally
            {
                Environment.SetEnvironmentVariable("AZURE_AUTH_LOCATION", authLocationBackup);
            }
        }
示例#4
0
        public async Task <TokenCredential> _credential(AuthFileCredential provider)
        {
            await provider.EnsureCredential(IsAsync, default);

            return((TokenCredential)typeof(AuthFileCredential).GetField("_credential", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(provider));
        }