public async Task PostJsonData() { var model = new Person() { Key = 10, Name = "Test" }; var request = (HttpWebRequest)WebRequest.Create(WebServerUrl + TestController.GetPath); request.Method = "POST"; using (var dataStream = await request.GetRequestStreamAsync()) { var byteArray = Encoding.UTF8.GetBytes(Json.Serialize(model)); dataStream.Write(byteArray, 0, byteArray.Length); } using (var response = (HttpWebResponse)await request.GetResponseAsync()) { Assert.AreEqual(response.StatusCode, HttpStatusCode.OK, "Status Code OK"); var jsonString = new StreamReader(response.GetResponseStream()).ReadToEnd(); Assert.IsNotNull(jsonString); Assert.IsNotEmpty(jsonString); var json = Json.Deserialize<Person>(jsonString); Assert.IsNotNull(json); Assert.AreEqual(json.Name, model.Name); } }
public static async Task ValidatePerson(string url, Person person = null) { person = person ?? PeopleRepository.Database.First(); using (var http = new HttpClient()) { var jsonBody = await http.GetStringAsync(url); Assert.IsNotNull(jsonBody, "Json Body is not null"); Assert.IsNotEmpty(jsonBody, "Json Body is not empty"); var item = Json.Deserialize<Person>(jsonBody); Assert.IsNotNull(item, "Json Object is not null"); Assert.AreEqual(item.Name, person.Name, "Remote objects equality"); Assert.AreEqual(item.Name, PeopleRepository.Database.First().Name, "Remote and local objects equality"); } }