Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
            }
        }