X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=sdl_test.go;h=725552a53c3350be98938400ee9b61b856dd9a42;hb=HEAD;hp=acacfd67fd4eb13e16811ea4b2763e2af8647a62;hpb=cf2b20b2b54f9ca26e3faa48ee52981c05565796;p=ric-plt%2Fsdlgo.git diff --git a/sdl_test.go b/sdl_test.go index acacfd6..725552a 100644 --- a/sdl_test.go +++ b/sdl_test.go @@ -37,12 +37,14 @@ type mockDB struct { mock.Mock } -func (m *mockDB) SubscribeChannelDB(cb func(string, ...string), channelPrefix, eventSeparator string, channels ...string) { - m.Called(cb, channelPrefix, eventSeparator, channels) +func (m *mockDB) SubscribeChannelDB(cb func(string, ...string), channels ...string) error { + a := m.Called(cb, channels) + return a.Error(0) } -func (m *mockDB) UnsubscribeChannelDB(channels ...string) { - m.Called(channels) +func (m *mockDB) UnsubscribeChannelDB(channels ...string) error { + a := m.Called(channels) + return a.Error(0) } func (m *mockDB) MSet(pairs ...interface{}) error { @@ -169,14 +171,47 @@ func verifySliceInOrder(a, b []string) bool { } +func TestClose(t *testing.T) { + m, i := setup() + + m.On("CloseDB").Return(nil) + err := i.Close() + assert.Nil(t, err) + m.AssertExpectations(t) +} + +func TestCloseReturnError(t *testing.T) { + m, i := setup() + + m.On("CloseDB").Return(errors.New("Some error")) + err := i.Close() + assert.NotNil(t, err) + m.AssertExpectations(t) +} + func TestSubscribeChannel(t *testing.T) { m, i := setup() expectedCB := func(channel string, events ...string) {} expectedChannels := []string{"{namespace},channel1", "{namespace},channel2"} - m.On("SubscribeChannelDB", mock.AnythingOfType("func(string, ...string)"), "{namespace},", "___", expectedChannels).Return() - i.SubscribeChannel(expectedCB, "channel1", "channel2") + m.On("SubscribeChannelDB", mock.AnythingOfType("func(string, ...string)"), expectedChannels).Return(nil) + err := i.SubscribeChannel(expectedCB, "channel1", "channel2") + assert.Nil(t, err) + m.AssertExpectations(t) +} + +func TestSubscribeChannelError(t *testing.T) { + mockedErr := errors.New("Some DB Backend Subscribe Error") + m, i := setup() + + expectedCB := func(channel string, events ...string) {} + expectedChannels := []string{"{namespace},channel1", "{namespace},channel2"} + + m.On("SubscribeChannelDB", mock.AnythingOfType("func(string, ...string)"), expectedChannels).Return(mockedErr) + err := i.SubscribeChannel(expectedCB, "channel1", "channel2") + assert.NotNil(t, err) + assert.Contains(t, err.Error(), mockedErr.Error()) m.AssertExpectations(t) } @@ -185,10 +220,25 @@ func TestUnsubscribeChannel(t *testing.T) { expectedChannels := []string{"{namespace},channel1", "{namespace},channel2"} - m.On("UnsubscribeChannelDB", expectedChannels).Return() - i.UnsubscribeChannel("channel1", "channel2") + m.On("UnsubscribeChannelDB", expectedChannels).Return(nil) + err := i.UnsubscribeChannel("channel1", "channel2") + assert.Nil(t, err) + m.AssertExpectations(t) +} + +func TestUnsubscribeChannelError(t *testing.T) { + mockedErr := errors.New("Some DB Backend Unsubscribe Error") + m, i := setup() + + expectedChannels := []string{"{namespace},channel1", "{namespace},channel2"} + + m.On("UnsubscribeChannelDB", expectedChannels).Return(mockedErr) + err := i.UnsubscribeChannel("channel1", "channel2") + assert.NotNil(t, err) + assert.Contains(t, err.Error(), mockedErr.Error()) m.AssertExpectations(t) } + func TestGetOneKey(t *testing.T) { m, i := setup() @@ -591,8 +641,8 @@ func TestRemoveAndPublishIncorrectChannel(t *testing.T) { m.AssertNotCalled(t, "DelMPub", notExpectedChannelAndEvent, notExpectedKeys) m.AssertNotCalled(t, "Del", notExpectedKeys) - err := i.RemoveAndPublish([]string{"channel", "event", "channel2"}, []string{}) - assert.Nil(t, err) + err := i.RemoveAndPublish([]string{"channel", "event", "channel2"}, []string{"key1", "key2"}) + assert.NotNil(t, err) m.AssertExpectations(t) }