[RIC-571] Support new eNB setup request + fix non-deterministic unit tests
[ric-plt/e2mgr.git] / E2Manager / handlers / httpmsghandlers / add_enb_request_handler.go
index e5a1c5e..6f7fcd6 100644 (file)
@@ -34,13 +34,15 @@ type AddEnbRequestHandler struct {
        logger          *logger.Logger
        nodebValidator  *managers.NodebValidator
        rNibDataService services.RNibDataService
+       ranListManager  managers.RanListManager
 }
 
-func NewAddEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService, nodebValidator *managers.NodebValidator) *AddEnbRequestHandler {
+func NewAddEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService, nodebValidator *managers.NodebValidator, ranListManager managers.RanListManager) *AddEnbRequestHandler {
        return &AddEnbRequestHandler{
                logger:          logger,
                nodebValidator:  nodebValidator,
                rNibDataService: rNibDataService,
+               ranListManager:  ranListManager,
        }
 }
 
@@ -71,14 +73,19 @@ func (h *AddEnbRequestHandler) Handle(request models.Request) (models.IResponse,
        }
 
        nodebInfo := h.createNodebInfo(addEnbRequest)
-       err = h.rNibDataService.SaveNodeb(nodebInfo)
+       err = h.rNibDataService.AddEnb(nodebInfo)
 
        if err != nil {
-               h.logger.Errorf("#AddEnbRequestHandler.Handle - RAN name: %s - failed to save nodeb entity in RNIB. Error: %s", addEnbRequest.RanName, err)
+               h.logger.Errorf("#AddEnbRequestHandler.Handle - RAN name: %s - failed to add eNB entity in RNIB. Error: %s", addEnbRequest.RanName, err)
                return nil, e2managererrors.NewRnibDbError()
        }
 
-       _ = h.createNbIdentity(addEnbRequest) // TODO: add call to ranListManager
+       nbIdentity := h.createNbIdentity(addEnbRequest)
+       err = h.ranListManager.AddNbIdentity(entities.Node_ENB, nbIdentity)
+
+       if err != nil {
+               return nil, e2managererrors.NewRnibDbError()
+       }
 
        return models.NewNodebResponse(nodebInfo), nil
 }