public async Task ShouldIndexDocuments() { // Arrange var fixture = new TestFixture <IndexFragmentCommandHandler>(); var repo = fixture.Freeze <ITokensRepository>(); var tokens = new[] { new Token { Tag = "first" }, new Token { Tag = "second" } }; var command = new IndexFragmentCommand("doc", "file", FileExtension.Txt, 0, 10, tokens); // Act await fixture.Sut.Handle(command, CancellationToken.None); // Assert await repo.Received() .AddDocumentToTokenAsync( Arg.Is <DocumentEntity>(d => d.Id == "doc" && d.Name == "file" && d.Extension == "Txt"), "first", CancellationToken.None); await repo.Received() .AddDocumentToTokenAsync( Arg.Is <DocumentEntity>(d => d.Id == "doc" && d.Name == "file" && d.Extension == "Txt"), "second", CancellationToken.None); }
public async Task IndexFragment( [RabbitMQTrigger(QueueName.Indexer, ConnectionStringSetting = "RabbitMQ:ConnectionString")] FragmentTokenizedEvent message, ILogger logger) { logger.LogInformation($"Start indexing for: {message.UploadId}"); var command = new IndexFragmentCommand(message.UploadId, message.FileName, message.Extension, message.Offset, message.Length, message.Tokens); var output = await _mediator.Send(command); }