X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2FrNibWriter%2FrNibWriter_test.go;h=dd4f793217eb80c3fa253b5e7cc891020e0471d5;hb=9d693ce7e8ec7e832f592bfe9e63109297b1ec01;hp=7f0b550d669116283aa48121a89d8746e4ffab6f;hpb=bcb124908ffd1de0c00868838bbac733b881fcb2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/rNibWriter/rNibWriter_test.go b/E2Manager/rNibWriter/rNibWriter_test.go index 7f0b550..dd4f793 100644 --- a/E2Manager/rNibWriter/rNibWriter_test.go +++ b/E2Manager/rNibWriter/rNibWriter_test.go @@ -19,6 +19,7 @@ package rNibWriter import ( "e2mgr/mocks" + "encoding/json" "errors" "fmt" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" @@ -462,6 +463,117 @@ func TestGetRNibWriter(t *testing.T) { assert.NotEmpty(t, received) } +func TestSaveE2TInstanceSuccess(t *testing.T) { + address := "10.10.2.15:9800" + loadKey, validationErr := common.ValidateAndBuildE2TInstanceKey(address) + + if validationErr != nil { + t.Errorf("#rNibWriter_test.TestSaveE2TInstanceSuccess - Failed to build E2T Instance key. Error: %v", validationErr) + } + + w, sdlInstanceMock := initSdlInstanceMock(namespace) + + e2tInstance := generateE2tInstance(address) + data, err := json.Marshal(e2tInstance) + + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveE2TInstanceSuccess - Failed to marshal E2tInstance entity. Error: %v", err) + } + + var e error + var setExpected []interface{} + setExpected = append(setExpected, loadKey, data) + sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) + + rNibErr := w.SaveE2TInstance(e2tInstance) + assert.Nil(t, rNibErr) +} + +func TestSaveE2TInstanceNullE2tInstanceFailure(t *testing.T) { + w, _ := initSdlInstanceMock(namespace) + var address string + e2tInstance := entities.NewE2TInstance(address) + err := w.SaveE2TInstance(e2tInstance) + assert.NotNil(t, err) + assert.IsType(t, &common.ValidationError{}, err) +} + +func TestSaveE2TInstanceSdlFailure(t *testing.T) { + address := "10.10.2.15:9800" + loadKey, validationErr := common.ValidateAndBuildE2TInstanceKey(address) + + if validationErr != nil { + t.Errorf("#rNibWriter_test.TestSaveE2TInstanceSdlFailure - Failed to build E2T Instance key. Error: %v", validationErr) + } + + w, sdlInstanceMock := initSdlInstanceMock(namespace) + + e2tInstance := generateE2tInstance(address) + data, err := json.Marshal(e2tInstance) + + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveE2TInstanceSdlFailure - Failed to marshal E2tInstance 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.SaveE2TInstance(e2tInstance) + assert.NotNil(t, rNibErr) + assert.IsType(t, &common.InternalError{}, rNibErr) +} + +func generateE2tInstance(address string) *entities.E2TInstance { + e2tInstance := entities.NewE2TInstance(address) + + e2tInstance.AssociatedRanList = []string{"test1", "test2"} + + return e2tInstance +} + +func TestSaveE2TAddressesSuccess(t *testing.T) { + address := "10.10.2.15:9800" + w, sdlInstanceMock := initSdlInstanceMock(namespace) + + e2tAddresses := []string{address} + data, err := json.Marshal(e2tAddresses) + + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveE2TInfoListSuccess - Failed to marshal E2TInfoList. Error: %v", err) + } + + var e error + var setExpected []interface{} + setExpected = append(setExpected, E2TAddressesKey, data) + sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(e) + + rNibErr := w.SaveE2TAddresses(e2tAddresses) + assert.Nil(t, rNibErr) +} + +func TestSaveE2TAddressesSdlFailure(t *testing.T) { + address := "10.10.2.15:9800" + w, sdlInstanceMock := initSdlInstanceMock(namespace) + + e2tAddresses := []string{address} + data, err := json.Marshal(e2tAddresses) + + if err != nil { + t.Errorf("#rNibWriter_test.TestSaveE2TInfoListSdlFailure - Failed to marshal E2TInfoList. Error: %v", err) + } + + expectedErr := errors.New("expected error") + var setExpected []interface{} + setExpected = append(setExpected, E2TAddressesKey, data) + sdlInstanceMock.On("Set", []interface{}{setExpected}).Return(expectedErr) + + rNibErr := w.SaveE2TAddresses(e2tAddresses) + assert.NotNil(t, rNibErr) + assert.IsType(t, &common.InternalError{}, rNibErr) +} + //Integration tests // //func TestSaveEnbGnbInteg(t *testing.T){