aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xepsdk-app-onap/src/main/webapp/app/fusion/external/ebz/js/attHeaderSnippet.js2
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java48
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/model/JobAuditStatus.java3
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java191
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java25
-rw-r--r--vid-app-common/src/main/resources/generateRoleScript.sh3
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/controller/deleteResumeDialogController.js10
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js2
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js2
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html2
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/view-models/change-management.html2
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java38
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java80
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java105
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java140
-rw-r--r--vid-app-common/src/test/resources/payload_jsons/vfModuleDeactivateAndCloudDelete.json8
-rw-r--r--vid-webpack-master/cypress/integration/iFrames/changeManagement.e2e.ts39
17 files changed, 98 insertions, 602 deletions
diff --git a/epsdk-app-onap/src/main/webapp/app/fusion/external/ebz/js/attHeaderSnippet.js b/epsdk-app-onap/src/main/webapp/app/fusion/external/ebz/js/attHeaderSnippet.js
index fd803efe7..a3cbe820f 100755
--- a/epsdk-app-onap/src/main/webapp/app/fusion/external/ebz/js/attHeaderSnippet.js
+++ b/epsdk-app-onap/src/main/webapp/app/fusion/external/ebz/js/attHeaderSnippet.js
@@ -87,7 +87,7 @@
methods.close();
});
});
- }
+ };
}).call(this);
diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java b/vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java
deleted file mode 100644
index 7b57df2c7..000000000
--- a/vid-app-common/src/main/java/org/onap/vid/controller/open/RoleGeneratorController.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.vid.controller.open;
-
-import static org.springframework.http.HttpStatus.OK;
-
-import org.onap.portalsdk.core.controller.UnRestrictedBaseController;
-import org.onap.vid.services.RoleGeneratorService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-public class RoleGeneratorController extends UnRestrictedBaseController {
- public static final String GENERATE_ROLE_SCRIPT = "generateRoleScript";
- private RoleGeneratorService roleGeneratorService;
-
- @Autowired
- public RoleGeneratorController(RoleGeneratorService roleGeneratorService) {
- this.roleGeneratorService = roleGeneratorService;
- }
- @RequestMapping(value = GENERATE_ROLE_SCRIPT +"/{firstRun}", method = RequestMethod.GET )
- public ResponseEntity<String> generateRoleScript (@PathVariable("firstRun") boolean firstRun) {
- return ResponseEntity.status(OK).body(roleGeneratorService.generateRoleScript(firstRun));
- }
-}
diff --git a/vid-app-common/src/main/java/org/onap/vid/model/JobAuditStatus.java b/vid-app-common/src/main/java/org/onap/vid/model/JobAuditStatus.java
index 645934530..012db5a31 100644
--- a/vid-app-common/src/main/java/org/onap/vid/model/JobAuditStatus.java
+++ b/vid-app-common/src/main/java/org/onap/vid/model/JobAuditStatus.java
@@ -24,6 +24,7 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Locale;
import java.util.TimeZone;
import java.util.UUID;
import javax.persistence.Column;
@@ -100,7 +101,7 @@ public class JobAuditStatus extends VidBaseEntity {
return null;
}
- DateFormat format = new SimpleDateFormat(defaultFormat);
+ DateFormat format = new SimpleDateFormat(defaultFormat, Locale.US);
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = null ;
try {
diff --git a/vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java b/vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java
deleted file mode 100644
index 815c85d6f..000000000
--- a/vid-app-common/src/main/java/org/onap/vid/services/RoleGenaratorServiceImpl.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.vid.services;
-
-import io.joshworks.restclient.http.HttpResponse;
-import jline.internal.Log;
-import org.onap.vid.aai.*;
-import org.onap.vid.model.ModelConstants;
-import org.onap.vid.model.Subscriber;
-import org.onap.vid.model.SubscriberList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-
-@Service
-public class RoleGenaratorServiceImpl implements RoleGeneratorService {
-
- public static final String ROLE_ID_COLUMN = "ROLE_ID";
-
- @Autowired
- AaiClientInterface client;
-
- @Autowired
- AaiOverTLSClientInterface aaiOverTLSClient;
-
- public static final String DB_NAME = "vid_portal";
- public static final String TBL_NAME = "fn_role";
- public static final String TEMP_DELIMITER ="***";
- public static final String OLD_DELIMITER = "_";
- public static final String CrLf = ";\r\n";
-
- @Override
- public String generateRoleScript(Boolean firstRun) {
- String query = "USE " + DB_NAME + CrLf +
- "SET SQL_SAFE_UPDATES = 0;\r\n";
- try {
- HttpResponse<SubscriberList> allSubscribers = aaiOverTLSClient.getAllSubscribers();
- if (firstRun) {
- query += replaceRolesToTempDelimiter("subscriber",buildSubscribersValuesForMappingsTable(allSubscribers.getBody()));
- }
- query += addAvailableRolesCombination(firstRun, allSubscribers.getBody());
-
- }
- catch (Exception e) {
- Log.error("There was an error in updating roles ", e);
- }
- return query;
- }
-
- private String addAvailableRolesCombination(Boolean firstRun, SubscriberList subscribers) {
- String query;
- String availableRoles="";
- HashMap<String,String> servicesNames = new HashMap<>();
- for (Subscriber subscriber: subscribers.customer) {
- AaiResponse<Services> subscriberResponse = client.getSubscriberData(subscriber.globalCustomerId, true);
- for(ServiceSubscription service: subscriberResponse.getT().serviceSubscriptions.serviceSubscription) {
- servicesNames.put(service.serviceType,"");
- String roleName = "'" + subscriber.subscriberName + ModelConstants.ROLE_DELIMITER + service.serviceType + "'";
- availableRoles += "("+roleName+"),";
-
-
- }
- }
- availableRoles = availableRoles.substring(0,availableRoles.length()-1);
- query = createTemporaryTableAvailableRoles(availableRoles);
- if (firstRun){
- query += replaceRolesToTempDelimiter("service",buildServicesValuesForMappingsTable(servicesNames));
- query += replaceToNewDelimiter();
- query += deleteWrongRecords();
-
- }
- query += insertAvailableRolesToFnRole();
- query += dropTemporaryTable("available_roles");
- return query;
- }
-
- private String buildSubscribersValuesForMappingsTable(SubscriberList subscribers){
- String query="";
- for (Subscriber subscriber : subscribers.customer) {
- String subscriberName = subscriber.subscriberName.contains(OLD_DELIMITER) ? subscriber.subscriberName.replace(OLD_DELIMITER, TEMP_DELIMITER) : subscriber.subscriberName;
- query = query + "('" + subscriber.globalCustomerId + "','" + subscriberName + "') ,";
- }
- if(query.length() > 0)
- query = query.substring(0, query.length()-1) + CrLf;
- return query;
- }
-
- private String buildServicesValuesForMappingsTable(HashMap<String,String> servicesNames){
- final String[] query = {""};
- servicesNames.forEach((k,v)->{
- if (k.contains(OLD_DELIMITER)) {
- query[0] += "('" + k + "' ,'" + k.replace(OLD_DELIMITER, TEMP_DELIMITER) +"'),";
- }
- });
- if(query[0].length() > 0)
- query[0] = query[0].substring(0, query[0].length()-1) + CrLf;
- return query[0];
- }
-
- private String replaceRolesToTempDelimiter(String entityName, String valuesForMappingsTable ) {
-
- AaiResponse<Services> services = client.getServices();
- String query = "";
- if (valuesForMappingsTable.length() > 0) {
- query = "CREATE TEMPORARY TABLE IF NOT EXISTS " + entityName + "Mappings(mapKey VARCHAR(255),mapValue VARCHAR(255));\r\n" +
- "INSERT INTO " + entityName + "Mappings VALUES ";
- query += valuesForMappingsTable;
- query += "UPDATE " + TBL_NAME + "\r\n" +
- "INNER JOIN " + entityName + "Mappings ON role_name LIKE concat('%',mapKey, '%')\r\n" +
- "SET ROLE_NAME = REPLACE(ROLE_NAME, mapKey, mapValue) ; \r\n" +
- dropTemporaryTable(entityName + "Mappings");
- }
- return query;
- }
-
- private String replaceToNewDelimiter(){
- String query = "UPDATE " + TBL_NAME + "\r\n" +
- "SET ROLE_NAME = REPLACE(ROLE_NAME, '" + OLD_DELIMITER + "', '" + ModelConstants.ROLE_DELIMITER + "');\r\n" ;
- query += "UPDATE fn_role\r\n" +
- "SET ROLE_NAME = REPLACE(ROLE_NAME, '" + TEMP_DELIMITER + "', '" + OLD_DELIMITER + "');\r\n" ;
- return query;
- }
-
- private String insertAvailableRolesToFnRole(){
- return "INSERT INTO fn_role (ROLE_NAME, ACTIVE_YN, PRIORITY)\r\n" +
- "SELECT RNAME, 'Y', 5\r\n" +
- "FROM available_roles\r\n" +
- "WHERE NOT EXISTS (SELECT ROLE_NAME\r\n" +
- "FROM fn_role \r\n" +
- "where RNAME = ROLE_NAME);\r\n";
- }
-
-
-
- private String createTemporaryTableAvailableRoles(String availableRoles) {
- String query = "CREATE TEMPORARY TABLE IF NOT EXISTS available_roles(rname VARCHAR(255));\r\n";
- query += "INSERT INTO available_roles VALUES "+availableRoles+CrLf;
- return query;
- }
-
- private String deleteWrongRecords(){
- String query ="CREATE TEMPORARY TABLE IF NOT EXISTS wrong_roles(roleID INT);\r\n" +
- "INSERT INTO wrong_roles (roleID)\r\n" +
- "SELECT ROLE_ID FROM fn_role LEFT JOIN available_roles ON role_name LIKE concat(rname, '%')\r\n" +
- "WHERE available_roles.rname IS NULL AND ROLE_ID NOT IN (1,16);\r\n";
- query += deleteCascade();
- query += dropTemporaryTable("wrong_roles");
- return query;
- }
-
- private String deleteCascade() {
- String query = deleteFromTableByRoles("fn_role_composite", "PARENT_ROLE_ID");
- query = query.substring(0, query.length()-1);
- query += " OR wrong_roles.ROLEID = fn_role_composite.CHILD_ROLE_ID;\r\n";
- query += deleteFromTableByRoles("fn_role_function", ROLE_ID_COLUMN)+ "\r\n";
- query += deleteFromTableByRoles("fn_user_role", ROLE_ID_COLUMN)+ "\r\n";
- query += deleteFromTableByRoles(TBL_NAME, ROLE_ID_COLUMN)+ "\r\n";
- return query;
- }
-
- private String deleteFromTableByRoles(String table, String column) {
- String query = "DELETE FROM " + table + "\r\n";
- query += "using " + table + " inner join wrong_roles\r\n" +
- "where wrong_roles.ROLEID = " + table + "." + column + ";";
- return query;
- }
-
- private String dropTemporaryTable(String table) {
- return "DROP TEMPORARY TABLE IF EXISTS " + table + CrLf;
- }
-}
diff --git a/vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java b/vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java
deleted file mode 100644
index ef6fa3ba2..000000000
--- a/vid-app-common/src/main/java/org/onap/vid/services/RoleGeneratorService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.vid.services;
-
-public interface RoleGeneratorService {
- String generateRoleScript(Boolean firstRun);
-}
diff --git a/vid-app-common/src/main/resources/generateRoleScript.sh b/vid-app-common/src/main/resources/generateRoleScript.sh
deleted file mode 100644
index cf73b7412..000000000
--- a/vid-app-common/src/main/resources/generateRoleScript.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-firstRun=${1-false}
-url=http://127.0.0.1:8080/vid/generateRoleScript/$firstRun
-wget -O roles.sql $url \ No newline at end of file
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/deleteResumeDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/deleteResumeDialogController.js
index d7b7bab33..4c58f2b79 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/deleteResumeDialogController.js
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/deleteResumeDialogController.js
@@ -69,7 +69,7 @@ var deleteResumeDialogController = function( COMPONENT, FIELD, $scope, $http, $t
$scope.userParameterChanged = function(id) {
DeleteResumeService.updateUserParameterList(id, $scope.userProvidedControl);
- }
+ };
$scope.confirm = function() {
DataService.setE2EService($scope.isE2EService); //VoLTE support
@@ -139,13 +139,13 @@ var deleteResumeDialogController = function( COMPONENT, FIELD, $scope, $http, $t
}
- }
+ };
$scope.cancel = function() {
$scope.isDialogVisible = false;
$scope.popup.isVisible = false;
runCallback(false);
- }
+ };
var runCallback = function(isSuccessful) {
if (angular.isFunction(callbackFunction)) {
@@ -153,8 +153,8 @@ var deleteResumeDialogController = function( COMPONENT, FIELD, $scope, $http, $t
isSuccessful : isSuccessful
});
}
- }
-}
+ };
+};
appDS2.controller("deleteResumeDialogController", [ "COMPONENT", "FIELD", "$scope", "$http",
"$timeout", "$log", "DataService", "DeleteResumeService","CreationService", "UtilityService",
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js
index 105c48bae..5f05d210d 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeController.js
@@ -22,6 +22,6 @@
var iframeController = function($scope, $location) {
$scope.url = "app/ui/#" + $location.$$url;
-}
+};
app.controller("iframeController", [ "$scope", "$location", iframeController ]);
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js
index e38847060..b4371c4a2 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/iframeDialogController.js
@@ -48,7 +48,7 @@ var iframeDialogController = function (COMPONENT, FIELD, PARAMETER, $scope, $htt
$scope.popup.isVisible = false;
// }
}
- })
+ });
}
$scope.$apply();
}
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html
index 3f4a94ee0..de0ec4026 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/modals/new-change-management/new-change-management.html
@@ -24,7 +24,7 @@
<span ng-click="vm.close()" class="pull-right modal-close" aria-hidden="true">&times;</span>
<div ng-if="vm.errorMsg!==''"><font color='red'>{{vm.errorMsg.message}}</font></div>
</div>
-<form class="form-create" name="newChangeManagement" ng-submit="vm.openModal();vm.close();" novalidate>
+<form class="form-create" data-tests-id="newChangeManagementForm" name="newChangeManagement" ng-submit="vm.openModal();vm.close();" novalidate>
<div class="modal-body step1" ng-show="vm.wizardStep === 1" >
<div class="form-group">
<label class="control-label">Subscriber</label>
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/change-management.html b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/change-management.html
index 1d8b39c80..194df6e4d 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/change-management.html
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/change-management.html
@@ -25,7 +25,7 @@
<div class="header">
<span id="change-management-headline">VNF Changes</span>
<span class="separator"></span>
- <div class="button-container" ng-click="vm.createNewChange()">
+ <div data-tests-id="create-new-change-management" class="button-container" ng-click="vm.createNewChange()">
<div class="icon-svg" id="change-management-new-button">
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 55.47337 55.63023"><path class="icon-filling" d="M27.7367.07843A27.73669,27.73669,0,1,0,55.4734,27.81512,27.73757,27.73757,0,0,0,27.7367.07843ZM40.18824,29.6178H29.53938V40.26666a1.80267,1.80267,0,0,1-3.60535,0V29.6178H15.28516a1.80267,1.80267,0,0,1,0-3.60535H25.934V15.36359a1.80267,1.80267,0,0,1,3.60535,0V26.01245H40.18824a1.80267,1.80267,0,1,1,0,3.60535Z"/></svg>
</div>
diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java
index a2f86f437..a32450510 100644
--- a/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/controller/MsoControllerTest.java
@@ -27,6 +27,7 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.then;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.only;
+import static org.mockito.Mockito.when;
import static org.springframework.http.MediaType.APPLICATION_JSON;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
@@ -48,6 +49,7 @@ import org.junit.Test;
import org.onap.vid.model.RequestReferencesContainer;
import org.onap.vid.mso.MsoBusinessLogic;
import org.onap.vid.mso.MsoResponseWrapper;
+import org.onap.vid.mso.MsoResponseWrapper2;
import org.onap.vid.mso.RestObject;
import org.onap.vid.mso.rest.MsoRestClientNew;
import org.onap.vid.mso.rest.Request;
@@ -447,4 +449,38 @@ public class MsoControllerTest {
private <T> T objectEqualTo(T expected) {
return argThat(given -> asJson(given).equals(asJson(expected)));
}
-} \ No newline at end of file
+
+ @Test
+ public void testActivateFabricConfiguration() throws Exception {
+
+ String serviceInstanceId = "tempId";
+
+ //define mock response object
+ String responseString = "{" +
+ " \"requestReferences\": {" +
+ " \"instanceId\": \"tempId\"," +
+ " \"requestId\": \"dbe54591-c8ed-46d3-abc7-d3a24873dfbd\"" +
+ " }" +
+ " }";
+ final RestObject<RequestReferencesContainer> restObject = new RestObject<>();
+ restObject.set(objectMapper.readValue(responseString, RequestReferencesContainer.class));
+ restObject.setStatusCode(200);
+
+ //register mock
+ String msoPath = "justAFakePath";
+
+ when(msoBusinessLogic.getActivateFabricConfigurationPath(serviceInstanceId)).thenReturn(msoPath);
+ when(msoRestClient.PostForObject(new RequestDetails(), msoPath, RequestReferencesContainer.class)).thenReturn(restObject);
+
+ //expected response
+ MsoResponseWrapper2<RequestReferencesContainer> expectedResponse = new MsoResponseWrapper2<>(restObject);
+
+ //get response from controller
+ // when & then
+ mockMvc.perform(post(format("/mso/mso_activate_fabric_configuration/%s", serviceInstanceId))
+ .content(asJson(new RequestDetails()))
+ .contentType(APPLICATION_JSON))
+ .andExpect(status().isOk())
+ .andExpect(content().json(asJson(expectedResponse)));
+ }
+}
diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java
deleted file mode 100644
index c1509d956..000000000
--- a/vid-app-common/src/test/java/org/onap/vid/controller/open/RoleGeneratorControllerTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.vid.controller.open;
-
-import static org.mockito.BDDMockito.given;
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-import org.apache.log4j.BasicConfigurator;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.onap.vid.controller.open.RoleGeneratorController;
-import org.onap.vid.services.RoleGeneratorService;
-import org.springframework.http.MediaType;
-import org.springframework.test.web.servlet.MockMvc;
-import org.springframework.test.web.servlet.setup.MockMvcBuilders;
-
-@RunWith(MockitoJUnitRunner.class)
-public class RoleGeneratorControllerTest {
-
- private static final String PATH = "/generateRoleScript/{firstRun}";
-
- private static final String FIRST_JSON = "{key1: val1}";
- private static final String SECOND_JSON = "{key2: val2}";
-
- private RoleGeneratorController roleGeneratorController;
- private MockMvc mockMvc;
-
- @Mock
- private RoleGeneratorService service;
-
- @Before
- public void setUp() {
- roleGeneratorController = new RoleGeneratorController(service);
- BasicConfigurator.configure();
- mockMvc = MockMvcBuilders.standaloneSetup(roleGeneratorController).build();
-
- given(service.generateRoleScript(true)).willReturn(FIRST_JSON);
- given(service.generateRoleScript(false)).willReturn(SECOND_JSON);
- }
-
- @Test
- public void generateRoleScript_shouldReturnJson_whenFirstRun() throws Exception {
- mockMvc.perform(get(PATH, "true")
- .contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk())
- .andExpect(content().json(FIRST_JSON));
- }
-
- @Test
- public void generateRoleScript_shouldReturnJson_whenNoFirstRun() throws Exception {
- mockMvc.perform(get(PATH, "false")
- .contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk())
- .andExpect(content().json(SECOND_JSON));
- }
-}
diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java
index c9f576db1..2ea37f4bc 100644
--- a/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoBusinessLogicImplTest.java
@@ -21,6 +21,7 @@
package org.onap.vid.mso;
+import static net.javacrumbs.jsonunit.JsonMatchers.jsonEquals;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.tuple;
@@ -42,7 +43,6 @@ import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.onap.vid.controller.MsoController.CONFIGURATION_ID;
import static org.onap.vid.controller.MsoController.REQUEST_TYPE;
@@ -72,7 +72,6 @@ import org.hamcrest.MatcherAssert;
import org.jetbrains.annotations.NotNull;
import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
-import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.hamcrest.MockitoHamcrest;
import org.onap.portalsdk.core.util.SystemProperties;
@@ -91,7 +90,6 @@ import org.onap.vid.mso.model.CloudConfiguration;
import org.onap.vid.mso.model.ModelInfo;
import org.onap.vid.mso.model.OperationalEnvironmentActivateInfo;
import org.onap.vid.mso.model.OperationalEnvironmentDeactivateInfo;
-import org.onap.vid.mso.model.RequestInfo;
import org.onap.vid.mso.model.RequestParameters;
import org.onap.vid.mso.rest.OperationalEnvironment.OperationEnvironmentRequestDetails;
import org.onap.vid.mso.rest.Request;
@@ -864,39 +862,11 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests {
}
@Test
- public void shouldProperlyBuildRequestDetailsForSoftDeleteWithProperParameters() {
- // given
- SoftDeleteRequest softDeleteRequest = new SoftDeleteRequest();
- RequestDetails requestDetails = new RequestDetails();
-
- String userId = "testUserID";
- String tenantId = "testTenantId ";
- String cloudRegionId = "testCloudId";
-
-
- RequestInfo requestInfo = new RequestInfo();
- requestInfo.setSource("VID");
- requestInfo.setRequestorId(userId);
- requestDetails.setRequestInfo(requestInfo);
-
- CloudConfiguration cloudConfiguration = new CloudConfiguration();
- cloudConfiguration.setTenantId(tenantId);
- cloudConfiguration.setLcpCloudRegionId(cloudRegionId);
- requestDetails.setCloudConfiguration(cloudConfiguration);
-
- setModelInfoForRequestDetails(requestDetails);
-
- setRequestParametersForRequestDetails(requestDetails);
-
- softDeleteRequest.setLcpCloudRegionId(cloudRegionId);
- softDeleteRequest.setTenantId(tenantId);
- softDeleteRequest.setUserId(userId);
-
- // when
- RequestDetails response = msoBusinessLogic.buildRequestDetailsForSoftDelete(softDeleteRequest);
-
- // then
- assertThat(response).isEqualTo(requestDetails);
+ public void shouldProperlyBuildRequestDetailsForSoftDeleteWithProperParameters() throws IOException {
+ SoftDeleteRequest request = new SoftDeleteRequest("testTenantId", "testCloudId", "testUserID");
+ String expected = IOUtils.toString(this.getClass().getResource("/payload_jsons/vfModuleDeactivateAndCloudDelete.json"), "UTF-8");
+ final RequestDetails result = msoBusinessLogic.buildRequestDetailsForSoftDelete(request);
+ MatcherAssert.assertThat(result, jsonEquals(expected));
}
private void setRequestParametersForRequestDetails(RequestDetails requestDetails) {
@@ -1612,68 +1582,5 @@ public class MsoBusinessLogicImplTest extends AbstractTestNGSpringContextTests {
org.junit.Assert.assertThat(metadata.getRawData(), rawData);
org.junit.Assert.assertThat(metadata.getDescription(), descriptionMatcher);
}
-
- @Test(dataProvider = "unAssignOrDeleteParams")
- public void deleteSvcInstance_verifyEndPointPathConstructing(String status) {
- Mockito.reset(msoInterface);
- String endpoint = validateEndpointPath(MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE);
- RequestDetails requestDetails = new RequestDetails();
-
-
- msoBusinessLogic.deleteSvcInstance(requestDetails, "tempId", status);
-
- verify(msoInterface).deleteSvcInstance(requestDetails, endpoint + "/tempId");
- }
-
- @DataProvider
- public Object[][] unAssignOrDeleteParams() {
- return new Object[][]{
- {"Active"},
- {"unexpected-status"},
- };
- }
-
- @Test(dataProvider = "unAssignStatus")
- public void deleteSvcInstance_verifyEndPointPathConstructing_unAssignFeatureOn(String status) {
- Mockito.reset(msoInterface);
- String endpoint = validateEndpointPath(MsoProperties.MSO_DELETE_OR_UNASSIGN_REST_API_SVC_INSTANCE);
- RequestDetails requestDetails = new RequestDetails();
-
- msoBusinessLogic.deleteSvcInstance(requestDetails, "tempId", status);
-
- verify(msoInterface).unassignSvcInstance(requestDetails, endpoint + "/tempId/unassign");
- }
-
- @DataProvider
- public Object[][] unAssignStatus() {
- return new Object[][]{
- {"Created"},
- {"Pendingdelete"},
- {"pending-Delete"},
- {"Assigned"}
- };
- }
-
- @Test
- public void deleteVnf_verifyEndPointPathConstructing() {
- String endpoint = validateEndpointPath(MsoProperties.MSO_REST_API_VNF_INSTANCE);
- RequestDetails requestDetails = new RequestDetails();
-
- String vnf_endpoint = endpoint.replaceFirst(SVC_INSTANCE_ID, "serviceInstanceTempId");
-
- msoBusinessLogic.deleteVnf(requestDetails, "serviceInstanceTempId", "vnfInstanceTempId");
- verify(msoInterface).deleteVnf(requestDetails, vnf_endpoint + "/vnfInstanceTempId");
- }
-
- @Test
- public void deleteVfModule_verifyEndPointPathConstructing() {
- String endpoint = validateEndpointPath(MsoProperties.MSO_REST_API_VF_MODULE_INSTANCE);
- RequestDetails requestDetails = new RequestDetails();
-
- String vf__modules_endpoint = endpoint.replaceFirst(SVC_INSTANCE_ID, "serviceInstanceTempId").replaceFirst(VNF_INSTANCE_ID, "vnfInstanceTempId");
-
- msoBusinessLogic.deleteVfModule(requestDetails, "serviceInstanceTempId", "vnfInstanceTempId", "vfModuleTempId");
- verify(msoInterface).deleteVfModule(requestDetails, vf__modules_endpoint + "/vfModuleTempId");
- }
}
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java b/vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java
deleted file mode 100644
index 2bf73eece..000000000
--- a/vid-app-common/src/test/java/org/onap/vid/services/RoleGenaratorServiceImplTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * VID
- * ================================================================================
- * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.vid.services;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.MockitoAnnotations.initMocks;
-
-import java.util.ArrayList;
-import org.apache.commons.lang.StringUtils;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.onap.vid.aai.AaiClientInterface;
-import org.onap.vid.aai.AaiResponse;
-import org.onap.vid.aai.ServiceSubscription;
-import org.onap.vid.aai.ServiceSubscriptions;
-import org.onap.vid.aai.Services;
-import org.onap.vid.model.Subscriber;
-import org.onap.vid.model.SubscriberList;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-public class RoleGenaratorServiceImplTest {
-
- private static final String GLOBAL_CUSTOMER_ID = "997";
- private static final String SUBSCRIBER_NAME = "name";
- private static final String SUBSCRIBER_TYPE = "subscriber_type";
- private static final String RESOURCE_VERSION = "1";
- private static final String SERVICE_TYPE = "service_type";
-
- @Mock
- private AaiClientInterface aaiClientInterface;
-
- @InjectMocks
- private RoleGenaratorServiceImpl testSubject;
-
- @BeforeClass
- public void beforeClass() {
- initMocks(this);
- }
-
- @BeforeMethod
- public void resetMocks() {
- Mockito.reset(aaiClientInterface);
- }
-
- @Test
- public void tenerateRoleScript_firstRun() {
- boolean firstRun = true;
-
- Subscriber subscriber = createSubscriber();
- AaiResponse<SubscriberList> subscribers = createSubscriberListAaiResponse(subscriber);
- doReturn(subscribers).when(aaiClientInterface).getAllSubscribers();
-
- ServiceSubscription serviceSubscription = createServiceSubscription();
- AaiResponse<Services> subscriberResponse = createServicesAaiResponse(serviceSubscription);
- doReturn(subscriberResponse).when(aaiClientInterface).getSubscriberData(subscriber.globalCustomerId,false);
-
- String result = testSubject.generateRoleScript(firstRun);
- Assert.assertTrue(StringUtils.isNotBlank(result));
- }
-
- @Test
- public void tenerateRoleScript_notAFirstRun() {
- boolean firstRun = false;
-
- Subscriber subscriber = createSubscriber();
- AaiResponse<SubscriberList> subscribers = createSubscriberListAaiResponse(subscriber);
- doReturn(subscribers).when(aaiClientInterface).getAllSubscribers();
-
- ServiceSubscription serviceSubscription = createServiceSubscription();
- AaiResponse<Services> subscriberResponse = createServicesAaiResponse(serviceSubscription);
- doReturn(subscriberResponse).when(aaiClientInterface).getSubscriberData(subscriber.globalCustomerId, false);
-
- String result = testSubject.generateRoleScript(firstRun);
- Assert.assertTrue(StringUtils.isNotBlank(result));
- }
-
- @Test(expectedExceptions = { Exception.class })
- public void tenerateRoleScript_errorGettingDataFromAAIClient() {
- boolean firstRun = false;
-
- doThrow(new Exception("This is expected.")).when(aaiClientInterface).getAllSubscribers();
-
- String result = testSubject.generateRoleScript(firstRun);
- Assert.fail();
- }
-
- private ServiceSubscription createServiceSubscription() {
- ServiceSubscription serviceSubscription = new ServiceSubscription();
- serviceSubscription.serviceType = SERVICE_TYPE;
- return serviceSubscription;
- }
-
- private AaiResponse<SubscriberList> createSubscriberListAaiResponse(Subscriber subscriber) {
- AaiResponse<SubscriberList> subscribers = new AaiResponse<>(new SubscriberList(new ArrayList<>()), "", 200);
- subscribers.getT().customer.add(subscriber);
- return subscribers;
- }
-
- private AaiResponse<Services> createServicesAaiResponse(ServiceSubscription serviceSubscription) {
- AaiResponse<Services> subscriberResponse = new AaiResponse<>(new Services(), "", 200);
- subscriberResponse.getT().serviceSubscriptions = new ServiceSubscriptions();
- subscriberResponse.getT().serviceSubscriptions.serviceSubscription = new ArrayList<>();
- subscriberResponse.getT().serviceSubscriptions.serviceSubscription.add(serviceSubscription);
- return subscriberResponse;
- }
-
- private Subscriber createSubscriber() {
- Subscriber subscriber = new Subscriber();
- subscriber.globalCustomerId = GLOBAL_CUSTOMER_ID;
- subscriber.subscriberName = SUBSCRIBER_NAME;
- subscriber.subscriberType = SUBSCRIBER_TYPE;
- subscriber.resourceVersion = RESOURCE_VERSION;
- return subscriber;
- }
-
-
-}
diff --git a/vid-app-common/src/test/resources/payload_jsons/vfModuleDeactivateAndCloudDelete.json b/vid-app-common/src/test/resources/payload_jsons/vfModuleDeactivateAndCloudDelete.json
index d86ad1966..dbac1383d 100644
--- a/vid-app-common/src/test/resources/payload_jsons/vfModuleDeactivateAndCloudDelete.json
+++ b/vid-app-common/src/test/resources/payload_jsons/vfModuleDeactivateAndCloudDelete.json
@@ -3,15 +3,15 @@
"modelType": "vfModule"
},
"cloudConfiguration": {
- "lcpCloudRegionId": "mdt1",
- "tenantId": "88a6ca3ee0394ade9403f075db23167e"
+ "lcpCloudRegionId": "testCloudId",
+ "tenantId": "testTenantId"
},
"requestInfo": {
"source": "VID",
- "requestorId": "az2016"
+ "requestorId": "testUserID"
},
"requestParameters" : {
"testApi" : "GR_API",
"userParams": []
}
-} \ No newline at end of file
+}
diff --git a/vid-webpack-master/cypress/integration/iFrames/changeManagement.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/changeManagement.e2e.ts
new file mode 100644
index 000000000..b5a01be09
--- /dev/null
+++ b/vid-webpack-master/cypress/integration/iFrames/changeManagement.e2e.ts
@@ -0,0 +1,39 @@
+///<reference path="../../../node_modules/cypress/types/index.d.ts"/> / <reference types="Cypress" />
+
+import {JsonBuilder} from "../../support/jsonBuilders/jsonBuilder";
+import {AAISubDetailsModel} from "../../support/jsonBuilders/models/aaiSubDetails.model";
+
+describe('Change management AKA VNF changes', function () {
+ var jsonBuilderAAISubDetailsModel: JsonBuilder<AAISubDetailsModel> = new JsonBuilder<AAISubDetailsModel>();
+
+ //describe('Contact us', () => {
+
+ beforeEach(() => {
+ cy.login();
+ cy.initAAIMock();
+
+ cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/defect710619/aaiSubDetailsE2E.json').then((res) => {
+ jsonBuilderAAISubDetailsModel.basicJson(
+ res,
+ Cypress.config('baseUrl') + "/aai_sub_details/e433710f-9217-458d-a79d-1c7aff376d89**",
+ 200,
+ 0,
+ "aai-sub-details")
+ });
+
+ });
+
+ afterEach(() => {
+ cy.screenshot();
+ });
+
+ it(`verifying + VNF changes`, function () {
+ cy.visit('/serviceModels.htm#/change-management');
+ cy.getElementByDataTestsId('create-new-change-management').click();
+ cy.getElementByDataTestsId('newChangeManagementForm');
+ cy.selectDropdownOptionByText('subscriberName', 'SILVIA ROBBINS');
+ cy.selectDropdownOptionByText('serviceType', 'TYLER SILVIA');
+ });
+});
+
+