示例#1
0
        public string GetToken()
        {
            LWAAuthorizationCredentials lwaAuthorizationCredentials = new LWAAuthorizationCredentials
            {
                ClientId     = ClientId,
                ClientSecret = ClientSecret,
                RefreshToken = RefreshToken,
                Endpoint     = Endpoint
            };

            var requestTokenClient = new LWAClient(lwaAuthorizationCredentials);

            return(requestTokenClient.GetAccessToken());
        }
        public void ReturnAccessTokenFromResponse()
        {
            IRestRequest request = new RestRequest();

            mockRestClient.Setup(client => client.Execute(It.IsAny <IRestRequest>()))
            .Callback((IRestRequest req) => { request = req; })
            .Returns(Response);

            LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials);

            lwaClientUnderTest.RestClient = mockRestClient.Object;

            string accessToken = lwaClientUnderTest.GetAccessToken();

            Assert.Equal("Azta|foo", accessToken);
        }
        public void MissingAccessTokenInResponseThrowsException()
        {
            IRestResponse response = new RestResponse
            {
                StatusCode     = HttpStatusCode.OK,
                ResponseStatus = ResponseStatus.Completed,
                Content        = string.Empty
            };

            IRestRequest request = new RestRequest();

            mockRestClient.Setup(client => client.Execute(It.IsAny <RestRequest>()))
            .Callback((IRestRequest req) => { request = (RestRequest)req; })
            .Returns(response);

            LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials);

            lwaClientUnderTest.RestClient = mockRestClient.Object;

            Assert.Throws <SystemException>(() => lwaClientUnderTest.GetAccessToken());
        }
        public void UnsuccessfulPostThrowsException()
        {
            IRestResponse response = new RestResponse
            {
                StatusCode     = HttpStatusCode.BadRequest,
                ResponseStatus = ResponseStatus.Completed,
                Content        = string.Empty
            };

            IRestRequest request = new RestRequest();

            mockRestClient.Setup(client => client.Execute(It.IsAny <IRestRequest>()))
            .Callback((IRestRequest req) => { request = req; })
            .Returns(response);

            LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials);

            lwaClientUnderTest.RestClient = mockRestClient.Object;

            SystemException systemException = Assert.Throws <SystemException>(() => lwaClientUnderTest.GetAccessToken());

            Assert.IsType <IOException>(systemException.GetBaseException());
        }
        public void MakeRequestFromMeta()
        {
            IRestRequest request = new RestRequest();
            LWAAccessTokenRequestMeta expectedLWAAccessTokenRequestMeta = new LWAAccessTokenRequestMeta()
            {
                ClientSecret = "expectedSecret",
                ClientId     = "expectedClientId",
                RefreshToken = "expectedRefreshToken",
                GrantType    = "expectedGrantType"
            };

            mockRestClient.Setup(client => client.Execute(It.IsAny <IRestRequest>()))
            .Callback((IRestRequest req) => { request = req; })
            .Returns(Response);

            mockLWAAccessTokenRequestMetaBuilder.Setup(builder => builder.Build(LWAAuthorizationCredentials))
            .Returns(expectedLWAAccessTokenRequestMeta);

            LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials);

            lwaClientUnderTest.RestClient = mockRestClient.Object;
            lwaClientUnderTest.LWAAccessTokenRequestMetaBuilder = mockLWAAccessTokenRequestMetaBuilder.Object;
            lwaClientUnderTest.GetAccessToken();

            Parameter requestBody = request.Parameters
                                    .FirstOrDefault(parameter => parameter.Type.Equals(ParameterType.RequestBody));

            JObject jsonRequestBody = JObject.Parse(requestBody.Value.ToString());

            Assert.Equal(Method.POST, request.Method);
            Assert.Equal(TestEndpoint.AbsolutePath, request.Resource);
            Assert.Equal(expectedLWAAccessTokenRequestMeta.RefreshToken, jsonRequestBody.GetValue("refresh_token"));
            Assert.Equal(expectedLWAAccessTokenRequestMeta.GrantType, jsonRequestBody.GetValue("grant_type"));
            Assert.Equal(expectedLWAAccessTokenRequestMeta.ClientId, jsonRequestBody.GetValue("client_id"));
            Assert.Equal(expectedLWAAccessTokenRequestMeta.ClientSecret, jsonRequestBody.GetValue("client_secret"));
        }
        public void InitializeLWAAuthorizationCredentials()
        {
            LWAClient lwaClientUnderTest = new LWAClient(LWAAuthorizationCredentials);

            Assert.Equal(LWAAuthorizationCredentials, lwaClientUnderTest.LWAAuthorizationCredentials);
        }