public async Task RoadStatus_GivenInputIsA2_ReturnValidRoadIds() { // Arrange var expected = new Road() { Id = "a2", DisplayName = "A2", StatusSeverity = "Good", StatusSeverityDescription = "No Exceptional Delays" }; var fakeHttpMessageHandler = new Mock <FakeHttpMessageHandler> { CallBase = true }; fakeHttpMessageHandler.Setup(x => x.Send(It.IsAny <HttpRequestMessage>())) .Returns(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new Road[] { expected })) }); var client = new HttpClient(fakeHttpMessageHandler.Object); var roadService = new RoadService(client); // Act var actual = await roadService.GetRoadStatus("A2"); // Asset fakeHttpMessageHandler.Verify(); Assert.AreEqual(expected.Text, actual.Result.Text); }
public async Task RoadStatus_GivenInputIsA233_ReturnValidRoadIds() { // Arrange var expected = new RequestError() { Message = "A233" }; var fakeHttpMessageHandler = new Mock <FakeHttpMessageHandler> { CallBase = true }; fakeHttpMessageHandler.Setup(x => x.Send(It.IsAny <HttpRequestMessage>())) .Returns(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent($"A233 is not a valid road") }); var client = new HttpClient(fakeHttpMessageHandler.Object); var roadService = new RoadService(client); // Act var actual = await roadService.GetRoadStatus("A233"); // Asset fakeHttpMessageHandler.Verify(); Assert.AreEqual(expected.Text, actual.Result.Text); }
static async Task <int> Main(string[] args) { var roadService = new RoadService(new HttpClient()); RequestStatus requestStatus = await roadService.GetRoadStatus(args[0]); System.Console.WriteLine(requestStatus.Result.Text); return(requestStatus.ExitCode); }
static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); try { var result = RoadService.GetRoadStatus(args[0], configuration["appId"], configuration["developerKey"]); Console.WriteLine($"The status of the {result.DisplayName} is as follows"); Console.WriteLine($"Road Status is {result.StatusSeverity}"); Console.WriteLine($"Road Status Description is {result.StatusSeverityDescription}"); Environment.ExitCode = 0; } catch (Exception e) { Console.WriteLine($"{args[0]} is not a valid road"); Environment.ExitCode = 1; } }
public void should_not_getroadstatus_withinvaliddeveloperkey_and_return_exception() { PAssert.Throws <RoadRequestException>(() => RoadService.GetRoadStatus("A2", configuration["appId"], "xxxxxx")); }
public void should_not_getroadstatus_withvalidroadname_and_return_exception() { PAssert.Throws <RoadRequestException>(() => RoadService.GetRoadStatus("Z2", configuration["appId"], configuration["developerKey"])); }
public void should_getroadstatus_withvalidroadname_and_return_valid_data() { var actual = RoadService.GetRoadStatus("A2", configuration["appId"], configuration["developerKey"]); PAssert.IsTrue(() => actual.GetType() == typeof(RoadRequestResponse)); }