public async Task GetImages_FileExists_DoesNotDownload()
        {
            // ARRANGE
            var p          = Arranger.GetCafEEFluxParametersValid();
            var parameters = new CafEEFluxParameters(
                p.Latitude, p.Latitude,
                p.StartDate, p.EndDate,
                p.CloudinessThreshold, p.TierThreshold,
                $"{Directory.GetCurrentDirectory()}\\Assets\\TestZipOnly",
                new List <EEFluxImageTypes>()
            {
                EEFluxImageTypes.Ndvi
            });
            var u = Arranger.GetEEFluxResponseDownloadEtofValid();

            var imageMeta =
                new Dictionary <int, EEFluxImageMetadata>();

            imageMeta.Add(
                0,
                Arranger.GetEEFluxImageMetadataAllValid()[0]);

            Mock <IEEFluxClient <HttpResponseMessage> > e =
                new Mock <IEEFluxClient <HttpResponseMessage> >();

            e.Setup(x => x.GetImageMetadataAsync(parameters))
            .Returns(Task.FromResult(imageMeta));
            e.Setup(x => x.GetImageUriAsync(
                        It.IsAny <CafEEFluxParameters>(),
                        It.IsAny <string>(),
                        It.IsAny <EEFluxImageTypes>()))
            .Returns(Task.FromResult(u));

            var c = new CommandLineApplication();

            var o = new Mock <IParseParameters <CommandOption> >();

            o.Setup(x => x.Parse(
                        It.IsAny <IEnumerable <CommandOption> >()))
            .Returns(parameters);

            var sut = new Engine(e.Object, c, o.Object);

            // ACT
            int result = await sut.GetImages(parameters);

            // ASSERT
            e.Verify(x => x.GetImageUriAsync(
                         parameters,
                         It.IsAny <string>(),
                         It.IsAny <EEFluxImageTypes>()),
                     Times.Never);
        }
Example #2
0
        public async Task GetImageUri_Etof_ReturnsDictionaryOfEEFluxImages()
        {
            // ARRANGE
            string             imageId    = "LE70420282015170EDC00";
            var                parameters = Arranger.GetCafEEFluxParametersValid();
            var                expected   = Arranger.GetEEFluxResponseDownloadEtofValid();
            EEFluxClientWebApi sut        = arrangeEEFluxClientWebApi(
                "download_etof",
                "{\"etof\": {\"url\": \"https://earthengine.googleapis.com/api/download?docid=6277fdbbcb5e4e0bc2f2d5562f4d1c4a&token=da96164b598072a0163f34ceaac8f5b6\"}}");

            // ACT
            var actual = await sut.GetImageUriAsync(
                parameters,
                imageId,
                EEFluxImageTypes.Etof);

            // ASSERT
            Assert.Equal(actual, expected);
        }