public async void SearchImagesOnElasticSearch_AllQueryParams_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("test", "jpeg", "120", "0");

                Assert.True(((List <ImageDetail>)((OkObjectResult)result).Value).Count > 0);
                Assert.True(((OkObjectResult)result).StatusCode == (int)HttpStatusCode.OK);
            }
        }
        public async void MigrateRdsToElasticsearch_200()
        {
            using (var context = new AmazonRDSContext(contextOptions))
            {
                var _elasticsearchAppService = new ElasticsearchAppService(_elasticsearchClientMock.Object, context);
                var _uploadService           = new UploadAppService(context, _awsServiceMock.Object);

                var imageEntity = new ImageEntity
                {
                    Description = "Test description",
                    FileSizeKb  = 200,
                    FileType    = "image/png",
                    ImageKey    = "Test",
                    createdDate = DateTime.Now
                };
                context.Images.Add(imageEntity);
                context.SaveChanges();

                _elasticsearchClientMock.Setup(x => x.InsertDataOnElasticsearch(It.IsAny <long>(), It.IsAny <ImageDetail>()))
                .Returns(Task.FromResult(new ElasticsearchPutResponse()));

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

                var result = await controller.MigrateRdsToElasticsearch();

                var okResult = GetOkObject(result);

                Assert.True(okResult.StatusCode == (int)HttpStatusCode.OK);
            }
        }