/// <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); }
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); }
/// <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); }
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); }