2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
17 package rmrmsghandlers
28 const PackedEndcConfigurationUpdateAck = "2025000a00000100f70003000000"
29 const PackedEndcConfigurationUpdateFailure = "402500080000010005400142"
31 func initEndcConfigurationUpdateHandlerTest(t *testing.T) (EndcConfigurationUpdateHandler, *mocks.RmrMessengerMock) {
33 rmrMessengerMock := &mocks.RmrMessengerMock{}
34 rmrSender := initRmrSender(rmrMessengerMock, log)
35 h := NewEndcConfigurationUpdateHandler(log, rmrSender)
36 return h, rmrMessengerMock
39 func TestHandleEndcConfigUpdateSuccess(t *testing.T) {
40 h, rmrMessengerMock := initEndcConfigurationUpdateHandlerTest(t)
43 xAction := []byte("123456aa")
46 _, _ = fmt.Sscanf(PackedEndcConfigurationUpdateAck, "%x", &payload)
48 mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENDC_CONF_UPDATE_ACK, len(payload), ranName, &payload, &xAction)
49 notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: mBuf.Len, Payload: *mBuf.Payload, StartTime: time.Now(),
50 TransactionId: *mBuf.XAction}
52 rmrMessengerMock.On("SendMsg", mBuf, true).Return(&rmrCgo.MBuf{}, err)
53 h.Handle(¬ificationRequest)
54 rmrMessengerMock.AssertCalled(t, "SendMsg", mBuf, true)
57 func TestHandleEndcConfigUpdateFailure(t *testing.T) {
58 h, rmrMessengerMock := initEndcConfigurationUpdateHandlerTest(t)
61 xAction := []byte("123456aa")
64 _, _ = fmt.Sscanf(PackedEndcConfigurationUpdateFailure, "%x", &payload)
66 mBuf := rmrCgo.NewMBuf(rmrCgo.RIC_ENDC_CONF_UPDATE_FAILURE, len(payload), ranName, &payload, &xAction)
67 notificationRequest := models.NotificationRequest{RanName: mBuf.Meid, Len: 0, Payload: []byte{0}, StartTime: time.Now(),
68 TransactionId: *mBuf.XAction}
69 rmrMessengerMock.On("SendMsg", mBuf, true).Return(&rmrCgo.MBuf{}, fmt.Errorf("send failure"))
70 h.Handle(¬ificationRequest)
71 rmrMessengerMock.AssertCalled(t, "SendMsg", mBuf, true)