1 package httpmsghandlers
9 "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities"
10 "github.com/stretchr/testify/assert"
14 func setupAddEnbRequestHandlerTest(t *testing.T) (*AddEnbRequestHandler, *mocks.RnibReaderMock, *mocks.RnibWriterMock) {
16 config := &configuration.Configuration{RnibRetryIntervalMs: 10, MaxRnibConnectionAttempts: 3}
17 readerMock := &mocks.RnibReaderMock{}
18 writerMock := &mocks.RnibWriterMock{}
19 rnibDataService := services.NewRnibDataService(log, config, readerMock, writerMock)
20 ranListManager := managers.NewRanListManager(log, rnibDataService)
21 nodebValidator := managers.NewNodebValidator()
22 handler := NewAddEnbRequestHandler(log,rnibDataService,nodebValidator, ranListManager)
23 return handler, readerMock, writerMock
26 func CreateNodebInfoTest(t *testing.T,RanName string, connectionStatus entities.ConnectionStatus) *entities.NodebInfo{
28 setupRequest := &models.E2SetupRequestMessage{}
29 nodebInfo := &entities.NodebInfo{
31 SetupFromNetwork: true,
32 NodeType: entities.Node_GNB,
33 ConnectionStatus: connectionStatus,
34 Configuration: &entities.NodebInfo_Gnb{
36 GnbType: entities.GnbType_GNB,
37 RanFunctions: setupRequest.ExtractRanFunctionsList(),
40 GlobalNbId: &entities.GlobalNbId{
41 PlmnId: setupRequest.GetPlmnId(),
42 NbId: setupRequest.GetNbId(),
48 func TestGlobalNbIdValid(t *testing.T){
49 globalNbId := &entities.GlobalNbId{}
50 res := isGlobalNbIdValid(globalNbId)
55 func TestHandleAddEnbSuccess(t *testing.T) {
56 handler, readerMock, writerMock := setupAddEnbRequestHandlerTest(t)
59 nodebInfo := &entities.NodebInfo{RanName: ranName, NodeType: entities.Node_ENB}
60 readerMock.On("GetNodeb", ranName).Return(nodebInfo, rnibError)
61 //writerMock.On("AddNbIdentity", entities.Node_ENB, nbIdentity).Return(nil)
62 writerMock.On("AddEnb", nodebInfo).Return(nil)
63 writerMock.On("AddNbIdentity", entities.Node_ENB, &entities.NbIdentity{InventoryName: "ran1", ConnectionStatus: entities.ConnectionStatus_DISCONNECTED, GlobalNbId: &entities.GlobalNbId{PlmnId: "plmnId1", NbId: "nbId1"}}).Return(nil)
64 addEnbRequest := &models.AddEnbRequest{RanName: ranName}
65 result, err := handler.Handle(addEnbRequest)
70 func TestValidateRequestBody(t *testing.T){
71 handler, _,_ := setupAddEnbRequestHandlerTest(t)
74 addEnbRequest := &models.AddEnbRequest{RanName: ranName}
75 err := handler.validateRequestBody(addEnbRequest)