[RIC-433] Add unit test coverage, tag incremented to 5.2.17
[ric-plt/e2mgr.git] / E2Manager / managers / ran_list_manager.go
index 90864c1..d392e3d 100644 (file)
@@ -60,7 +60,7 @@ func (m *ranListManagerInstance) InitNbIdentityMap() error {
        nbIds, err := m.rnibDataService.GetListNodebIds()
 
        if err != nil {
-               m.logger.Errorf("#ranListManagerInstance.InitRanList - Failed fetching RAN list from DB. error: %s", err)
+               m.logger.Errorf("#ranListManagerInstance.InitNbIdentityMap - Failed fetching RAN list from DB. error: %s", err)
                return err
        }
 
@@ -68,7 +68,8 @@ func (m *ranListManagerInstance) InitNbIdentityMap() error {
                m.nbIdentityMap[v.InventoryName] = v
        }
 
-       m.logger.Infof("#ranListManagerInstance.InitRanList - Successfully initiated nodeb identity map")
+       m.logger.Infof("#ranListManagerInstance.InitNbIdentityMap - Successfully initiated nodeb identity map")
+       m.logger.Debugf("#ranListManagerInstance.InitNbIdentityMap - nodeb Identity map: %s", m.nbIdentityMap)
        return nil
 }
 
@@ -86,6 +87,7 @@ func (m *ranListManagerInstance) AddNbIdentity(nodeType entities.Node_Type, nbId
        }
 
        m.logger.Infof("#ranListManagerInstance.AddNbIdentity - RAN name: %s - Successfully added nodeb identity", nbIdentity.InventoryName)
+       m.logger.Debugf("#ranListManagerInstance.AddNbIdentity - nodeb Identity map: %s", m.nbIdentityMap)
        return nil
 }
 
@@ -95,12 +97,31 @@ func (m *ranListManagerInstance) UpdateNbIdentityConnectionStatus(nodeType entit
 }
 
 func (m *ranListManagerInstance) RemoveNbIdentity(nodeType entities.Node_Type, ranName string) error {
-       //TODO: implement
+       m.mux.Lock()
+       defer m.mux.Unlock()
+
+       m.logger.Infof("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - deleting nodeb identity from memory and db...", ranName)
+
+       nbIdentity, ok := m.nbIdentityMap[ranName]
+       if !ok {
+               m.logger.Infof("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - nodeb identity not found", ranName)
+               return nil
+       }
+
+       delete(m.nbIdentityMap, ranName)
+
+       err := m.rnibDataService.RemoveNbIdentity(nodeType, nbIdentity)
+       if err != nil {
+               m.logger.Errorf("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - Failed removing nodeb identity from DB. error: %s", ranName, err)
+               return err
+       }
+
+       m.logger.Infof("#ranListManagerInstance.RemoveNbIdentity - RAN name: %s - Successfully deleted nodeb identity", ranName)
        return nil
 }
 
 func (m *ranListManagerInstance) GetNbIdentityList() []*entities.NbIdentity {
-       nbIds := make([]*entities.NbIdentity, len(m.nbIdentityMap))
+       nbIds := make([]*entities.NbIdentity, 0, len(m.nbIdentityMap))
        for _, v := range m.nbIdentityMap {
                nbIds = append(nbIds, v)
        }