Improve unit test coverage
[ric-plt/e2mgr.git] / E2Manager / clients / routing_manager_client_test.go
index 2af458c..686733e 100644 (file)
@@ -50,50 +50,38 @@ func initRoutingManagerClientTest(t *testing.T) (*RoutingManagerClient, *mocks.H
 func TestDeleteE2TInstanceSuccess(t *testing.T) {
        rmClient, httpClientMock, config := initRoutingManagerClientTest(t)
 
-       e2tToRansAssociations := map[string][]string{
-               E2TAddress2: {"test1"},
-       }
-       e2tDataList := convertE2TToRansAssociationsMapToE2TDataList(e2tToRansAssociations)
-       data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1"},e2tDataList)
+       data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1"}, nil)
        marshaled, _ := json.Marshal(data)
        body := bytes.NewBuffer(marshaled)
        url := config.RoutingManager.BaseUrl + "e2t"
        respBody := ioutil.NopCloser(bytes.NewBufferString(""))
        httpClientMock.On("Delete", url, "application/json", body).Return(&http.Response{StatusCode: http.StatusOK, Body: respBody}, nil)
-       err := rmClient.DeleteE2TInstance(E2TAddress, []string{"test1"}, e2tToRansAssociations)
+       err := rmClient.DeleteE2TInstance(E2TAddress, []string{"test1"})
        assert.Nil(t, err)
 }
 
 func TestDeleteE2TInstanceFailure(t *testing.T) {
        rmClient, httpClientMock, config := initRoutingManagerClientTest(t)
 
-       e2tToRansAssociations := map[string][]string{
-               E2TAddress2: {"test1"},
-       }
-       e2tDataList := convertE2TToRansAssociationsMapToE2TDataList(e2tToRansAssociations)
-       data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1"},e2tDataList)
+       data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1"}, nil)
        marshaled, _ := json.Marshal(data)
        body := bytes.NewBuffer(marshaled)
        url := config.RoutingManager.BaseUrl + "e2t"
        respBody := ioutil.NopCloser(bytes.NewBufferString(""))
        httpClientMock.On("Delete", url, "application/json", body).Return(&http.Response{StatusCode: http.StatusBadRequest, Body: respBody}, nil)
-       err := rmClient.DeleteE2TInstance(E2TAddress, []string{"test1"}, e2tToRansAssociations)
+       err := rmClient.DeleteE2TInstance(E2TAddress, []string{"test1"})
        assert.IsType(t, &e2managererrors.RoutingManagerError{}, err)
 }
 
 func TestDeleteE2TInstanceDeleteFailure(t *testing.T) {
        rmClient, httpClientMock, config := initRoutingManagerClientTest(t)
 
-       e2tToRansAssociations := map[string][]string{
-               E2TAddress2: {"test1"},
-       }
-       e2tDataList := convertE2TToRansAssociationsMapToE2TDataList(e2tToRansAssociations)
-       data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1"},e2tDataList)
+       data := models.NewRoutingManagerDeleteRequestModel(E2TAddress, []string{"test1"}, nil)
        marshaled, _ := json.Marshal(data)
        body := bytes.NewBuffer(marshaled)
        url := config.RoutingManager.BaseUrl + "e2t"
        httpClientMock.On("Delete", url, "application/json", body).Return(&http.Response{}, errors.New("error"))
-       err := rmClient.DeleteE2TInstance(E2TAddress, []string{"test1"}, e2tToRansAssociations)
+       err := rmClient.DeleteE2TInstance(E2TAddress, []string{"test1"})
        assert.IsType(t, &e2managererrors.RoutingManagerError{}, err)
 }
 
@@ -211,6 +199,53 @@ func TestDissociateRanE2TInstance_RoutingManager_400(t *testing.T) {
        assert.IsType(t, &e2managererrors.RoutingManagerError{}, err)
 }
 
+func TestDissociateAllRans_Success(t *testing.T) {
+       rmClient, httpClientMock, config := initRoutingManagerClientTest(t)
+
+       data := models.RoutingManagerE2TDataList{
+               models.NewRoutingManagerE2TData(E2TAddress),
+               models.NewRoutingManagerE2TData(E2TAddress2),
+       }
+       marshaled, _ := json.Marshal(data)
+       body := bytes.NewBuffer(marshaled)
+       url := config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix
+       respBody := ioutil.NopCloser(bytes.NewBufferString(""))
+       httpClientMock.On("Post", url, "application/json", body).Return(&http.Response{StatusCode: http.StatusCreated, Body: respBody}, nil)
+       err := rmClient.DissociateAllRans([]string{E2TAddress, E2TAddress2})
+       assert.Nil(t, err)
+}
+
+func TestDissociateAllRans_RoutingManagerError(t *testing.T) {
+       rmClient, httpClientMock, config := initRoutingManagerClientTest(t)
+
+       data := models.RoutingManagerE2TDataList{
+               models.NewRoutingManagerE2TData(E2TAddress),
+               models.NewRoutingManagerE2TData(E2TAddress2),
+       }
+       marshaled, _ := json.Marshal(data)
+       body := bytes.NewBuffer(marshaled)
+       url := config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix
+       httpClientMock.On("Post", url, "application/json", body).Return(&http.Response{}, errors.New("error"))
+       err := rmClient.DissociateAllRans([]string{E2TAddress, E2TAddress2})
+       assert.IsType(t, &e2managererrors.RoutingManagerError{}, err)
+}
+
+func TestDissociateAllRans_RoutingManager_400(t *testing.T) {
+       rmClient, httpClientMock, config := initRoutingManagerClientTest(t)
+
+       data := models.RoutingManagerE2TDataList{
+               models.NewRoutingManagerE2TData(E2TAddress),
+               models.NewRoutingManagerE2TData(E2TAddress2),
+       }
+       marshaled, _ := json.Marshal(data)
+       body := bytes.NewBuffer(marshaled)
+       url := config.RoutingManager.BaseUrl + DissociateRanE2TInstanceApiSuffix
+       respBody := ioutil.NopCloser(bytes.NewBufferString(""))
+       httpClientMock.On("Post", url, "application/json", body).Return(&http.Response{StatusCode: http.StatusBadRequest, Body: respBody}, nil)
+       err := rmClient.DissociateAllRans([]string{E2TAddress, E2TAddress2})
+       assert.IsType(t, &e2managererrors.RoutingManagerError{}, err)
+}
+
 // TODO: extract to test_utils
 func initLog(t *testing.T) *logger.Logger {
        log, err := logger.InitLogger(logger.InfoLevel)