Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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");
            }
        }