MCPcopy Create free account
hub / github.com/tendermint/tendermint / TestNodeSetEventSink

Function TestNodeSetEventSink

node/node_test.go:518–605  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

516}
517
518func 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")

Callers

nothing calls this directly

Calls 15

ResetTestRootFunction · 0.92
TestingLoggerFunction · 0.92
GenesisDocFromFileFunction · 0.92
NopMetricsFunction · 0.92
createAndStartEventBusFunction · 0.85
newDefaultNodeFunction · 0.85
cleanupFunction · 0.85
GenesisFileMethod · 0.80
CleanupMethod · 0.65
StopMethod · 0.65
IsRunningMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…