X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=E2Manager%2Fhandlers%2FranLostConnectionHandler_test.go;fp=E2Manager%2Fhandlers%2FranLostConnectionHandler_test.go;h=ea735b2eada5d6e2254c79d1f7198ba80e2e123f;hb=2151d81e25b521d1d7f76fee0f286723e9b00913;hp=0a315ffc9ca81b7e9fdb79e7d278e8ac145c8361;hpb=19e72a51b5edbf108d230093fdf85b42fe5ab470;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/ranLostConnectionHandler_test.go b/E2Manager/handlers/ranLostConnectionHandler_test.go index 0a315ff..ea735b2 100644 --- a/E2Manager/handlers/ranLostConnectionHandler_test.go +++ b/E2Manager/handlers/ranLostConnectionHandler_test.go @@ -14,146 +14,39 @@ //// See the License for the specific language governing permissions and //// limitations under the License. //// -// package handlers -// -//import ( -// "e2mgr/logger" -// "e2mgr/mocks" -// "e2mgr/models" -// "e2mgr/rNibWriter" -// "e2mgr/rmrCgo" -// "e2mgr/sessions" -// "e2mgr/tests" -// "fmt" -// "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" -// "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" -// "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader" -// "github.com/stretchr/testify/mock" -// "testing" -// "time" -//) -// -///* -// * Test an error response while in an x2 setup request session -// */ -//func TestHandleInSession(t *testing.T){ -// log, err := logger.InitLogger(logger.InfoLevel) -// if err!=nil{ -// t.Errorf("#sctp_errors_notification_handler_test.TestHandleInSession - failed to initialize logger, error: %s", err) -// } -// -// readerMock :=&mocks.RnibReaderMock{} -// rnibReaderProvider := func() reader.RNibReader { -// return readerMock -// } -// writerMock := &mocks.RnibWriterMock{} -// rnibWriterProvider := func() rNibWriter.RNibWriter { -// return writerMock -// } -// h := NewRanLostConnectionHandler(rnibReaderProvider,rnibWriterProvider) -// -// e2Sessions := make(sessions.E2Sessions) -// xaction := []byte(fmt.Sprintf("%32s", "1234")) -// e2Sessions[string(xaction)] = sessions.E2SessionDetails{SessionStart: time.Now()} -// payload := []byte("Error") -// mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload),"RanName", &payload, &xaction) -// notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, -// StartTime: time.Now(), TransactionId: string(xaction)} -// var messageChannel chan<- *models.NotificationResponse -// -// nb := &entities.NodebInfo{RanName:mBuf.Meid, ConnectionStatus:entities.ConnectionStatus_CONNECTED,} -// var rnibErr common.IRNibError -// readerMock.On("GetNodeb", mBuf.Meid).Return(nb, rnibErr) -// updatedNb := &entities.NodebInfo{RanName:mBuf.Meid, ConnectionStatus:entities.ConnectionStatus_DISCONNECTED,} -// writerMock.On("SaveNodeb", mock.Anything, updatedNb).Return(rnibErr) -// -// h.Handle(log,e2Sessions, ¬ificationRequest, messageChannel) -// -// if _, ok := e2Sessions[string(xaction)]; ok { -// t.Errorf("want: no session entry, got: session entry for: %s", string(xaction) ) -// } -//} -// -///* -// * Test an error response triggered by the E2 Term -// */ -// -//func TestHandleNoSession(t *testing.T){ -// log, err := logger.InitLogger(logger.InfoLevel) -// if err!=nil{ -// t.Errorf("#sctp_errors_notification_handler_test.TestHandleNoSession - failed to initialize logger, error: %s", err) -// } -// -// readerMock :=&mocks.RnibReaderMock{} -// rnibReaderProvider := func() reader.RNibReader { -// return readerMock -// } -// writerMock := &mocks.RnibWriterMock{} -// rnibWriterProvider := func() rNibWriter.RNibWriter { -// return writerMock -// } -// h := NewRanLostConnectionHandler(rnibReaderProvider,rnibWriterProvider) -// -// e2Sessions := make(sessions.E2Sessions) -// transactionId := "1234" -// xaction := []byte(fmt.Sprintf("%32s", transactionId+"6")) -// e2Sessions[transactionId] = sessions.E2SessionDetails{SessionStart: time.Now()} -// payload := []byte("Error") -// mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload),"RanName", &payload, &xaction) -// notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now(), -// TransactionId: string(xaction)} -// var messageChannel chan<- *models.NotificationResponse -// -// nb := &entities.NodebInfo{RanName:mBuf.Meid, ConnectionStatus:entities.ConnectionStatus_CONNECTED,} -// var rnibErr common.IRNibError -// readerMock.On("GetNodeb", mBuf.Meid).Return(nb, rnibErr) -// updatedNb := &entities.NodebInfo{RanName:mBuf.Meid, ConnectionStatus:entities.ConnectionStatus_DISCONNECTED,} -// writerMock.On("SaveNodeb", mock.Anything, updatedNb).Return(rnibErr) -// -// h.Handle(log,e2Sessions, ¬ificationRequest, messageChannel) -// -// if _, ok := e2Sessions[transactionId]; !ok { -// t.Errorf("want: session entry for %s, got: no session entry", transactionId ) -// } -//} -///* -// * Test an error response triggered by the E2 Term -// */ -//func TestHandleUnsolicitedDisconnectionConnectedSuccess(t *testing.T){ -// log, err := logger.InitLogger(logger.DebugLevel) -// if err!=nil{ -// t.Errorf("#sctp_errors_notification_handler_test.TestHandleNoSession - failed to initialize logger, error: %s", err) -// } -// -// readerMock :=&mocks.RnibReaderMock{} -// rnibReaderProvider := func() reader.RNibReader { -// return readerMock -// } -// writerMock := &mocks.RnibWriterMock{} -// rnibWriterProvider := func() rNibWriter.RNibWriter { -// return writerMock -// } -// h := NewRanLostConnectionHandler(rnibReaderProvider,rnibWriterProvider) -// -// e2Sessions := make(sessions.E2Sessions) -// transactionId := "1234" -// xaction := []byte(fmt.Sprintf("%32s", transactionId+"6")) -// e2Sessions[transactionId] = sessions.E2SessionDetails{SessionStart: time.Now()} -// payload := []byte("Error") -// mBuf := rmrCgo.NewMBuf(tests.MessageType, len(payload),"RanName", &payload, &xaction) -// notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now(), -// TransactionId: string(xaction)} -// var messageChannel chan<- *models.NotificationResponse -// -// nb := &entities.NodebInfo{RanName:mBuf.Meid, ConnectionStatus:entities.ConnectionStatus_CONNECTED,} -// var rnibErr common.IRNibError -// readerMock.On("GetNodeb", mBuf.Meid).Return(nb, rnibErr) -// updatedNb := &entities.NodebInfo{RanName:mBuf.Meid, ConnectionStatus:entities.ConnectionStatus_DISCONNECTED,} -// writerMock.On("SaveNodeb", mock.Anything, updatedNb).Return(rnibErr) -// -// h.Handle(log,e2Sessions, ¬ificationRequest, messageChannel) -//} + +import ( + "e2mgr/logger" + "e2mgr/mocks" + "e2mgr/models" + "e2mgr/sessions" + "github.com/pkg/errors" + "testing" +) + +func TestLostConnectionHandlerSuccess(t *testing.T) { + logger, _ := logger.InitLogger(logger.InfoLevel) + ranName := "test" + notificationRequest := models.NotificationRequest{RanName: ranName} + ranReconnectionManagerMock := &mocks.RanReconnectionManagerMock{} + ranReconnectionManagerMock.On("ReconnectRan", ranName).Return(nil) + handler := NewRanLostConnectionHandler(ranReconnectionManagerMock) + handler.Handle(logger, make(sessions.E2Sessions), ¬ificationRequest, nil) + ranReconnectionManagerMock.AssertCalled(t, "ReconnectRan", ranName) +} + +func TestLostConnectionHandlerFailure(t *testing.T) { + logger, _ := logger.InitLogger(logger.InfoLevel) + ranName := "test" + notificationRequest := models.NotificationRequest{RanName: ranName} + ranReconnectionManagerMock := &mocks.RanReconnectionManagerMock{} + ranReconnectionManagerMock.On("ReconnectRan", ranName).Return(errors.New("error")) + handler := NewRanLostConnectionHandler(ranReconnectionManagerMock) + handler.Handle(logger, make(sessions.E2Sessions), ¬ificationRequest, nil) + ranReconnectionManagerMock.AssertCalled(t, "ReconnectRan", ranName) +} + // //func TestHandleUnsolicitedDisconnectionNotConnectedSuccess(t *testing.T){ // log, err := logger.InitLogger(logger.DebugLevel)