public async Task MapsFunctionDtoToSearchDocument()
        {
            var mockElasticClient = new MockElasticClient();

            var indexer = new ElasticFunctionIndexer <TransferFunction, SearchDocument>("my-index",
                                                                                        mockElasticClient.ElasticClient, (tx) => new SearchDocument(tx));

            TransactionForFunctionVO <TransferFunction> transactionForFunction = IndexerTestData.CreateSampleTransactionForFunction();

            await indexer.IndexAsync(transactionForFunction);

            Assert.Single(mockElasticClient.BulkRequests);
            var indexedDoc = mockElasticClient.GetFirstBulkOperation().GetBody() as SearchDocument;

            //check function message mapping
            Assert.Equal(transactionForFunction.Transaction.TransactionHash, indexedDoc.TransactionHash);
            Assert.Equal(transactionForFunction.FunctionMessage.To, indexedDoc.To);
            Assert.Equal(transactionForFunction.FunctionMessage.Value.ToString(), indexedDoc.Value);
        }
Exemple #2
0
        public async Task MapsFunctionDtoToGenericSearchDocument()
        {
            var indexDefinition       = new FunctionIndexDefinition <TransferFunction>();
            var mockSearchIndexClient = new MockElasticClient();

            var indexer = new ElasticFunctionIndexer <TransferFunction>("transfer-functions",
                                                                        mockSearchIndexClient.ElasticClient, indexDefinition);

            TransactionForFunctionVO <TransferFunction> transactionForFunction = IndexerTestData.CreateSampleTransactionForFunction();

            await indexer.IndexAsync(transactionForFunction);

            Assert.Single(mockSearchIndexClient.BulkRequests);
            var indexedDoc = mockSearchIndexClient.GetFirstBulkOperation().GetBody() as GenericSearchDocument;

            //check generic mapping
            Assert.Equal(transactionForFunction.Transaction.BlockNumber.ToString(), indexedDoc[PresetSearchFieldName.tx_block_number.ToString()]);
            //check function message mapping
            Assert.Equal(transactionForFunction.FunctionMessage.To, indexedDoc["to"]);
            Assert.Equal(transactionForFunction.FunctionMessage.Value.ToString(), indexedDoc["value"]);
        }