+func TestGetE2TInstancesSuccess(t *testing.T) {
+ address := "10.10.2.15:9800"
+ address2 := "10.10.2.16:9800"
+ redisKey, _ := common.ValidateAndBuildE2TInstanceKey(address)
+ redisKey2, _ := common.ValidateAndBuildE2TInstanceKey(address2)
+
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ e2tInstance1 := generateE2tInstance(address)
+ e2tInstance2 := generateE2tInstance(address2)
+
+ data1, _ := json.Marshal(e2tInstance1)
+ data2, _ := json.Marshal(e2tInstance2)
+
+ var e error
+ ret := map[string]interface{}{redisKey: string(data1), redisKey2: string(data2)}
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{redisKey, redisKey2}).Return(ret, e)
+
+ res, err := w.GetE2TInstances([]string{address, address2})
+ assert.Nil(t, err)
+ assert.Equal(t, []*entities.E2TInstance{e2tInstance1, e2tInstance2}, res)
+}
+
+func TestGetE2TInstancesUnmarhalPartialSuccess(t *testing.T) {
+ address := "10.10.2.15:9800"
+ address2 := "10.10.2.16:9800"
+ redisKey, _ := common.ValidateAndBuildE2TInstanceKey(address)
+ redisKey2, _ := common.ValidateAndBuildE2TInstanceKey(address2)
+
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ e2tInstance1 := generateE2tInstance(address)
+ data1, _ := json.Marshal(e2tInstance1)
+
+ var e error
+ ret := map[string]interface{}{redisKey: string(data1), redisKey2: "abc"}
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{redisKey, redisKey2}).Return(ret, e)
+
+ res, err := w.GetE2TInstances([]string{address, address2})
+ assert.Nil(t, err)
+ assert.Equal(t, []*entities.E2TInstance{e2tInstance1}, res)
+}
+
+func TestGetE2TInstancesSdlFailure(t *testing.T) {
+ address := "10.10.2.15:9800"
+ address2 := "10.10.2.16:9800"
+ redisKey, _ := common.ValidateAndBuildE2TInstanceKey(address)
+ redisKey2, _ := common.ValidateAndBuildE2TInstanceKey(address2)
+
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{redisKey, redisKey2}).Return(map[string]interface{}{}, fmt.Errorf(""))
+ _, err := w.GetE2TInstances([]string{address, address2})
+ assert.IsType(t, &common.InternalError{}, err)
+}
+
+func TestGetE2TInstancesEmptyData(t *testing.T) {
+ address := "10.10.2.15:9800"
+ address2 := "10.10.2.16:9800"
+ redisKey, _ := common.ValidateAndBuildE2TInstanceKey(address)
+ redisKey2, _ := common.ValidateAndBuildE2TInstanceKey(address2)
+
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{redisKey, redisKey2}).Return(map[string]interface{}{}, nil)
+ _, err := w.GetE2TInstances([]string{address, address2})
+ assert.IsType(t, &common.ResourceNotFoundError{}, err)
+}
+
+func TestGetGeneralConfiguration(t *testing.T) {
+
+ key := common.BuildGeneralConfigurationKey()
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ configurationData := "{\"enableRic\":true}"
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{key}).Return(map[string]interface{}{key: configurationData}, nil)
+
+ res, rNibErr := w.GetGeneralConfiguration()
+ assert.Nil(t, rNibErr)
+ assert.Equal(t, true, res.EnableRic)
+}
+
+func TestGetGeneralConfigurationNotFound(t *testing.T) {
+
+ key := common.BuildGeneralConfigurationKey()
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{key}).Return(map[string]interface{}{}, nil)
+
+ _, rNibErr := w.GetGeneralConfiguration()
+
+ assert.NotNil(t, rNibErr)
+ assert.Equal(t, "#rNibReader.getByKeyAndUnmarshalJson - entity of type *entities.GeneralConfiguration not found. Key: GENERAL", rNibErr.Error())
+}
+
+func TestGetGeneralConfigurationSdlFailure(t *testing.T) {
+
+ key := common.BuildGeneralConfigurationKey()
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{key}).Return(map[string]interface{}{}, fmt.Errorf("sdl error"))
+
+ _, rNibErr := w.GetGeneralConfiguration()
+
+ assert.NotNil(t, rNibErr)
+
+ assert.Equal(t, "sdl error", rNibErr.Error())
+}
+
+func TestGetGeneralConfigurationUnmarshalError(t *testing.T) {
+
+ key := common.BuildGeneralConfigurationKey()
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+
+ configurationData := "{\"enableRic :true}"
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{key}).Return(map[string]interface{}{key: configurationData}, nil)
+
+ _, rNibErr := w.GetGeneralConfiguration()
+
+ assert.NotNil(t, rNibErr)
+ assert.Equal(t, rNibErr.Error(), "unexpected end of JSON input")
+}
+
+func TestGetRanFunctionDefinition(t *testing.T) {
+ name := "name"
+ oid := "1.3.6.1.4.1.1.2.2.2"
+ w, sdlInstanceMock := initSdlSyncStorageMock()
+ nb := entities.NodebInfo{}
+ nb.ConnectionStatus = 1
+ nb.Ip = "localhost"
+ nb.Port = 5656
+ enb := entities.Enb{}
+ cell := entities.ServedCellInfo{Tac: "tac"}
+ enb.ServedCells = []*entities.ServedCellInfo{&cell}
+ nb.Configuration = &entities.NodebInfo_Enb{Enb: &enb}
+ var e error
+ data, err := proto.Marshal(&nb)
+ if err != nil {
+ t.Errorf("#rNibReader_test.GetRanFunctionDefinition - Failed to marshal ENB instance. Error: %v", err)
+ }
+ redisKey, rNibErr := common.ValidateAndBuildNodeBNameKey(name)
+ if rNibErr != nil {
+ t.Errorf("#rNibReader_test.TestRanFunctionDefinition - failed to validate key parameter")
+ }
+ ret := map[string]interface{}{redisKey: string(data)}
+ sdlInstanceMock.On("Get", common.GetRNibNamespace(), []string{redisKey}).Return(ret, e)
+ ranFuncs, er := w.GetRanFunctionDefinition(name, oid)
+ assert.IsType(t, &common.ResourceNotFoundError{}, er)
+ assert.Nil(t, ranFuncs)
+}
+
+//integration tests
+//