- logFile, err := os.Create(logFilePath)
- if err != nil{
- t.Errorf("e2_setup_request_notification_handler_test.TestE2SetupRequestNotificationHandler_HandleNewGnbSuccess - failed to create file, error: %s", err)
- }
- oldStdout := os.Stdout
- defer changeStdout(oldStdout)
- defer removeLogFile(t)
- os.Stdout = logFile
-
- handler := stubMockInvalidStatusFlowExistingNodeb(t)
- prefBytes := []byte(prefix)
- notificationRequest := &models.NotificationRequest{RanName: nodebRanName, Payload: append(prefBytes, xmlGnb...)}
- handler.Handle(notificationRequest)
- assertInvalidNodebStatusLogs(t)
-}
-
-func assertInvalidNodebStatusLogs(t *testing.T){
- buf := getLogFileBuffer(t)
- assertReceivedAndParsedLog(buf, t)
- assertInvalidNodebStatusLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertInvalidNodebStatusLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "#RnibDataService.GetNodeb")
- assert.Contains(t, record, "connection status: SHUTTING_DOWN")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "#E2SetupRequestNotificationHandler.Handle")
- assert.Contains(t, record, "connection status: SHUTTING_DOWN - nodeB entity in incorrect state")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "#E2SetupRequestNotificationHandler.Handle")
- assert.Contains(t, record, "Summary: elapsed time for receiving and handling setup request message from E2 terminator")
-}
-
-func assertAssociationErrorLogs(t *testing.T){
- buf := getLogFileBuffer(t)
- assertReceivedAndParsedLog(buf, t)
- assertNewNodebSavedLog(buf, t)
- assertAssociationErrorLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertAssociationErrorLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "#E2TAssociationManager.AssociateRan - Associating RAN")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "#E2TAssociationManager.AssociateRan - RoutingManager failure: Failed to associate RAN")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "#E2SetupRequestNotificationHandler.Handle - RAN name:")
- assert.Contains(t, record, "failed to associate E2T to nodeB entity")
-}
-
-func assertGetNodebErrorLogs(t *testing.T) {
- buf := getLogFileBuffer(t)
- assertReceivedAndParsedLog(buf, t)
- assertGetNodebErrorLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertGetNodebErrorLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "failed to retrieve nodebInfo entity")
-}
-
-func assertGetE2TInstanceErrorLogs(t *testing.T) {
- buf := getLogFileBuffer(t)
- assertReceivedAndParsedLog(buf, t)
- assertGetE2TInstanceErrorLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertGetE2TInstanceErrorLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "Failed retrieving E2TInstance")
-}
-
-func removeLogFile(t *testing.T) {
- err := os.Remove(logFilePath)
- if err != nil {
- t.Errorf("e2_setup_request_notification_handler_test.TestE2SetupRequestNotificationHandler_HandleGnbSuccess - failed to remove file, error: %s", err)
- }
-}
-
-func assertParseErrorFlowLogs(t *testing.T) {
- buf := getLogFileBuffer(t)
- assertReceivedAndFailedParseLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertUnmarshalErrorFlowLogs(t *testing.T) {
- buf := getLogFileBuffer(t)
- assertReceivedAndFailedUnmarshalLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertSuccessFlowNewNodebLogs(t *testing.T){
- buf := getLogFileBuffer(t)
- assertReceivedAndParsedLog(buf, t)
- assertNewNodebSavedLog(buf, t)
- assertAssociatedLog(buf, t)
- assertRequestBuiltLog(buf, t)
- assertRequestSentLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertSuccessFlowExistingNodebLogs(t *testing.T){
- buf := getLogFileBuffer(t)
- assertReceivedAndParsedLog(buf, t)
- assertExistingNodebRetrievedLog(buf, t)
- assertAssociatedLog(buf, t)
- assertRequestBuiltLog(buf, t)
- assertRequestSentLog(buf, t)
- assertNoMoreRecordsLog(buf, t)
-}
-
-func assertReceivedAndParsedLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "received E2 Setup Request")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "handling E2_SETUP_REQUEST")
-}
-
-func assertReceivedAndFailedParseLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "received E2 Setup Request")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "Error parsing E2 Setup Request")
-}
-
-func assertReceivedAndFailedUnmarshalLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "received E2 Setup Request")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "Error unmarshalling E2 Setup Request")
-}
-
-func assertNewNodebSavedLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "#RnibDataService.SaveNodeb - nbIdentity:")
-}
-
-func assertExistingNodebRetrievedLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "#RnibDataService.GetNodeb - RAN name:")
-}
-
-func assertAssociatedLog(buf *bytes.Buffer, t *testing.T){
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "#E2TAssociationManager.AssociateRan - Associating RAN")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "#RnibDataService.UpdateNodebInfo")
- record, _ = buf.ReadString('\n')
- assert.Contains(t, record, "#E2TAssociationManager.AssociateRan - successfully associated RAN")
-}
-
-func assertRequestSentLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "uccessfully sent RMR message")
-}
-func assertRequestBuiltLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Contains(t, record, "E2 Setup Request has been built")
-}
-
-func assertNoMoreRecordsLog(buf *bytes.Buffer, t *testing.T) {
- record, _ := buf.ReadString('\n')
- assert.Empty(t, record)
-}
-
-func stubMockSuccessFlowNewNodeb(t *testing.T) E2SetupRequestNotificationHandler{
- _, handler, readerMock, writerMock, rmrMessengerMock, e2tInstancesManagerMock, routingManagerClientMock := initMocks(t)