Copy latest code to master
[ric-plt/resource-status-manager.git] / RSM / handlers / rmrmsghandlers / resource_status_failure_handler_test.go
index b4db47f..1a79fab 100644 (file)
 
 package rmrmsghandlers
 
-import (
-       "fmt"
-       "rsm/e2pdus"
-       "rsm/logger"
-       "rsm/mocks"
-       "rsm/models"
-       "testing"
-       "time"
-)
-
-// Verify UnpackX2apPduAsString is called
-func TestFailureHandler(t *testing.T) {
-       logger, err := logger.InitLogger(logger.DebugLevel)
+// Verify UnpackX2apPduAsString() and Convert() are called
+/*
+func TestResourceStatusFailureHandlerConvertFailure(t *testing.T) {
+       logger, err := logger.InitLogger(logger.InfoLevel)
        if err != nil {
                t.Errorf("#... - failed to initialize logger, error: %s", err)
        }
-       payload:= []byte("aaa")
-       req:= models.RmrRequest{RanName: "test", StartTime:time.Now(), Payload:payload,Len:len(payload)}
-       unpackerMock:=mocks.Asn1PduUnpackerMock{}
-       unpackerMock.On("UnpackX2apPduAsString", req.Len, req.Payload, e2pdus.MaxAsn1CodecMessageBufferSize).Return(string(payload), nil)
-       h:= NewResourceStatusFailureHandler(logger, &unpackerMock)
+       payload := []byte("aaa")
+       req := models.RmrRequest{RanName: "test", StartTime: time.Now(), Payload: payload, Len: len(payload)}
+       converterMock := mocks.ResourceStatusFailureConverterMock{}
+       //converterMock.On("UnpackX2apPduAsString", req.Payload, e2pdus.MaxAsn1CodecMessageBufferSize).Return(string(payload), nil)
+       converterMock.On("Convert", req.Payload).Return((*models.ResourceStatusResponse)(nil), fmt.Errorf("error"))
+       h := NewResourceStatusFailureHandler(logger, &converterMock)
 
        h.Handle(&req)
 
-       unpackerMock.AssertNumberOfCalls(t, "UnpackX2apPduAsString", 1)
+       //converterMock.AssertNumberOfCalls(t, "UnpackX2apPduAsString", 1)
+       converterMock.AssertNumberOfCalls(t, "Convert", 1)
 }
 
 
-func TestFailureHandlerError(t *testing.T) {
+func TestResourceStatusFailureHandlerUnpackFailure(t *testing.T) {
        logger, err := logger.InitLogger(logger.DebugLevel)
        if err != nil {
                t.Errorf("#... - failed to initialize logger, error: %s", err)
        }
-       payload:= []byte("aaa")
-       req:= models.RmrRequest{RanName: "test", StartTime:time.Now(), Payload:payload,Len:len(payload)}
-       unpackerMock:=mocks.Asn1PduUnpackerMock{}
+       payload := []byte("aaa")
+       req := models.RmrRequest{RanName: "test", StartTime: time.Now(), Payload: payload, Len: len(payload)}
+       converterMock := mocks.ResourceStatusFailureConverterMock{}
 
        err = fmt.Errorf("error")
        var payloadAsString string
-       unpackerMock.On("UnpackX2apPduAsString", req.Len, req.Payload, e2pdus.MaxAsn1CodecMessageBufferSize).Return(payloadAsString, err)
-       h:= NewResourceStatusFailureHandler(logger, &unpackerMock)
+       converterMock.On("UnpackX2apPduAsString", req.Payload, e2pdus.MaxAsn1CodecMessageBufferSize).Return(payloadAsString, err)
+       converterMock.On("Convert", req.Payload).Return((*models.ResourceStatusResponse)(nil), fmt.Errorf("error"))
+       h := NewResourceStatusFailureHandler(logger, &converterMock)
+
+       h.Handle(&req)
+
+       converterMock.AssertNumberOfCalls(t, "UnpackX2apPduAsString", 1)
+       converterMock.AssertNumberOfCalls(t, "Convert", 0)
+}
+*/
+
+/*
+func TestResourceStatusFailureHandler(t *testing.T) {
+       logger, err := logger.InitLogger(logger.InfoLevel)
+       if err != nil {
+               t.Errorf("#... - failed to initialize logger, error: %s", err)
+       }
+       unpacker := converters.NewX2apPduUnpacker(logger, e2pdus.MaxAsn1CodecMessageBufferSize)
+       converter := converters.NewResourceStatusFailureConverter(unpacker)
+       var payload []byte
+       fmt.Sscanf("400900320000040027000300000e0028000300000c00054001620044401800004540130002f8290007ab500000434006000000000740", "%x", &payload)
+       req := models.RmrRequest{RanName: "test", StartTime: time.Now(), Payload: payload, Len: len(payload)}
+       h := NewResourceStatusFailureHandler(logger, converter)
 
        h.Handle(&req)
+}
+
+func TestResourceStatusFailureHandlerMinimalPdu(t *testing.T) {
+       logger, err := logger.InitLogger(logger.InfoLevel)
+       if err != nil {
+               t.Errorf("#... - failed to initialize logger, error: %s", err)
+       }
+       unpacker := converters.NewX2apPduUnpacker(logger, e2pdus.MaxAsn1CodecMessageBufferSize)
+       converter := converters.NewResourceStatusFailureConverter(unpacker)
+       var payload []byte
+       fmt.Sscanf("400900170000030027000300000000280003000049000540020a80", "%x", &payload)
+       req := models.RmrRequest{RanName: "test", StartTime: time.Now(), Payload: payload, Len: len(payload)}
+       h := NewResourceStatusFailureHandler(logger, converter)
 
-       unpackerMock.AssertNumberOfCalls(t, "UnpackX2apPduAsString", 1)
+       h.Handle(&req)
 }
+*/
\ No newline at end of file