# The Jenkins job requires a tag to build the Docker image.
# Global-JJB script assumes this file is in the repo root.
---
-tag: 5.4.2
+tag: 5.4.3
err := h.validateRequestBody(addEnbRequest)
if err != nil {
- h.logger.Errorf("#AddEnbRequestHandler.Handle - validation failure: %s is a mandatory field and cannot be empty", err)
+ h.logger.Errorf("#AddEnbRequestHandler.Handle - validation failure: %s is a mandatory field and cannot be empty or includes invalid value", err)
return nil, e2managererrors.NewRequestValidationError()
}
Configuration: &entities.NodebInfo_Enb{Enb: addEnbRequest.Enb},
NodeType: entities.Node_ENB,
ConnectionStatus: entities.ConnectionStatus_DISCONNECTED,
+ SetupFromNetwork: false,
}
return &nodebInfo
return err
}
+ if h.nodebValidator.IsNgEnbType(addEnbRequest.Enb.GetEnbType()){
+ return errors.New("enb.enbType")
+ }
+
return nil
}
return nil, e2managererrors.NewRequestValidationError()
}
+ if nodebInfo.GetSetupFromNetwork() {
+ h.logger.Errorf("#DeleteEnbRequestHandler.Handle - RAN name: %s - can't delete RAN which was created from network.", deleteEnbRequest.RanName)
+ return nil, e2managererrors.NewRequestValidationError()
+ }
+
err = h.rNibDataService.RemoveEnb(nodebInfo)
if err != nil {
h.logger.Errorf("#DeleteEnbRequestHandler.Handle - RAN name: %s - failed to delete nodeb entity in RNIB. Error: %s", deleteEnbRequest.RanName, err)
writerMock.AssertExpectations(t)
}
+func TestHandleDeleteEnbFromNetworkError(t *testing.T) {
+ handler, readerMock, _ := setupDeleteEnbRequestHandlerTest(t, false)
+
+ ranName := "ran1"
+ nodebInfo := &entities.NodebInfo{RanName: ranName, NodeType: entities.Node_ENB, SetupFromNetwork: true}
+ readerMock.On("GetNodeb", ranName).Return(nodebInfo, nil)
+ //writerMock.On("RemoveEnb", nodebInfo).Return(nil)
+ result, err := handler.Handle(&models.DeleteEnbRequest{RanName: ranName})
+ assert.NotNil(t, err)
+ assert.Nil(t, result)
+ readerMock.AssertExpectations(t)
+}
+
func TestHandleDeleteEnbInternalRemoveNbIdentityError(t *testing.T) {
handler, readerMock, writerMock := setupDeleteEnbRequestHandlerTest(t, false)
return nil
}
+func (h *NodebValidator) IsNgEnbType(enbType entities.EnbType) bool {
+ return enbType == entities.EnbType_LONG_MACRO_NG_ENB ||
+ enbType == entities.EnbType_MACRO_NG_ENB ||
+ enbType == entities.EnbType_SHORT_MACRO_NG_ENB
+}
+
func isServedCellValid(servedCell *entities.ServedCellInfo) error {
if servedCell.CellId == "" {
func (h *UpdateEnbManager) SetNodeb(nodeb *entities.NodebInfo, request models.Request) {
updateEnbRequest := request.(*models.UpdateEnbRequest)
+ updateEnbRequest.Enb.EnbType = nodeb.GetEnb().GetEnbType()
nodeb.Configuration = &entities.NodebInfo_Enb{Enb: updateEnbRequest.Enb}
}
return err
}
+ if h.nodebValidator.IsNgEnbType(request.Enb.GetEnbType()){
+ return errors.New("enb.enbType")
+ }
+
return nil
}