public async Task MapsEventDtoToSearchDocument() { var mockSearchIndexClient = new MockElasticClient(); var indexer = new ElasticEventIndexer <TransferEvent, SearchDocument>("transfers", mockSearchIndexClient.ElasticClient, (tfr) => new SearchDocument(tfr.Log.TransactionHash, tfr.Log.LogIndex)); var eventLog = TestData.Contracts.StandardContract.SampleTransferEventLog(); await indexer.IndexAsync(eventLog); Assert.Single(mockSearchIndexClient.BulkRequests); var actualSearchDocument = mockSearchIndexClient.GetFirstBulkOperation().GetBody() as SearchDocument; Assert.Equal(eventLog.Log.TransactionHash, actualSearchDocument.TransactionHash); Assert.Equal(eventLog.Log.LogIndex.Value.ToString(), actualSearchDocument.LogIndex); }
public async Task MapsEventDtoToGenericSearchDocument() { var indexDefinition = new EventIndexDefinition <TransferEvent>(); var mockElasticClient = new MockElasticClient(); var indexer = new ElasticEventIndexer <TransferEvent>( "Transfers", mockElasticClient.ElasticClient, indexDefinition); var eventLog = TestData.Contracts.StandardContract.SampleTransferEventLog(); await indexer.IndexAsync(eventLog); Assert.Single(mockElasticClient.BulkRequests); var actualOperation = mockElasticClient.GetFirstBulkOperation(); Assert.NotNull(actualOperation); Assert.Equal("index", actualOperation.Operation); Assert.Equal(typeof(GenericSearchDocument), actualOperation.ClrType); }