From 8a5bfb08333e955f36321026444ab52989fbf3ec Mon Sep 17 00:00:00 2001 From: is005q Date: Wed, 25 Dec 2019 09:54:25 +0200 Subject: [PATCH] [RICPLT-2527] Fix request model of assoc/dissoc and add dissoc all Change-Id: I1e48844f93cda7e46b3c2ffd6efe1af129967a30 Signed-off-by: is005q --- E2Manager/clients/routing_manager_client.go | 26 ++++++++++++++++++---- E2Manager/clients/routing_manager_client_test.go | 12 +++++----- .../httpmsghandlers/setup_request_handler_test.go | 2 +- E2Manager/managers/e2t_association_manager_test.go | 2 +- E2Manager/models/routing_manager_e2t_data_list.go | 22 ++++++++++++++++++ 5 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 E2Manager/models/routing_manager_e2t_data_list.go diff --git a/E2Manager/clients/routing_manager_client.go b/E2Manager/clients/routing_manager_client.go index c584f5b..52e9250 100644 --- a/E2Manager/clients/routing_manager_client.go +++ b/E2Manager/clients/routing_manager_client.go @@ -65,7 +65,7 @@ func (c *RoutingManagerClient) AddE2TInstance(e2tAddress string) error { func (c *RoutingManagerClient) AssociateRanToE2TInstance(e2tAddress string, ranName string) error { - data := models.NewRoutingManagerE2TData(e2tAddress, ranName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(e2tAddress, ranName)} url := c.config.RoutingManager.BaseUrl + AssociateRanToE2TInstanceApiSuffix return c.PostMessage(data, url) @@ -73,13 +73,21 @@ func (c *RoutingManagerClient) AssociateRanToE2TInstance(e2tAddress string, ranN func (c *RoutingManagerClient) DissociateRanE2TInstance(e2tAddress string, ranName string) error { - data := models.NewRoutingManagerE2TData(e2tAddress, ranName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(e2tAddress, ranName)} url := c.config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix return c.PostMessage(data, url) } -func (c *RoutingManagerClient) PostMessage(data *models.RoutingManagerE2TData, url string) error { +func (c *RoutingManagerClient) DissociateAllRans(e2tAddresses []string) error { + + data := mapE2TAddressesToE2DataList(e2tAddresses) + url := c.config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix + + return c.PostMessage(data, url) +} + +func (c *RoutingManagerClient) PostMessage(data interface{}, url string) error { marshaled, err := json.Marshal(data) if err != nil { @@ -105,4 +113,14 @@ func (c *RoutingManagerClient) PostMessage(data *models.RoutingManagerE2TData, u c.logger.Errorf("[Routing Manager -> E2M] #RoutingManagerClient.PostMessage - failure. http status code: %d", resp.StatusCode) return e2managererrors.NewRoutingManagerError() -} \ No newline at end of file +} + +func mapE2TAddressesToE2DataList(e2tAddresses []string) models.RoutingManagerE2TDataList { + e2tDataList := make(models.RoutingManagerE2TDataList, len(e2tAddresses)) + + for i, v := range e2tAddresses { + e2tDataList[i] = models.NewRoutingManagerE2TData(v) + } + + return e2tDataList +} diff --git a/E2Manager/clients/routing_manager_client_test.go b/E2Manager/clients/routing_manager_client_test.go index 2d02cfd..59e6125 100644 --- a/E2Manager/clients/routing_manager_client_test.go +++ b/E2Manager/clients/routing_manager_client_test.go @@ -88,7 +88,7 @@ func TestAddE2TInstanceFailure(t *testing.T) { func TestAssociateRanToE2TInstance_Success(t *testing.T) { rmClient, httpClientMock, config := initRoutingManagerClientTest(t) - data := models.NewRoutingManagerE2TData(E2TAddress,RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress,RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := config.RoutingManager.BaseUrl + AssociateRanToE2TInstanceApiSuffix @@ -101,7 +101,7 @@ func TestAssociateRanToE2TInstance_Success(t *testing.T) { func TestAssociateRanToE2TInstance_RoutingManagerError(t *testing.T) { rmClient, httpClientMock, config := initRoutingManagerClientTest(t) - data := models.NewRoutingManagerE2TData(E2TAddress,RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress,RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := config.RoutingManager.BaseUrl + AssociateRanToE2TInstanceApiSuffix @@ -113,7 +113,7 @@ func TestAssociateRanToE2TInstance_RoutingManagerError(t *testing.T) { func TestAssociateRanToE2TInstance_RoutingManager_400(t *testing.T) { rmClient, httpClientMock, config := initRoutingManagerClientTest(t) - data := models.NewRoutingManagerE2TData(E2TAddress,RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress,RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := config.RoutingManager.BaseUrl + AssociateRanToE2TInstanceApiSuffix @@ -126,7 +126,7 @@ func TestAssociateRanToE2TInstance_RoutingManager_400(t *testing.T) { func TestDissociateRanE2TInstance_Success(t *testing.T) { rmClient, httpClientMock, config := initRoutingManagerClientTest(t) - data := models.NewRoutingManagerE2TData(E2TAddress,RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress,RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix @@ -139,7 +139,7 @@ func TestDissociateRanE2TInstance_Success(t *testing.T) { func TestDissociateRanE2TInstance_RoutingManagerError(t *testing.T) { rmClient, httpClientMock, config := initRoutingManagerClientTest(t) - data := models.NewRoutingManagerE2TData(E2TAddress,RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress,RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix @@ -151,7 +151,7 @@ func TestDissociateRanE2TInstance_RoutingManagerError(t *testing.T) { func TestDissociateRanE2TInstance_RoutingManager_400(t *testing.T) { rmClient, httpClientMock, config := initRoutingManagerClientTest(t) - data := models.NewRoutingManagerE2TData(E2TAddress,RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress,RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix diff --git a/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go b/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go index 2fc1c5c..7586791 100644 --- a/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go +++ b/E2Manager/handlers/httpmsghandlers/setup_request_handler_test.go @@ -88,7 +88,7 @@ func initSetupRequestTestBasicMocks(t *testing.T, protocol entities.E2Applicatio } func mockHttpClientAssociateRan(httpClientMock *mocks.HttpClientMock) { - data := models.NewRoutingManagerE2TData(E2TAddress, RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress, RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := BaseRMUrl + clients.AssociateRanToE2TInstanceApiSuffix diff --git a/E2Manager/managers/e2t_association_manager_test.go b/E2Manager/managers/e2t_association_manager_test.go index 75cfb3b..6754a3b 100644 --- a/E2Manager/managers/e2t_association_manager_test.go +++ b/E2Manager/managers/e2t_association_manager_test.go @@ -57,7 +57,7 @@ func initE2TAssociationManagerTest(t *testing.T) (*E2TAssociationManager, *mocks } func mockHttpClientAssociateRan(httpClientMock *mocks.HttpClientMock, isSuccessful bool) { - data := models.NewRoutingManagerE2TData(E2TAddress, RanName) + data := models.RoutingManagerE2TDataList{models.NewRoutingManagerE2TData(E2TAddress, RanName)} marshaled, _ := json.Marshal(data) body := bytes.NewBuffer(marshaled) url := BaseRMUrl + clients.AssociateRanToE2TInstanceApiSuffix diff --git a/E2Manager/models/routing_manager_e2t_data_list.go b/E2Manager/models/routing_manager_e2t_data_list.go new file mode 100644 index 0000000..4179d83 --- /dev/null +++ b/E2Manager/models/routing_manager_e2t_data_list.go @@ -0,0 +1,22 @@ +// +// Copyright 2019 AT&T Intellectual Property +// Copyright 2019 Nokia +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This source code is part of the near-RT RIC (RAN Intelligent Controller) +// platform project (RICP). + +package models + +type RoutingManagerE2TDataList []*RoutingManagerE2TData -- 2.16.6