Exemplo n.º 1
0
        public async Task ShouldNotProcessAccountModelIfUnauthorised()
        {
            _downloader
            .Setup(o => o.Download <IEnumerable <AccountSearchModel> >(_baseUrl))
            .Returns(Task.FromResult(_accountModels));

            _downloader
            .Setup(o => o.Download(It.IsAny <Uri>()))
            .Returns(Task.FromResult(null as string));

            _downloader
            .Setup(o => o.LastCode)
            .Returns(HttpStatusCode.Unauthorized);

            var sut = new AccountIndexResourceProcessor(_siteSettings.Object,
                                                        _downloader.Object,
                                                        _indexProvider.Object,
                                                        _searchSettings.Object,
                                                        _logger.Object,
                                                        _indexNameCreator.Object,
                                                        _elasticClient.Object);

            await sut.ProcessResource(_baseUrl, _accountSiteResource);

            _indexNameCreator
            .Verify(o => o.CreateNewIndexName(_indexName, SearchCategory.Account), Times.Once);

            _indexNameCreator
            .Verify(o => o.CreateIndexesAliasName(_indexName, SearchCategory.Account), Times.Never);

            _elasticClient
            .Verify(o => o.IndexExists(_indexName, string.Empty), Times.Once);

            _downloader
            .Verify(o => o.Download(It.IsAny <Uri>()), Times.Exactly(3));

            _indexProvider
            .Verify(o => o.DeleteIndex(_indexName), Times.Once);

            _indexProvider
            .Verify(o => o.CreateIndexAlias(_indexName, It.IsAny <string>()), Times.Never);

            _indexProvider
            .Verify(o => o.DeleteIndexes(_indexToRetain, It.IsAny <string>()), Times.Never);

            _elasticClient
            .Verify(x => x.CreateIndex(_indexName, It.IsAny <Func <CreateIndexDescriptor, ICreateIndexRequest> >(), string.Empty), Times.Once);
        }
Exemplo n.º 2
0
        public async Task ShouldProcessOnlyAccountSearchType()
        {
            _indexNameCreator
            .Setup(o => o.CreateNewIndexName(_indexName, SearchCategory.User))
            .Returns(_indexName);



            var sut = new AccountIndexResourceProcessor(_siteSettings.Object,
                                                        _downloader.Object,
                                                        _indexProvider.Object,
                                                        _searchSettings.Object,
                                                        _logger.Object,
                                                        _indexNameCreator.Object,
                                                        _elasticClient.Object);



            await sut.ProcessResource(_baseUrl, _userSiteResource);

            _indexNameCreator
            .Verify(o => o.CreateNewIndexName(_indexName, SearchCategory.User), Times.Never);
        }
Exemplo n.º 3
0
        public async Task ShouldProcessAccountModel()
        {
            var sut = new AccountIndexResourceProcessor(_siteSettings.Object,
                                                        _downloader.Object,
                                                        _indexProvider.Object,
                                                        _searchSettings.Object,
                                                        _logger.Object,
                                                        _indexNameCreator.Object,
                                                        _elasticClient.Object);

            await sut.ProcessResource(_baseUrl, _accountSiteResource);

            _indexNameCreator
            .Verify(o => o.CreateNewIndexName(_indexName, SearchCategory.Account), Times.Once);

            _indexNameCreator
            .Verify(o => o.CreateIndexesAliasName(_indexName, SearchCategory.Account), Times.Once);

            _elasticClient
            .Verify(o => o.IndexExists(_indexName, string.Empty), Times.Once);

            _downloader
            .Verify(o => o.Download <IEnumerable <AccountSearchModel> >(It.IsAny <Uri>()), Times.AtLeastOnce);

            _indexProvider
            .Verify(o => o.DeleteIndex(_indexName), Times.Never);

            _indexProvider
            .Verify(o => o.CreateIndexAlias(_indexName, It.IsAny <string>()), Times.Once);

            _indexProvider
            .Verify(o => o.DeleteIndexes(_indexToRetain, It.IsAny <string>()), Times.Once);

            _elasticClient
            .Verify(x => x.CreateIndex(_indexName, It.IsAny <Func <CreateIndexDescriptor, ICreateIndexRequest> >(), string.Empty), Times.Once);
        }
Exemplo n.º 4
0
        public async Task ShouldCallDeleteIndexWhenDownloadFails()
        {
            _indexNameCreator
            .Setup(o => o.CreateNewIndexName(_indexName, SearchCategory.Account))
            .Returns(_indexName);

            _downloader
            .Setup(o => o.LastCode)
            .Returns(HttpStatusCode.InternalServerError);

            var sut = new AccountIndexResourceProcessor(_siteSettings.Object,
                                                        _downloader.Object,
                                                        _indexProvider.Object,
                                                        _searchSettings.Object,
                                                        _logger.Object,
                                                        _indexNameCreator.Object,
                                                        _elasticClient.Object);

            await sut.ProcessResource(_baseUrl, _accountSiteResource);


            _indexProvider
            .Verify(o => o.DeleteIndex(_indexName), Times.Once);
        }