public void WebSite_AirportDataThumbnails_Calls_IAirportDataThumbnails_And_Returns_Response() { var request = new AirportDataThumbnailsAddress(_Request) { Icao = "ABC123", Registration = "G-VROS", CountThumbnails = 2, }; SetupAirportDataThumbnails(2); var json = SendJsonRequest <AirportDataThumbnailsJson>(request.Address); Assert.AreEqual("ABC123", _AirportDataThumbnailsIcao); Assert.AreEqual("G-VROS", _AirportDataThumbnailsRegistration); Assert.AreEqual(2, _AirportDataThumbnailsCountThumbnails); Assert.AreEqual(200, json.Status); Assert.AreEqual(null, json.Error); Assert.AreEqual(2, json.Thumbnails.Count); for (var i = 1; i <= 2; ++i) { var thumbnail = json.Thumbnails[i - 1]; Assert.AreEqual(String.Format("Image{0}", i), thumbnail.ImageUrl); Assert.AreEqual(String.Format("Link{0}", i), thumbnail.LinkUrl); Assert.AreEqual(String.Format("Photographer{0}", i), thumbnail.PhotographerName); } }
public void WebSite_AirportDataThumbnails_Converts_ICAO_To_UpperCase() { var request = new AirportDataThumbnailsAddress(_Request) { Icao = "abc123", CountThumbnails = 2, }; SetupAirportDataThumbnails(2); var json = SendJsonRequest <AirportDataThumbnailsJson>(request.Address); Assert.AreEqual("ABC123", _AirportDataThumbnailsIcao); }
public void WebSite_AirportDataThumbnals_Returns_Error_Json_When_AirportData_Returns_404() { var request = new AirportDataThumbnailsAddress(_Request) { Icao = "abc123", CountThumbnails = 2, }; _AirportDataThumbnails.HttpStatusCode = HttpStatusCode.NotFound; var json = SendJsonRequest <AirportDataThumbnailsJson>(request.Address); Assert.AreEqual(404, json.Status); Assert.AreEqual("Could not retrieve thumbnails", json.Error); Assert.AreEqual(0, json.Thumbnails.Count); }
public void WebSite_AirportDataThumbnals_Returns_Error_Json_When_AirportData_Throws_Exception() { var request = new AirportDataThumbnailsAddress(_Request) { Icao = "abc123", CountThumbnails = 2, }; var exception = new InvalidOperationException(); _AirportDataDotCom.Setup(r => r.GetThumbnails(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>())).Callback((string icao, string reg, int count) => { throw exception; }); var json = SendJsonRequest <AirportDataThumbnailsJson>(request.Address); Assert.AreEqual(500, json.Status); Assert.IsTrue(json.Error.Contains("Exception caught while fetching thumbnails: ")); Assert.AreEqual(0, json.Thumbnails.Count); }
public void WebSite_AirportDataThumbnails_Returns_Error_Json_When_Icao_Is_Garbage() { foreach (var badIcao in new string[] { null, "", " ", "ABCDE", "GGGGGG", "ABCDEF1" }) { TestCleanup(); TestInitialise(); var request = new AirportDataThumbnailsAddress(_Request) { Icao = badIcao, CountThumbnails = 2, }; SetupAirportDataThumbnails(2); var json = SendJsonRequest <AirportDataThumbnailsJson>(request.Address); _AirportDataDotCom.Verify(r => r.GetThumbnails(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>()), Times.Never()); Assert.AreEqual(0, json.Status); Assert.AreEqual("Invalid ICAO", json.Error); Assert.AreEqual(0, json.Thumbnails.Count); } }