in ServiceSamples/ServiceTests/JsonTests.cs [83:123]
public void JsonWeaklyTypedContractTest()
{
var request = HttpWebRequest.Create(ApplyTimeZoneOperationPath);
request.Headers[OAuthHelper.OAuthHeader] = OAuthHelper.GetAuthenticationHeader();
request.Method = "POST";
DateTime inputDateTime = DateTime.Now;
var requestContract = new
{
dateTime = inputDateTime,
timeZoneOffset = 3
};
var requestContractString = JsonConvert.SerializeObject(requestContract);
using (var stream = request.GetRequestStream())
{
using (var writer = new StreamWriter(stream))
{
writer.Write(requestContractString);
}
}
using (var response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader streamReader = new StreamReader(responseStream))
{
string responseString = streamReader.ReadToEnd();
JToken jsonObject = JToken.Parse(responseString);
DateTime appliedTimeZone = jsonObject.Value<DateTime>();
Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
Assert.IsFalse(string.IsNullOrEmpty(responseString));
Console.WriteLine(responseString);
Assert.IsNotNull(appliedTimeZone);
Assert.AreNotEqual(appliedTimeZone.Hour, inputDateTime.Hour);
}
}
}
}