github.com/Finschia/finschia-sdk@v0.48.1/store/streaming/constructor_test.go (about) 1 package streaming 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/Finschia/finschia-sdk/codec" 9 codecTypes "github.com/Finschia/finschia-sdk/codec/types" 10 "github.com/Finschia/finschia-sdk/store/streaming/file" 11 "github.com/Finschia/finschia-sdk/store/types" 12 sdk "github.com/Finschia/finschia-sdk/types" 13 ) 14 15 type fakeOptions struct{} 16 17 func (f *fakeOptions) Get(string) interface{} { return nil } 18 19 var ( 20 mockOptions = new(fakeOptions) 21 mockKeys = []types.StoreKey{sdk.NewKVStoreKey("mockKey1"), sdk.NewKVStoreKey("mockKey2")} 22 interfaceRegistry = codecTypes.NewInterfaceRegistry() 23 testMarshaller = codec.NewProtoCodec(interfaceRegistry) 24 ) 25 26 func TestStreamingServiceConstructor(t *testing.T) { 27 _, err := NewServiceConstructor("unexpectedName") 28 require.NotNil(t, err) 29 30 constructor, err := NewServiceConstructor("file") 31 require.Nil(t, err) 32 var expectedType ServiceConstructor 33 require.IsType(t, expectedType, constructor) 34 35 serv, err := constructor(mockOptions, mockKeys, testMarshaller) 36 require.Nil(t, err) 37 require.IsType(t, &file.StreamingService{}, serv) 38 listeners := serv.Listeners() 39 for _, key := range mockKeys { 40 _, ok := listeners[key] 41 require.True(t, ok) 42 } 43 }