public void TestContactCanBePosted() { string contactName = "Steve Jobs " + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss"); string contactEmail = contactName.Replace(' ', '-'); string postContactRequestBody = string.Format("<Contacts><Contact><Name>{0}</Name><EmailAddress>{1}@nowhere.com</EmailAddress></Contact></Contacts>", contactName, contactEmail); IConsumerRequest postContactRequest = ConsumerSessionFactory.CreatePrivateConsumerSession() .Request() .ForMethod("POST") .ForUri(new Uri(apiEndpointUrl)) .WithFormParameters(new { xml = postContactRequestBody }) .SignWithToken(ConsumerSessionFactory.CreatePrivateAccessToken()); string postContactResponse = postContactRequest.ToString(); Assert.IsNotEmpty(postContactResponse); }
public void TestEmptyContactNameReturnsHttp400Error() { string contactName = "Steve Jobs " + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss"); string contactEmail = contactName.Replace(' ', '-'); string postContactRequestBody = string.Format("<Contacts><Contact><Name></Name><EmailAddress>{0}@nowhere.com</EmailAddress></Contact></Contacts>", contactEmail); string postContactResponseBody = string.Empty; IConsumerRequest postContactRequest = ConsumerSessionFactory.CreatePrivateConsumerSession() .Request() .ForMethod("POST") .ForUri(new Uri(apiEndpointUrl)) .WithFormParameters(new { xml = postContactRequestBody }) .SignWithToken(ConsumerSessionFactory.CreatePrivateAccessToken()); try { postContactResponseBody = postContactRequest.ToString(); } catch (OAuthException ex) { Assert.Fail(string.Format("An OAuth Exception occurred: {0}", ex.Report)); } catch (WebException ex) { postContactResponseBody = ex.Response.GetResponseStream().ReadToEnd(); } // Even if an error occurs, the response body should have been captured Assert.IsNotEmpty(postContactResponseBody); Console.WriteLine("Error Number : " + postContactResponseBody.ReadSingleNode(@"/ApiException/ErrorNumber")); Console.WriteLine("Error Message : " + postContactResponseBody.ReadSingleNode(@"/ApiException/Message")); foreach (string validationError in postContactResponseBody.ReadNodes(@"/ApiException/Elements/DataContractBase/ValidationErrors/ValidationError")) { Console.WriteLine("Validation Error : " + validationError); } }