(t *testing.T)
| 516 | } |
| 517 | |
| 518 | func TestNodeSetEventSink(t *testing.T) { |
| 519 | cfg, err := config.ResetTestRoot("node_app_version_test") |
| 520 | require.NoError(t, err) |
| 521 | |
| 522 | defer os.RemoveAll(cfg.RootDir) |
| 523 | |
| 524 | logger := log.TestingLogger() |
| 525 | setupTest := func(t *testing.T, conf *config.Config) []indexer.EventSink { |
| 526 | eventBus, err := createAndStartEventBus(logger) |
| 527 | require.NoError(t, err) |
| 528 | |
| 529 | genDoc, err := types.GenesisDocFromFile(cfg.GenesisFile()) |
| 530 | require.NoError(t, err) |
| 531 | |
| 532 | indexService, eventSinks, err := createAndStartIndexerService(cfg, |
| 533 | config.DefaultDBProvider, eventBus, logger, genDoc.ChainID, |
| 534 | indexer.NopMetrics()) |
| 535 | require.NoError(t, err) |
| 536 | t.Cleanup(func() { require.NoError(t, indexService.Stop()) }) |
| 537 | return eventSinks |
| 538 | } |
| 539 | cleanup := func(ns service.Service) func() { |
| 540 | return func() { |
| 541 | n, ok := ns.(*nodeImpl) |
| 542 | if !ok { |
| 543 | return |
| 544 | } |
| 545 | if n == nil { |
| 546 | return |
| 547 | } |
| 548 | if !n.IsRunning() { |
| 549 | return |
| 550 | } |
| 551 | assert.NoError(t, n.Stop()) |
| 552 | n.Wait() |
| 553 | } |
| 554 | } |
| 555 | |
| 556 | eventSinks := setupTest(t, cfg) |
| 557 | assert.Equal(t, 1, len(eventSinks)) |
| 558 | assert.Equal(t, indexer.KV, eventSinks[0].Type()) |
| 559 | |
| 560 | cfg.TxIndex.Indexer = []string{"null"} |
| 561 | eventSinks = setupTest(t, cfg) |
| 562 | |
| 563 | assert.Equal(t, 1, len(eventSinks)) |
| 564 | assert.Equal(t, indexer.NULL, eventSinks[0].Type()) |
| 565 | |
| 566 | cfg.TxIndex.Indexer = []string{"null", "kv"} |
| 567 | eventSinks = setupTest(t, cfg) |
| 568 | |
| 569 | assert.Equal(t, 1, len(eventSinks)) |
| 570 | assert.Equal(t, indexer.NULL, eventSinks[0].Type()) |
| 571 | |
| 572 | cfg.TxIndex.Indexer = []string{"kvv"} |
| 573 | ns, err := newDefaultNode(cfg, logger) |
| 574 | assert.Nil(t, ns) |
| 575 | assert.Contains(t, err.Error(), "unsupported event sink type") |
nothing calls this directly
no test coverage detected
searching dependent graphs…