// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
-//
-package rmrmsghandlers
+// This source code is part of the near-RT RIC (RAN Intelligent Controller)
+// platform project (RICP).
-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)
+package rmrmsghandlers
+
+// 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)
- unpackerMock.AssertNumberOfCalls(t, "UnpackX2apPduAsString", 1)
+ 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)
+
+ h.Handle(&req)
}
+*/
\ No newline at end of file