X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2FrNibWriter%2FrNibWriter_test.go;h=c887da6d504897e81f539ffb7f13a1a967fd81a0;hb=refs%2Fchanges%2F96%2F896%2F1;hp=97535cc546e73c783b286943c4669df5d33b6b62;hpb=07ef76dd471a0892a893c90e0ab06713aee34be1;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/rNibWriter/rNibWriter_test.go b/E2Manager/rNibWriter/rNibWriter_test.go index 97535cc..c887da6 100644 --- a/E2Manager/rNibWriter/rNibWriter_test.go +++ b/E2Manager/rNibWriter/rNibWriter_test.go @@ -18,13 +18,12 @@ package rNibWriter import ( - "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" "e2mgr/mocks" - "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" "errors" "fmt" + "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" + "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" "github.com/golang/protobuf/proto" - "github.com/golang/protobuf/ptypes/timestamp" "github.com/stretchr/testify/assert" "testing" "time" @@ -72,6 +71,89 @@ func initSdlInstanceMock(namespace string, poolSize int) *mocks.MockSdlInstance return sdlInstanceMock } +func TestUpdateNodebInfoSuccess(t *testing.T) { + inventoryName := "name" + plmnId := "02f829" + nbId := "4a952a0a" + writerPool = nil + sdlInstanceMock := initSdlInstanceMock(namespace, 1) + w := GetRNibWriter() + nodebInfo := &entities.NodebInfo{} + nodebInfo.RanName = inventoryName + nodebInfo.GlobalNbId = &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId} + nodebInfo.NodeType = entities.Node_ENB + nodebInfo.ConnectionStatus = 1 + enb := entities.Enb{} + nodebInfo.Configuration = &entities.NodebInfo_Enb{Enb: &enb} + data, err := proto.Marshal(nodebInfo) + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal NodeB entity. Error: %v", err) + } + var e error + var setExpected []interface{} + + nodebNameKey := fmt.Sprintf("RAN:%s", inventoryName) + nodebIdKey := fmt.Sprintf("ENB:%s:%s", plmnId, nbId) + setExpected = append(setExpected, nodebNameKey, data) + setExpected = append(setExpected, nodebIdKey, data) + + sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) + + rNibErr := w.UpdateNodebInfo(nodebInfo) + assert.Nil(t, rNibErr) +} + +func TestUpdateNodebInfoMissingInventoryNameFailure(t *testing.T) { + inventoryName := "name" + plmnId := "02f829" + nbId := "4a952a0a" + writerPool = nil + sdlInstanceMock := initSdlInstanceMock(namespace, 1) + w := GetRNibWriter() + nodebInfo := &entities.NodebInfo{} + data, err := proto.Marshal(nodebInfo) + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal NodeB entity. Error: %v", err) + } + var e error + var setExpected []interface{} + + nodebNameKey := fmt.Sprintf("RAN:%s", inventoryName) + nodebIdKey := fmt.Sprintf("ENB:%s:%s", plmnId, nbId) + setExpected = append(setExpected, nodebNameKey, data) + setExpected = append(setExpected, nodebIdKey, data) + + sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) + + rNibErr := w.UpdateNodebInfo(nodebInfo) + + assert.NotNil(t, rNibErr) + assert.IsType(t, &common.ValidationError{}, rNibErr) +} + +func TestUpdateNodebInfoMissingGlobalNbId(t *testing.T) { + inventoryName := "name" + writerPool = nil + sdlInstanceMock := initSdlInstanceMock(namespace, 1) + w := GetRNibWriter() + nodebInfo := &entities.NodebInfo{} + nodebInfo.RanName = inventoryName + data, err := proto.Marshal(nodebInfo) + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal NodeB entity. Error: %v", err) + } + var e error + var setExpected []interface{} + + nodebNameKey := fmt.Sprintf("RAN:%s", inventoryName) + setExpected = append(setExpected, nodebNameKey, data) + sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) + + rNibErr := w.UpdateNodebInfo(nodebInfo) + + assert.Nil(t, rNibErr) +} + func TestSaveEnb(t *testing.T) { name := "name" ranName := "RAN:" + name @@ -84,10 +166,10 @@ func TestSaveEnb(t *testing.T) { nb.Ip = "localhost" nb.Port = 5656 enb := entities.Enb{} - cell := &entities.ServedCellInfo{CellId:"aaff", Pci:3} - cellEntity := entities.Cell{Type:entities.Cell_LTE_CELL, Cell:&entities.Cell_ServedCellInfo{ServedCellInfo:cell}} + cell := &entities.ServedCellInfo{CellId: "aaff", Pci: 3} + cellEntity := entities.Cell{Type: entities.Cell_LTE_CELL, Cell: &entities.Cell_ServedCellInfo{ServedCellInfo: cell}} enb.ServedCells = []*entities.ServedCellInfo{cell} - nb.Configuration = &entities.NodebInfo_Enb{Enb:&enb} + nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb} data, err := proto.Marshal(&nb) if err != nil { t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal NodeB entity. Error: %v", err) @@ -105,12 +187,20 @@ func TestSaveEnb(t *testing.T) { setExpected = append(setExpected, fmt.Sprintf("PCI:%s:%02x", name, cell.GetPci()), cellData) sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) - nbIdentity := &entities.NbIdentity{InventoryName:name, GlobalNbId:&entities.GlobalNbId{PlmnId:"02f829", NbId:"4a952a0a"}} - nbIdData, err := proto.Marshal(nbIdentity) + + nbIdData, err := proto.Marshal(&entities.NbIdentity{InventoryName: name}) + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal nbIdentity entity. Error: %v", err) + } + sdlInstanceMock.On("RemoveMember", entities.Node_UNKNOWN.String(), []interface{}{nbIdData}).Return(e) + + nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: "02f829", NbId: "4a952a0a"}} + nbIdData, err = proto.Marshal(nbIdentity) if err != nil { t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal NodeB Identity entity. Error: %v", err) } sdlInstanceMock.On("AddMember", "ENB", []interface{}{nbIdData}).Return(e) + rNibErr := w.SaveNodeb(nbIdentity, &nb) assert.Nil(t, rNibErr) } @@ -126,15 +216,15 @@ func TestSaveEnbCellIdValidationFailure(t *testing.T) { nb.Ip = "localhost" nb.Port = 5656 enb := entities.Enb{} - cell := &entities.ServedCellInfo{Pci:3} + cell := &entities.ServedCellInfo{Pci: 3} enb.ServedCells = []*entities.ServedCellInfo{cell} - nb.Configuration = &entities.NodebInfo_Enb{Enb:&enb} + nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb} - nbIdentity := &entities.NbIdentity{InventoryName:name, GlobalNbId:&entities.GlobalNbId{PlmnId:"02f829", NbId:"4a952a0a"}} + nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: "02f829", NbId: "4a952a0a"}} rNibErr := w.SaveNodeb(nbIdentity, &nb) assert.NotNil(t, rNibErr) - assert.Equal(t, common.VALIDATION_ERROR, rNibErr.GetCode()) - assert.Equal(t, "3 VALIDATION_ERROR - #utils.ValidateAndBuildCellIdKey - an empty cell id received", rNibErr.Error()) + assert.IsType(t, &common.ValidationError{}, rNibErr) + assert.Equal(t, "#utils.ValidateAndBuildCellIdKey - an empty cell id received", rNibErr.Error()) } func TestSaveEnbInventoryNameValidationFailure(t *testing.T) { @@ -147,15 +237,15 @@ func TestSaveEnbInventoryNameValidationFailure(t *testing.T) { nb.Ip = "localhost" nb.Port = 5656 enb := entities.Enb{} - cell := &entities.ServedCellInfo{CellId:"aaa",Pci:3} + cell := &entities.ServedCellInfo{CellId: "aaa", Pci: 3} enb.ServedCells = []*entities.ServedCellInfo{cell} - nb.Configuration = &entities.NodebInfo_Enb{Enb:&enb} + nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb} - nbIdentity := &entities.NbIdentity{InventoryName:"", GlobalNbId:&entities.GlobalNbId{PlmnId:"02f829", NbId:"4a952a0a"}} + nbIdentity := &entities.NbIdentity{InventoryName: "", GlobalNbId: &entities.GlobalNbId{PlmnId: "02f829", NbId: "4a952a0a"}} rNibErr := w.SaveNodeb(nbIdentity, &nb) assert.NotNil(t, rNibErr) - assert.Equal(t, common.VALIDATION_ERROR, rNibErr.GetCode()) - assert.Equal(t, "3 VALIDATION_ERROR - #utils.ValidateAndBuildNodeBNameKey - an empty inventory name received", rNibErr.Error()) + assert.IsType(t, &common.ValidationError{}, rNibErr) + assert.Equal(t, "#utils.ValidateAndBuildNodeBNameKey - an empty inventory name received", rNibErr.Error()) } func TestSaveEnbOnClosedPool(t *testing.T) { @@ -169,7 +259,7 @@ func TestSaveEnbOnClosedPool(t *testing.T) { nb.Ip = "localhost" nb.Port = 5656 enb := entities.Enb{} - nb.Configuration = &entities.NodebInfo_Enb{Enb:&enb} + nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb} data, err := proto.Marshal(&nb) if err != nil { t.Errorf("#rNibWriter_test.TestSaveEnbOnClosedPool - Failed to marshal NodeB entity. Error: %v", err) @@ -179,7 +269,7 @@ func TestSaveEnbOnClosedPool(t *testing.T) { sdlInstanceMock.On("Set", setExpected).Return(e) writerPool.Close() nbIdentity := &entities.NbIdentity{} - assert.Panics(t, func(){w.SaveNodeb(nbIdentity, &nb)}) + assert.Panics(t, func() { w.SaveNodeb(nbIdentity, &nb) }) } func TestSaveGnbCellIdValidationFailure(t *testing.T) { @@ -193,16 +283,16 @@ func TestSaveGnbCellIdValidationFailure(t *testing.T) { nb.Ip = "localhost" nb.Port = 5656 gnb := entities.Gnb{} - cellInfo:= &entities.ServedNRCellInformation{NrPci:2} - cell := &entities.ServedNRCell{ServedNrCellInformation:cellInfo} + cellInfo := &entities.ServedNRCellInformation{NrPci: 2} + cell := &entities.ServedNRCell{ServedNrCellInformation: cellInfo} gnb.ServedNrCells = []*entities.ServedNRCell{cell} - nb.Configuration = &entities.NodebInfo_Gnb{Gnb:&gnb} + nb.Configuration = &entities.NodebInfo_Gnb{Gnb: &gnb} - nbIdentity := &entities.NbIdentity{InventoryName:name, GlobalNbId:&entities.GlobalNbId{PlmnId:"02f829", NbId:"4a952a0a"}} + nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: "02f829", NbId: "4a952a0a"}} rNibErr := w.SaveNodeb(nbIdentity, &nb) assert.NotNil(t, rNibErr) - assert.Equal(t, common.VALIDATION_ERROR, rNibErr.GetCode()) - assert.Equal(t, "3 VALIDATION_ERROR - #utils.ValidateAndBuildNrCellIdKey - an empty cell id received", rNibErr.Error()) + assert.IsType(t, &common.ValidationError{}, rNibErr) + assert.Equal(t, "#utils.ValidateAndBuildNrCellIdKey - an empty cell id received", rNibErr.Error()) } func TestSaveGnb(t *testing.T) { @@ -217,18 +307,17 @@ func TestSaveGnb(t *testing.T) { nb.Ip = "localhost" nb.Port = 5656 gnb := entities.Gnb{} - cellInfo:= &entities.ServedNRCellInformation{NrPci:2,CellId:"ccdd"} - cell := &entities.ServedNRCell{ServedNrCellInformation:cellInfo} - cellEntity := entities.Cell{Type:entities.Cell_NR_CELL, Cell:&entities.Cell_ServedNrCell{ServedNrCell:cell}} + cellInfo := &entities.ServedNRCellInformation{NrPci: 2, CellId: "ccdd"} + cell := &entities.ServedNRCell{ServedNrCellInformation: cellInfo} + cellEntity := entities.Cell{Type: entities.Cell_NR_CELL, Cell: &entities.Cell_ServedNrCell{ServedNrCell: cell}} gnb.ServedNrCells = []*entities.ServedNRCell{cell} - nb.Configuration = &entities.NodebInfo_Gnb{Gnb:&gnb} + nb.Configuration = &entities.NodebInfo_Gnb{Gnb: &gnb} data, err := proto.Marshal(&nb) if err != nil { t.Errorf("#rNibWriter_test.TestSaveGnb - Failed to marshal NodeB entity. Error: %v", err) } var e error - cellData, err := proto.Marshal(&cellEntity) if err != nil { t.Errorf("#rNibWriter_test.TestSaveGnb - Failed to marshal Cell entity. Error: %v", err) @@ -240,13 +329,19 @@ func TestSaveGnb(t *testing.T) { setExpected = append(setExpected, fmt.Sprintf("PCI:%s:%02x", name, cell.GetServedNrCellInformation().GetNrPci()), cellData) sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) - nbIdentity := &entities.NbIdentity{InventoryName:name, GlobalNbId:&entities.GlobalNbId{PlmnId:"02f829", NbId:"4a952a0a"}} + nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: "02f829", NbId: "4a952a0a"}} nbIdData, err := proto.Marshal(nbIdentity) if err != nil { t.Errorf("#rNibWriter_test.TestSaveGnb - Failed to marshal NodeB Identity entity. Error: %v", err) } sdlInstanceMock.On("AddMember", "GNB", []interface{}{nbIdData}).Return(e) + nbIdData, err = proto.Marshal(&entities.NbIdentity{InventoryName: name}) + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveEnb - Failed to marshal nbIdentity entity. Error: %v", err) + } + sdlInstanceMock.On("RemoveMember", entities.Node_UNKNOWN.String(), []interface{}{nbIdData}).Return(e) + rNibErr := w.SaveNodeb(nbIdentity, &nb) assert.Nil(t, rNibErr) } @@ -263,7 +358,6 @@ func TestSaveRanLoadInformationSuccess(t *testing.T) { sdlInstanceMock := initSdlInstanceMock(namespace, 1) w := GetRNibWriter() - ranLoadInformation := generateRanLoadInformation() data, err := proto.Marshal(ranLoadInformation) @@ -276,7 +370,6 @@ func TestSaveRanLoadInformationSuccess(t *testing.T) { setExpected = append(setExpected, loadKey, data) sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) - rNibErr := w.SaveRanLoadInformation(inventoryName, ranLoadInformation) assert.Nil(t, rNibErr) } @@ -288,7 +381,7 @@ func TestSaveRanLoadInformationMarshalNilFailure(t *testing.T) { w := GetRNibWriter() expectedErr := common.NewInternalError(errors.New("proto: Marshal called with nil")) - err:= w.SaveRanLoadInformation(inventoryName, nil) + err := w.SaveRanLoadInformation(inventoryName, nil) assert.Equal(t, expectedErr, err) } @@ -298,9 +391,9 @@ func TestSaveRanLoadInformationEmptyInventoryNameFailure(t *testing.T) { initSdlInstanceMock(namespace, 1) w := GetRNibWriter() - err:= w.SaveRanLoadInformation(inventoryName, nil) + err := w.SaveRanLoadInformation(inventoryName, nil) assert.NotNil(t, err) - assert.Equal(t, common.VALIDATION_ERROR, err.GetCode()) + assert.IsType(t, &common.ValidationError{}, err) } func TestSaveRanLoadInformationSdlFailure(t *testing.T) { @@ -312,7 +405,6 @@ func TestSaveRanLoadInformationSdlFailure(t *testing.T) { t.Errorf("#rNibWriter_test.TestSaveRanLoadInformationSuccess - Failed to build ran load infromation key. Error: %v", validationErr) } - writerPool = nil sdlInstanceMock := initSdlInstanceMock(namespace, 1) w := GetRNibWriter() @@ -324,17 +416,14 @@ func TestSaveRanLoadInformationSdlFailure(t *testing.T) { t.Errorf("#rNibWriter_test.TestSaveRanLoadInformation - Failed to marshal RanLoadInformation entity. Error: %v", err) } - expectedErr := errors.New("expected error") var setExpected []interface{} setExpected = append(setExpected, loadKey, data) sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(expectedErr) - rNibErr := w.SaveRanLoadInformation(inventoryName, ranLoadInformation) assert.NotNil(t, rNibErr) - assert.Equal(t, common.INTERNAL_ERROR, rNibErr.GetCode()) - assert.Equal(t, expectedErr, rNibErr.GetError()) + assert.IsType(t, &common.InternalError{}, rNibErr) } func generateCellLoadInformation() *entities.CellLoadInformation { @@ -346,54 +435,54 @@ func generateCellLoadInformation() *entities.CellLoadInformation { cellLoadInformation.UlInterferenceOverloadIndications = []entities.UlInterferenceOverloadIndication{ulInterferenceOverloadIndication} ulHighInterferenceInformation := entities.UlHighInterferenceInformation{ - TargetCellId:"456", - UlHighInterferenceIndication:"xxx", + TargetCellId: "456", + UlHighInterferenceIndication: "xxx", } - cellLoadInformation.UlHighInterferenceInfos = []*entities.UlHighInterferenceInformation{&ulHighInterferenceInformation } + cellLoadInformation.UlHighInterferenceInfos = []*entities.UlHighInterferenceInformation{&ulHighInterferenceInformation} cellLoadInformation.RelativeNarrowbandTxPower = &entities.RelativeNarrowbandTxPower{ - RntpPerPrb:"xxx", - RntpThreshold:entities.RntpThreshold_NEG_4, + RntpPerPrb: "xxx", + RntpThreshold: entities.RntpThreshold_NEG_4, NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V1_ANT_PRT, - PB: 1, - PdcchInterferenceImpact:2, + PB: 1, + PdcchInterferenceImpact: 2, EnhancedRntp: &entities.EnhancedRntp{ - EnhancedRntpBitmap:"xxx", - RntpHighPowerThreshold:entities.RntpThreshold_NEG_2, - EnhancedRntpStartTimes: []*entities.StartTime{&entities.StartTime{StartSfn:500,StartSubframeNumber:5}}, + EnhancedRntpBitmap: "xxx", + RntpHighPowerThreshold: entities.RntpThreshold_NEG_2, + EnhancedRntpStartTime: &entities.StartTime{StartSfn: 500, StartSubframeNumber: 5}, }, } cellLoadInformation.AbsInformation = &entities.AbsInformation{ - Mode: entities.AbsInformationMode_ABS_INFO_FDD, - AbsPatternInfo:"xxx", - NumberOfCellSpecificAntennaPorts:entities.NumberOfCellSpecificAntennaPorts_V2_ANT_PRT, - MeasurementSubset:"xxx", + Mode: entities.AbsInformationMode_ABS_INFO_FDD, + AbsPatternInfo: "xxx", + NumberOfCellSpecificAntennaPorts: entities.NumberOfCellSpecificAntennaPorts_V2_ANT_PRT, + MeasurementSubset: "xxx", } cellLoadInformation.InvokeIndication = entities.InvokeIndication_ABS_INFORMATION cellLoadInformation.ExtendedUlInterferenceOverloadInfo = &entities.ExtendedUlInterferenceOverloadInfo{ - AssociatedSubframes:"xxx", - ExtendedUlInterferenceOverloadIndications:cellLoadInformation.UlInterferenceOverloadIndications, + AssociatedSubframes: "xxx", + ExtendedUlInterferenceOverloadIndications: cellLoadInformation.UlInterferenceOverloadIndications, } compInformationItem := &entities.CompInformationItem{ - CompHypothesisSets: []*entities.CompHypothesisSet{&entities.CompHypothesisSet{CellId: "789", CompHypothesis:"xxx"}}, - BenefitMetric:50, + CompHypothesisSets: []*entities.CompHypothesisSet{&entities.CompHypothesisSet{CellId: "789", CompHypothesis: "xxx"}}, + BenefitMetric: 50, } cellLoadInformation.CompInformation = &entities.CompInformation{ - CompInformationItems:[]*entities.CompInformationItem{compInformationItem}, - CompInformationStartTime:[]*entities.StartTime{&entities.StartTime{StartSfn:123,StartSubframeNumber:456}}, + CompInformationItems: []*entities.CompInformationItem{compInformationItem}, + CompInformationStartTime: &entities.StartTime{StartSfn: 123, StartSubframeNumber: 456}, } cellLoadInformation.DynamicDlTransmissionInformation = &entities.DynamicDlTransmissionInformation{ - State: entities.NaicsState_NAICS_ACTIVE, - TransmissionModes:"xxx", - PB: 2, - PAList:[]entities.PA{entities.PA_DB_NEG_3}, + State: entities.NaicsState_NAICS_ACTIVE, + TransmissionModes: "xxx", + PB: 2, + PAList: []entities.PA{entities.PA_DB_NEG_3}, } return &cellLoadInformation @@ -402,8 +491,7 @@ func generateCellLoadInformation() *entities.CellLoadInformation { func generateRanLoadInformation() *entities.RanLoadInformation { ranLoadInformation := entities.RanLoadInformation{} - ranLoadInformation.LoadTimestamp = ×tamp.Timestamp{Seconds:time.Now().Unix(),Nanos: int32(time.Now().UnixNano())} - + ranLoadInformation.LoadTimestamp = uint64(time.Now().UnixNano()) cellLoadInformation := generateCellLoadInformation() ranLoadInformation.CellLoadInfos = []*entities.CellLoadInformation{cellLoadInformation} @@ -425,8 +513,8 @@ func TestSaveUnknownTypeEntityFailure(t *testing.T) { writerPool = nil initSdlInstanceMock(namespace, 1) w := GetRNibWriter() - expectedErr := common.NewValidationError(errors.New("#rNibWriter.saveNodeB - Unknown responding node type, entity: ip:\"localhost\" port:5656 ")) - nbIdentity := &entities.NbIdentity{InventoryName:"name", GlobalNbId:&entities.GlobalNbId{PlmnId:"02f829", NbId:"4a952a0a"}} + expectedErr := common.NewValidationError("#rNibWriter.saveNodeB - Unknown responding node type, entity: ip:\"localhost\" port:5656 ") + nbIdentity := &entities.NbIdentity{InventoryName: "name", GlobalNbId: &entities.GlobalNbId{PlmnId: "02f829", NbId: "4a952a0a"}} nb := &entities.NodebInfo{} nb.Port = 5656 nb.Ip = "localhost" @@ -448,9 +536,9 @@ func TestSaveEntityFailure(t *testing.T) { if err != nil { t.Errorf("#rNibWriter_test.TestSaveEntityFailure - Failed to marshal NodeB entity. Error: %v", err) } - nbIdentity := &entities.NbIdentity{InventoryName:name, GlobalNbId:&entities.GlobalNbId{PlmnId:plmnId, NbId:nbId}} + nbIdentity := &entities.NbIdentity{InventoryName: name, GlobalNbId: &entities.GlobalNbId{PlmnId: plmnId, NbId: nbId}} setExpected := []interface{}{"RAN:" + name, data} - setExpected = append(setExpected,"GNB:" + plmnId + ":" + nbId, data) + setExpected = append(setExpected, "GNB:"+plmnId+":"+nbId, data) expectedErr := errors.New("expected error") sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(expectedErr) rNibErr := w.SaveNodeb(nbIdentity, &gnb) @@ -459,17 +547,17 @@ func TestSaveEntityFailure(t *testing.T) { func TestGetRNibWriterPoolNotInitializedFailure(t *testing.T) { writerPool = nil - assert.Panics(t, func(){GetRNibWriter()}) + assert.Panics(t, func() { GetRNibWriter().SaveNodeb(nil,nil) }) } func TestGetRNibWriter(t *testing.T) { writerPool = nil initSdlInstanceMock(namespace, 1) received := GetRNibWriter() - assert.NotEmpty(t, received) + assert.Empty(t, received) available, created := writerPool.Stats() assert.Equal(t, 0, available, "number of available objects in the writerPool should be 0") - assert.Equal(t, 1, created, "number of created objects in the writerPool should be 1") + assert.Equal(t, 0, created, "number of created objects in the writerPool should be 0") writerPool.Close() } @@ -482,13 +570,12 @@ func TestClose(t *testing.T) { writerPool.Put(w2) available, created := writerPool.Stats() assert.Equal(t, 2, available, "number of available objects in the writerPool should be 2") - assert.Equal(t, 2, created, "number of created objects in the writerPool should be 2") + assert.Equal(t, 0, created, "number of created objects in the writerPool should be 0") var e error instanceMock.On("Close").Return(e) Close() available, created = writerPool.Stats() assert.Equal(t, 0, available, "number of available objects in the writerPool should be 0") - assert.Equal(t, 0, created, "number of created objects in the writerPool should be 0") } func TestCloseOnClosedPoolFailure(t *testing.T) { @@ -498,11 +585,11 @@ func TestCloseOnClosedPoolFailure(t *testing.T) { writerPool.Put(w1) available, created := writerPool.Stats() assert.Equal(t, 1, available, "number of available objects in the writerPool should be 1") - assert.Equal(t, 1, created, "number of created objects in the writerPool should be 1") + assert.Equal(t, 0, created, "number of created objects in the writerPool should be 0") var e error instanceMock.On("Close").Return(e) Close() - assert.Panics(t, func(){Close()}) + assert.Panics(t, func() { Close() }) } func TestCloseFailure(t *testing.T) { @@ -512,13 +599,12 @@ func TestCloseFailure(t *testing.T) { writerPool.Put(w1) available, created := writerPool.Stats() assert.Equal(t, 1, available, "number of available objects in the writerPool should be 1") - assert.Equal(t, 1, created, "number of created objects in the writerPool should be 1") + assert.Equal(t, 0, created, "number of created objects in the writerPool should be 0") e := errors.New("expected error") instanceMock.On("Close").Return(e) Close() available, created = writerPool.Stats() assert.Equal(t, 0, available, "number of available objects in the writerPool should be 0") - assert.Equal(t, 0, created, "number of created objects in the writerPool should be 0") } func TestInit(t *testing.T) { @@ -534,7 +620,7 @@ func TestInit(t *testing.T) { //Integration tests // -//func TestSaveEnbInteg(t *testing.T){ +//func TestSaveEnbGnbInteg(t *testing.T){ // for i := 0; i<10; i++{ // Init("e2Manager", 1) // w := GetRNibWriter() @@ -559,7 +645,7 @@ func TestInit(t *testing.T) { // // nb1 := entities.NodebInfo{} // nb1.NodeType = entities.Node_GNB -// nb.ConnectionStatus = entities.ConnectionStatus_CONNECTED +// nb1.ConnectionStatus = entities.ConnectionStatus_CONNECTED // nb1.Ip = "localhost" // nb1.Port = uint32(6565 + i) // gnb := entities.Gnb{} @@ -575,7 +661,23 @@ func TestInit(t *testing.T) { // } // } //} - +// +//func TestSaveNbRanNamesInteg(t *testing.T){ +// for i := 0; i<10; i++{ +// Init("e2Manager", 1) +// w := GetRNibWriter() +// nb := entities.NodebInfo{} +// nb.ConnectionStatus = entities.ConnectionStatus_CONNECTING +// nb.Ip = "localhost" +// nb.Port = uint32(5656 + i) +// nbIdentity := &entities.NbIdentity{InventoryName: fmt.Sprintf("nameOnly%d" ,i)} +// err := w.SaveNodeb(nbIdentity, &nb) +// if err != nil{ +// t.Errorf("#rNibWriter_test.TestSaveEnbInteg - Failed to save NodeB entity. Error: %v", err) +// } +// } +//} +// //func TestSaveRanLoadInformationInteg(t *testing.T){ // Init("e2Manager", 1) // w := GetRNibWriter() @@ -584,4 +686,4 @@ func TestInit(t *testing.T) { // if err != nil{ // t.Errorf("#rNibWriter_test.TestSaveRanLoadInformationInteg - Failed to save RanLoadInformation entity. Error: %v", err) // } -//} \ No newline at end of file +//}