\r
import (\r
"e2mgr/configuration"\r
+ "e2mgr/managers"\r
"e2mgr/mocks"\r
"e2mgr/models"\r
"e2mgr/rmrCgo"\r
-\r
- // "e2mgr/rmrCgo"\r
"e2mgr/services"\r
"e2mgr/tests"\r
"e2mgr/utils"\r
"testing"\r
\r
"gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"\r
- // "github.com/stretchr/testify/assert"\r
"github.com/stretchr/testify/mock"\r
)\r
\r
readerMock := &mocks.RnibReaderMock{}\r
writerMock := &mocks.RnibWriterMock{}\r
rnibDataService := services.NewRnibDataService(logger, config, readerMock, writerMock)\r
- handler := NewE2ResetRequestNotificationHandler(logger, rnibDataService, config, rmrSender)\r
+ ranListManager := managers.NewRanListManager(logger, rnibDataService)\r
+ ranAlarmService := &mocks.RanAlarmServiceMock{}\r
+ ranConnectStatusChangeManager := managers.NewRanConnectStatusChangeManager(logger, rnibDataService, ranListManager, ranAlarmService)\r
+ ranResetManager := managers.NewRanResetManager(logger, rnibDataService, ranConnectStatusChangeManager)\r
+ handler := NewE2ResetRequestNotificationHandler(logger, rnibDataService, config, rmrSender, ranResetManager)\r
return handler, readerMock, writerMock, rmrMessengerMock\r
}\r
\r
}\r
readerMock.On("GetNodeb", gnbNodebRanName).Return(nodebInfo, nil)\r
writerMock.On("UpdateNodebInfoAndPublish", mock.Anything).Return(nil)\r
+ var rnibErr error\r
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(rnibErr)\r
var errEmpty error\r
rmrMessage := &rmrCgo.MBuf{}\r
rmrMessengerMock.On("SendMsg", mock.Anything, mock.Anything).Return(rmrMessage, errEmpty)\r
handler.Handle(notificationRequest)\r
readerMock.AssertExpectations(t)\r
writerMock.AssertExpectations(t)\r
- rmrMessengerMock.AssertNotCalled(t, "SendMsg")\r
+ rmrMessengerMock.AssertCalled(t, "SendMsg", mock.Anything, true)\r
+\r
}\r
\r
func TestE2ResettNotificationHandler_UpdateStatus_Connected(t *testing.T) {\r
}\r
readerMock.On("GetNodeb", gnbNodebRanName).Return(nodebInfo, nil)\r
writerMock.On("UpdateNodebInfoAndPublish", mock.Anything).Return(nil)\r
+ var rnibErr error\r
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(rnibErr)\r
+ nodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED\r
+ readerMock.On("GetNodeb", gnbNodebRanName).Return(nodebInfo, nil)\r
+\r
+ var errEmpty error\r
+ rmrMessage := &rmrCgo.MBuf{}\r
+ rmrMessengerMock.On("SendMsg", mock.Anything, mock.Anything).Return(rmrMessage, errEmpty)\r
+ notificationRequest := &models.NotificationRequest{RanName: gnbNodebRanName, Payload: append([]byte(""), e2ResetXml...)}\r
+ handler.Handle(notificationRequest)\r
+ readerMock.AssertCalled(t, "GetNodeb", mock.Anything)\r
+ writerMock.AssertCalled(t, "UpdateNodebInfoAndPublish", mock.Anything)\r
+ readerMock.AssertCalled(t, "GetNodeb", mock.Anything)\r
+}\r
+\r
+func TestE2ResettNotificationHandler_Successful_Reset_Response(t *testing.T) {\r
+ e2ResetXml := utils.ReadXmlFile(t, E2ResetXmlPath)\r
+ handler, readerMock, writerMock, rmrMessengerMock := initE2ResetMocks(t)\r
+ var nodebInfo = &entities.NodebInfo{\r
+ RanName: gnbNodebRanName,\r
+ AssociatedE2TInstanceAddress: e2tInstanceFullAddress,\r
+ ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,\r
+ NodeType: entities.Node_GNB,\r
+ Configuration: &entities.NodebInfo_Gnb{\r
+ Gnb: &entities.Gnb{},\r
+ },\r
+ }\r
+ readerMock.On("GetNodeb", gnbNodebRanName).Return(nodebInfo, nil)\r
+ writerMock.On("UpdateNodebInfoAndPublish", mock.Anything).Return(nil)\r
+ var rnibErr error\r
+ writerMock.On("UpdateNodebInfo", mock.Anything).Return(rnibErr)\r
nodebInfo.ConnectionStatus = entities.ConnectionStatus_CONNECTED\r
readerMock.On("GetNodeb", gnbNodebRanName).Return(nodebInfo, nil)\r
\r