コード例 #1
0
ファイル: ConfluenceJob.cs プロジェクト: mmikirtumov/ISA
        private void LogUploadedBatch(ConfluenceElasticUpsertRequest request)
        {
            var titlesAndIds = request.Entities.Select(e => $"{{id:{e.Id} title:{e.Title}}}");

            _logger.LogInformation("{JobName} | {BatchUploadDate} | batch loaded: [{uploadedDataIdentifiers}]",
                                   nameof(ConfluenceJob), DateTime.Now,
                                   string.Join(',', titlesAndIds));
        }
コード例 #2
0
ファイル: ConfluenceJob.cs プロジェクト: mmikirtumov/ISA
        private async void UploadBatch(ContentResponse response)
        {
            if (response.Results.Count == 0)
            {
                return;
            }

            var request = new ConfluenceElasticUpsertRequest
            {
                Entities = CreateSearchablePages(response.Results)
            };

            await _elasticsearchClient.UpsertManyAsync(request);

            LogUploadedBatch(request);

            await _applicationPropertyDao.UpsertPropertyAsync(p => p.ConfluenceJobLastUpdate,
                                                              GetLastDate(response));
        }
コード例 #3
0
        public async void UpsertAsync_CorrectRequest_ShouldCallElasticClientUpdateAsync()
        {
            // Arrange
            var request = new ConfluenceElasticUpsertRequest
            {
                Entities = new List <SearchableConfluence>()
            };

            _elasticClientWrapperMock.Setup(m => m.BulkAsync(It.IsAny <Func <BulkDescriptor, IBulkRequest> >()))
            .Returns(Task.CompletedTask);

            // Act
            await _client.UpsertManyAsync(request);

            // Assert
            _elasticClientWrapperMock.Verify(
                m => m.BulkAsync(It.IsAny <Func <BulkDescriptor, IBulkRequest> >()), Times.Once);
            _elasticClientWrapperMock.VerifyNoOtherCalls();
        }