[RIC-571] Support new eNB setup request + fix non-deterministic unit tests
[ric-plt/e2mgr.git] / E2Manager / handlers / httpmsghandlers / delete_enb_request_handler.go
index dbe23d6..c346bb6 100644 (file)
@@ -22,6 +22,7 @@ package httpmsghandlers
 import (
        "e2mgr/e2managererrors"
        "e2mgr/logger"
+       "e2mgr/managers"
        "e2mgr/models"
        "e2mgr/services"
        "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
@@ -31,12 +32,14 @@ import (
 type DeleteEnbRequestHandler struct {
        logger          *logger.Logger
        rNibDataService services.RNibDataService
+       ranListManager  managers.RanListManager
 }
 
-func NewDeleteEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService) *AddEnbRequestHandler {
-       return &AddEnbRequestHandler{
+func NewDeleteEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService, ranListManager managers.RanListManager) *DeleteEnbRequestHandler {
+       return &DeleteEnbRequestHandler{
                logger:          logger,
                rNibDataService: rNibDataService,
+               ranListManager:  ranListManager,
        }
 }
 
@@ -44,7 +47,7 @@ func (h *DeleteEnbRequestHandler) Handle(request models.Request) (models.IRespon
 
        deleteEnbRequest := request.(*models.DeleteEnbRequest)
 
-       h.logger.Infof("#DeleteEnbRequestHandler.Handle - Ran name: %s", deleteEnbRequest.RanName)
+       h.logger.Infof("#DeleteEnbRequestHandler.Handle - RAN name: %s", deleteEnbRequest.RanName)
 
        nodebInfo, err := h.rNibDataService.GetNodeb(deleteEnbRequest.RanName)
 
@@ -64,14 +67,18 @@ func (h *DeleteEnbRequestHandler) Handle(request models.Request) (models.IRespon
                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)
                return nil, e2managererrors.NewRnibDbError()
        }
 
-       return models.NewDeleteEnbResponse(nodebInfo), nil
-}
+       err = h.ranListManager.RemoveNbIdentity(entities.Node_ENB, deleteEnbRequest.RanName)
+       if err != nil {
+               h.logger.Errorf("#DeleteEnbRequestHandler.Handle - RAN name: %s - failed to delete nbIdentity in RNIB. Error: %s", deleteEnbRequest.RanName, err)
+               return nil, e2managererrors.NewRnibDbError()
+       }
 
+       h.logger.Infof("#DeleteEnbRequestHandler.Handle - RAN name: %s - deleted successfully.", deleteEnbRequest.RanName)
+       return models.NewNodebResponse(nodebInfo), nil
+}