public static (string, string, byte[], int) GetWhether(string city) { try { string url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&units=metric&appid=2346f27428e58418899df7cbaf76c849"; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); string response; using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream())) { response = streamReader.ReadToEnd(); } WeatherResponce ow = JsonConvert.DeserializeObject <WeatherResponce>(response); var tuple = (ow.Name, ow.Weather[0].description, ow.Weather[0].Icon, (int)ow.Main.temp); return(tuple); } catch { return("", "", null, 0); } }
public void test_get_temperature_for_Yoshkar_Ola() { weatherResponce = Utils.GetWeather(cityID, metrics, validAPI); Console.WriteLine("Полученая температура " + weatherResponce.main.temp + "°C"); Assert.Less(weatherResponce.main.temp, 70, "Не может быть больше 70"); Assert.Greater(weatherResponce.main.temp, -50, "Не может быть меньше -50C"); }
public void test_does_received_JSON_have_correct_date() { weatherResponce = Utils.GetWeather(cityID, metrics, validAPI); var dateJSON = Utils.UnixTimeStampToDateTime(weatherResponce.dt); Console.WriteLine("Получена дата: " + dateJSON); Assert.That(dateJSON.Day == DateTime.Now.Day, "Не верный день в полученном JSON"); }
public void test_get_status_404_message_wrong_city() { weatherResponce = Utils.GetWeather(wrongCityID, metrics, validAPI); Console.WriteLine("Получено сообщение: " + weatherResponce.message); Console.WriteLine("Получен код: " + weatherResponce.cod); Assert.That(weatherResponce.message == "city not found", "Город не должен был быть найден"); Assert.That(weatherResponce.cod == 404, "Ошибка должна иметь код 404"); }
public void test_get_status_401_invalid_api() { weatherResponce = Utils.GetWeather(cityID, metrics, invalidAPI); Console.WriteLine("Получено сообщение: " + weatherResponce.message); Console.WriteLine("Получен код: " + weatherResponce.cod); Assert.That(weatherResponce.message.Length >= 0, "Нет текста в сообщении об ошибке"); Assert.That(weatherResponce.cod == 401, "Ошибка должна иметь код 401"); }
public void test_get_status_400_not_city_id() { weatherResponce = Utils.GetWeather(notCityID, metrics, validAPI); Console.WriteLine("Получено сообщение: " + weatherResponce.message); Console.WriteLine("Получен код: " + weatherResponce.cod); Assert.That(weatherResponce.message.Contains("is not a city ID"), "Ожидалась,что для невалидного ИДа будет соответствующее сообщение"); Assert.That(weatherResponce.cod == 400, "Ошибка должна иметь код 400"); }
public void test_get_city_name_Yoshkar_Ola() { weatherResponce = Utils.GetWeather(cityID, metrics, validAPI); Console.WriteLine("Получено название пункта: " + weatherResponce.name); Assert.That(weatherResponce.name == "Yoshkar-Ola", "По ИДу нашлась не Йошкар-Ола"); }
public void test_get_status_200_cod_ok() { weatherResponce = Utils.GetWeather(cityID, metrics, validAPI); Console.WriteLine("Получен код: " + weatherResponce.cod); Assert.That(weatherResponce.cod == 200, "Ожидался код 200"); }