示例#1
0
    public void PasswordHttpClient_HttpClientOptionsType_ShouldBeCorrect()
    {
        var httpClient = new PasswordHttpClient(
            IHttpClientFactoryMocks.Get(
                HttpStatusCode.OK,
                TokenResponseObjects.GetValidTokenResponseString("access_token", 10)
                ).CreateClient("test")
            );

        Assert.AreEqual(typeof(PasswordOptions), httpClient.HttpClientOptionsType);
    }
示例#2
0
    public void PasswordHttpClient_GetCacheKey_ShouldReturnCorrectHash()
    {
        var httpClient = new PasswordHttpClient(
            IHttpClientFactoryMocks.Get(HttpStatusCode.OK).CreateClient("test")
            );

        var clientCredentialOptions = new PasswordOptions
        {
            Address      = "http://localhost/" + Guid.NewGuid(),
            ClientId     = "ClientId",
            ClientSecret = "secret",
            Scope        = "scope",
            Username     = "******",
            Password     = "******"
        };

        var cacheKey = httpClient.GetCacheKey(clientCredentialOptions);
        var hash     = (clientCredentialOptions.Address + clientCredentialOptions.ClientId + clientCredentialOptions.Scope + clientCredentialOptions.Username).GetHashCode().ToString();

        Assert.AreEqual(hash, cacheKey);
    }
示例#3
0
    public async Task PasswordHttpClient_GetTokenResponseAsync_ShouldReturnAccessToken()
    {
        var httpClient = new PasswordHttpClient(
            IHttpClientFactoryMocks.Get(
                HttpStatusCode.OK,
                TokenResponseObjects.GetValidTokenResponseString("access_token", 10)
                ).CreateClient("test")
            );

        var passwordOptions = new PasswordOptions
        {
            Address      = "http://localhost/" + Guid.NewGuid(),
            ClientId     = "ClientId",
            ClientSecret = "secret",
            Scope        = "scope",
            Username     = "******",
            Password     = "******"
        };

        var tokenResponse = await httpClient.GetTokenResponseAsync(passwordOptions);

        Assert.AreEqual(HttpStatusCode.OK, tokenResponse.HttpStatusCode);
        Assert.AreEqual("access_token", tokenResponse.AccessToken);
    }