public async void SearchImagesOnElasticSearch_AllQueryParams_204()
        {
            using (var context = new AmazonRDSContext(contextOptions))
            {
                var _elasticsearchAppService = new ElasticsearchAppService(_elasticsearchClientMock.Object, context);
                var _uploadService           = new UploadAppService(context, _awsServiceMock.Object);

                var controller = Util.ConfigController(_uploadService, context, _awsServiceMock.Object, _elasticsearchAppService);

                var hitsDetails = new List <Hit>();

                var elasticsearchQueryResult = new ElasticsearchQueryResult
                {
                    hits = new Hits {
                        hits = hitsDetails
                    }
                };

                _elasticsearchClientMock.Setup(x => x.QueryImagesOnElasticsearch(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()))
                .Returns(Task.FromResult(elasticsearchQueryResult));

                var result = await controller.SearchImagesOnElasticSearch("test", "jpeg", "120", "0");

                Assert.True(((NoContentResult)result).StatusCode == (int)HttpStatusCode.NoContent);
            }
        }
        public async void SearchImagesOnElasticSearch_NullQueryParams_200()
        {
            using (var context = new AmazonRDSContext(contextOptions))
            {
                var _elasticsearchAppService = new ElasticsearchAppService(_elasticsearchClientMock.Object, context);
                var _uploadService           = new UploadAppService(context, _awsServiceMock.Object);

                var controller = Util.ConfigController(_uploadService, context, _awsServiceMock.Object, _elasticsearchAppService);

                var hitsDetails = new List <Hit> {
                    new Hit {
                        _source = new ImageDetail {
                            Description = "test", FileSizeKb = "120", FileType = "image/jpeg"
                        }
                    }
                };

                var elasticsearchQueryResult = new ElasticsearchQueryResult {
                    hits = new Hits {
                        hits = hitsDetails
                    }
                };

                _elasticsearchClientMock.Setup(x => x.QueryImagesOnElasticsearch(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()))
                .Returns(Task.FromResult(elasticsearchQueryResult));

                var result = await controller.SearchImagesOnElasticSearch(null, null, null, null);

                Assert.True(((List <ImageDetail>)((OkObjectResult)result).Value).Count > 0);
                Assert.True(((OkObjectResult)result).StatusCode == (int)HttpStatusCode.OK);
            }
        }