Пример #1
0
        /// <summary>
        /// Post token request back to Tictail
        /// </summary>
        /// <param name="oauth">Oauth object</param>
        /// <returns>A token</returns>
        public Token Post(Oauth oauth)
        {
            var request = new RestRequest("oauth/token", Method.POST);

            request.AddParameter("application/x-www-form-urlencoded", oauth.GenerateBody(), ParameterType.RequestBody);

            string content = _client.ExecuteRequest(request, HttpStatusCode.OK).Content;
            return DeserializeGet(content);
        }
Пример #2
0
        public void Post_ValidAuthCode_AccessToken()
        {
            var oauth = new Oauth
            {
                AuthCode = "authcode_abcdefghijklmnop123456",
                ClientId = "clientid_ABCDEFGHIJKLM9876543",
                ClientSecret = "clientsecret_123456789abcdefghij"
            };

            var token = Post(oauth);

            Assert.Equal("accesstoken_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", token.AccessToken);
            Assert.Equal("Bearer", token.TokenType);
            Assert.Equal(3155760000, token.ExpiresIn);
            Assert.NotNull(token.Store);
        }
Пример #3
0
        /// <summary>
        /// All is OK : used by Post_ValidAuthCode_AccessToken
        /// </summary>
        /// <param name="oauth">The oauth data going in</param>
        /// <returns>A token</returns>
        public Token Post(Oauth oauth)
        {
            const string tictailJsonReponse = "{" +
                                                  "\"access_token\": \"accesstoken_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"," +
                                                  "\"token_type\": \"Bearer\"," +
                                                  "\"expires_in\": 3155760000," +
                                                  "\"store\": {" +
                                                      "\"id\": \"ab1\"," +
                                                      "\"name\": \"Some example store\"," +
                                                      "\"language\": \"en\"," +
                                                      "\"url\": \"http://example.tictail.com\"," +
                                                      "\"storekeeper_email\": \"[email protected]\"," +
                                                      "\"created_at\": \"1999-02-12T20:10:20\"," +
                                                      "\"modified_at\": null" +
                                                  "}" +
                                              "}";

            var testClient = new TictailClientTest
            {
                Content = tictailJsonReponse,
                ResponseStatus = ResponseStatus.Completed,
                StatusCode = HttpStatusCode.OK
            };

            var sut = new OauthResource(testClient);
            return sut.Post(oauth);
        }
Пример #4
0
        public void Post_UnvalidAuthCode_TictailException()
        {
            var oauth = new Oauth
            {
                AuthCode = "authcode_BAD",
                ClientId = "clientid_ABCDEFGHIJKLM9876543",
                ClientSecret = "clientsecret_123456789abcdefghij"
            };

            const string tictailJsonReponse = "{" +
                                                  "\"status\": 400, " +
                                                  "\"message\": \"Invalid authorization code given\"," +
                                                  "\"params\": {}, " +
                                                  "\"support_email\": \"[email protected]\"" +
                                              "}";

            var testClient = new TictailClientTest
            {
                Content = tictailJsonReponse,
                ResponseStatus = ResponseStatus.Completed,
                StatusCode = HttpStatusCode.BadRequest
            };

            var sut = new OauthResource(testClient);

            var tictailException = Assert.Throws<TictailException>(() => sut.Post(oauth));
            Assert.Equal(400, tictailException.Status);
            Assert.Equal("Invalid authorization code given", tictailException.Message);
            Assert.Equal("*****@*****.**", tictailException.SupportEmail);
        }