aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Sandler <alexey.sandler@intl.att.com>2020-04-20 12:57:09 +0300
committerIttay Stern <ittay.stern@att.com>2020-04-22 12:56:28 +0300
commitb9d6126601120aabf2d43e2e951915c0eed370ce (patch)
tree5a0f98db0c3fa2abb00e0abe9d4963b4ed0e38e9
parentd7196039157000a9aa600a9d6f28b0aa995df5dc (diff)
Add drop down Source subscriber name on the PMC instantiation form
Add the "Source Subscriber Name" drop down for the source VNF on the PMC (Port Mirroring Configuration) instantiation form. Issue-ID: VID-809 Change-Id: Iab01675e815bbc9809c67e31e475613973d868ea Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Signed-off-by: Alexey Sandler <alexey.sandler@intl.att.com> Signed-off-by: Amichai Hemli <amichai.hemli@intl.att.com> Signed-off-by: Ittay Stern <ittay.stern@att.com>
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceProxyConfigController.js52
-rw-r--r--vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceProxyConfig.htm12
-rw-r--r--vid-automation/src/main/java/vid/automation/test/Constants.java1
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/ServiceProxyPage.java14
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/CreatePortMirroringConfigurationTest.java14
5 files changed, 80 insertions, 13 deletions
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceProxyConfigController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceProxyConfigController.js
index 8e3b5b890..c85187e98 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceProxyConfigController.js
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceProxyConfigController.js
@@ -60,25 +60,58 @@ appDS2.controller(
$scope.serviceTypes = [];
- function init() {
- loadServiceTypes();
+ $scope.isSourceSubscriberEnabled = function() {
+ return featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_2006_PORT_MIRRORING_LET_SELECTING_SOURCE_SUBSCRIBER)
+ && !$scope.configurationByPolicy;
+ };
+ function init() {
+ if ($scope.isSourceSubscriberEnabled()) {
+ loadSourceSubscriber();
+ }
+ loadServiceTypes(DataService.getGlobalCustomerId(), handleGetSourceAndCollectorServiceTypesResponse);
generateMetadata(sourceServiceProxy);
generateMetadata(collectorServiceProxy);
}
+ function loadSourceSubscriber() {
+ AaiService.getSubList(function (response) {
+ $scope.sourceSubscribers = response;
+ $scope.sourceSubscriber = response.find((subscriber)=>{
+ return subscriber.globalCustomerId === DataService.getGlobalCustomerId();
+ });
+ }, function (response) { // failure
+ $scope.sourceSubscribers = [];
+ });
+ }
+
+ function getSourceSubscriberId() {
+ return $scope.isSourceSubscriberEnabled()
+ ? $scope.sourceSubscriber && $scope.sourceSubscriber.globalCustomerId
+ : DataService.getGlobalCustomerId()
+ }
+
function setDefaultCollectorServiceType() {
const configServiceType = DataService.getServiceType();
$scope.collectorServiceType = mustFind($scope.serviceTypes, {"service-type": configServiceType});
loadCollectorProxies();
}
- function handleGetServiceTypesResponse(response) {
+ function handleGetSourceAndCollectorServiceTypesResponse(response) {
+ handleGetSourceServiceTypesResponse(response)
+ handleGetCollectorServiceTypesResponse(response)
+ }
+
+ function handleGetCollectorServiceTypesResponse(response) {
$scope.serviceTypes = response.data;
setDefaultCollectorServiceType();
}
+ function handleGetSourceServiceTypesResponse(response) {
+ $scope.sourceServiceTypes = response.data;
+ }
+
var handleGetParametersResponse = function(parameters) {
$scope.serviceMetadataFields = parameters.summaryList;
$scope.nodeTemplateFields = DataService.getPortMirroningConfigFields();
@@ -97,11 +130,14 @@ appDS2.controller(
$window.history.back();
};
+ $scope.onSourceSubscriberChange = function(selectedSubscriber) {
+ $scope.sourceSubscriber = selectedSubscriber
+ loadServiceTypes(selectedSubscriber.globalCustomerId, handleGetSourceServiceTypesResponse)
+ }
- function loadServiceTypes() {
- const subscriberId = DataService.getGlobalCustomerId();
+ function loadServiceTypes(subscriberId, handleGetServiceTypesResponseCallback) {
AaiService.getSubscriberServiceTypes(subscriberId)
- .then(handleGetServiceTypesResponse)
+ .then(handleGetServiceTypesResponseCallback)
.catch(function (error) {
$log.error(error);
});
@@ -288,7 +324,7 @@ appDS2.controller(
if (service.name === 'collectorInstanceName' && $scope.configurationByPolicy) {
var configurationModel = DataService.getModelInfo(COMPONENT.VNF);
AaiService.getPnfInstancesList(
- DataService.getGlobalCustomerId(),
+ getSourceSubscriberId(),
serviceType,
serviceProxy.sourceModelUuid,
serviceProxy.sourceModelInvariant,
@@ -307,7 +343,7 @@ appDS2.controller(
});
} else {
AaiService.getVnfInstancesList(
- DataService.getGlobalCustomerId(),
+ getSourceSubscriberId(),
serviceType,
serviceProxy.sourceModelUuid,
serviceProxy.sourceModelInvariant,
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceProxyConfig.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceProxyConfig.htm
index 42732bb82..99d830573 100644
--- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceProxyConfig.htm
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceProxyConfig.htm
@@ -64,10 +64,18 @@ limitations under the License.
</div>
<form name="proxiesInstanceName" class="bottom">
<div class="wrapper-list source-vnf">
- <div class="title-txt"><b>Source</b> Service Type</div>
+ <div class="title-txt" ng-if="isSourceSubscriberEnabled()"><b>Source</b> Subscriber name </div>
+ <select ng-model="sourceSubscriber"
+ ng-change="onSourceSubscriberChange(sourceSubscriber)" name="sourceSubscriber" id="sourceSubscriber"
+ ng-options="item['subscriberName'] disable when !(item['isPermitted']) for item in sourceSubscribers"
+ ng-if="isSourceSubscriberEnabled()"
+ required data-tests-id="sourceSubscriberName">
+ </select>
+
+ <div class="title-txt" ng-class="{'select-vnf-title': isSourceSubscriberEnabled()}"><b>Source</b> Service Type</div>
<select ng-model="sourceServiceType"
ng-change="onSourceServiceTypeSelected()" name="sourceServiceType" id="sourceServiceType"
- ng-options="item['service-type'] disable when !(item['is-permitted']) for item in serviceTypes"
+ ng-options="item['service-type'] disable when !(item['is-permitted']) for item in sourceServiceTypes"
required data-tests-id="sourceServiceType">
<option value="" disabled>Select service type</option>
</select>
diff --git a/vid-automation/src/main/java/vid/automation/test/Constants.java b/vid-automation/src/main/java/vid/automation/test/Constants.java
index e639ee0a2..1130107b3 100644
--- a/vid-automation/src/main/java/vid/automation/test/Constants.java
+++ b/vid-automation/src/main/java/vid/automation/test/Constants.java
@@ -450,6 +450,7 @@ public class Constants {
public static final String SOURCE_DROPDOWN_TEST_ID = "sourceDropDown";
public static final String COLLECTOR_DROPDOWN_TEST_ID = "collectorDropDown";
public static final String COLLECTOR_INSTANCE_NAME_TEST_ID = "collectorInstanceName";
+ public static final String SOURCE_SUBSCRIBER_NAME = "sourceSubscriberName";
public static final String SOURCE_INSTANCE_NAME_TEST_ID = "sourceInstanceName";
public static final String MODEL_NAME_TEST_ID = "modelName";
public static final String COLLECTOR_NO_RESULT_MSG_TEST_ID = "collectorNoResults";
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/ServiceProxyPage.java b/vid-automation/src/main/java/vid/automation/test/sections/ServiceProxyPage.java
index b96a7d38d..e3b924ab4 100644
--- a/vid-automation/src/main/java/vid/automation/test/sections/ServiceProxyPage.java
+++ b/vid-automation/src/main/java/vid/automation/test/sections/ServiceProxyPage.java
@@ -4,6 +4,7 @@ import org.junit.Assert;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
import vid.automation.test.Constants;
+import vid.automation.test.Constants.ConfigurationCreation;
import vid.automation.test.Constants.ViewEdit;
import vid.automation.test.infra.SelectOption;
@@ -15,6 +16,13 @@ public class ServiceProxyPage extends VidBasePage {
SelectOption.byTestIdAndVisibleText(source, Constants.ConfigurationCreation.SOURCE_DROPDOWN_TEST_ID);
return this;
}
+
+ public ServiceProxyPage chooseSourceSubscriberName(String subscriberName){
+ SelectOption.byTestIdAndVisibleText(subscriberName, "sourceSubscriberName");
+ GeneralUIUtils.ultimateWait();
+ return this;
+ };
+
public ServiceProxyPage chooseSourceServiceType(String sourceServiceType){
SelectOption.byTestIdAndVisibleText(sourceServiceType, "sourceServiceType");
GeneralUIUtils.ultimateWait();
@@ -25,6 +33,12 @@ public class ServiceProxyPage extends VidBasePage {
GeneralUIUtils.ultimateWait();
return this;
}
+
+ public void assertSourceSubscriberName(String sourceSubscriberName){
+ String displayedSubscriberName = SelectOption.getSelectedOption(ConfigurationCreation.SOURCE_SUBSCRIBER_NAME);
+ Assert.assertEquals("The displayed source subscriber name is not correct", sourceSubscriberName, displayedSubscriberName);
+ }
+
public void assertCollectorServiceType(String collectorServiceType) {
String displayedCollectorServiceType = SelectOption.getSelectedOption("collectorServiceType");
Assert.assertEquals("The displayed collector service type is incorrect", collectorServiceType, displayedCollectorServiceType);
diff --git a/vid-automation/src/main/java/vid/automation/test/test/CreatePortMirroringConfigurationTest.java b/vid-automation/src/main/java/vid/automation/test/test/CreatePortMirroringConfigurationTest.java
index eac0951b7..a3699e341 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/CreatePortMirroringConfigurationTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/CreatePortMirroringConfigurationTest.java
@@ -1,6 +1,8 @@
package vid.automation.test.test;
import com.google.common.collect.ImmutableMap;
+import java.util.HashMap;
+import java.util.Map;
import org.junit.Assert;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
import org.openqa.selenium.WebElement;
@@ -17,9 +19,6 @@ import vid.automation.test.sections.ViewEditPage;
import vid.automation.test.services.BulkRegistration;
import vid.automation.test.services.SimulatorApi;
-import java.util.HashMap;
-import java.util.Map;
-
public class CreatePortMirroringConfigurationTest extends VidBaseTestCase {
private ViewEditPage viewEditPage = new ViewEditPage();
@@ -32,6 +31,7 @@ public class CreatePortMirroringConfigurationTest extends VidBaseTestCase {
private String pnfInstanceName = "AS-pnf2-10219--as988q";
private String pnfServiceType = "DARREN MCGEE";
private String vnfServiceType = "TYLER SILVIA";
+ private String sourceSubscriberName = "SILVIA ROBBINS";
private String defaultCollectorServiceType = "TYLER SILVIA";
private String vnfInstanceName = "zhvf6aepdg01";
private String active = "Active";
@@ -42,6 +42,10 @@ public class CreatePortMirroringConfigurationTest extends VidBaseTestCase {
return Features.FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY.isActive();
}
+ private boolean featureFlagLetSelectingSourceSubscriber() {
+ return Features.FLAG_2006_PORT_MIRRORING_LET_SELECTING_SOURCE_SUBSCRIBER.isActive();
+ }
+
private String expectedPnfCollectorServiceType() {
return (featureFlagLetsSelectingCollector() ? pnfServiceType : defaultCollectorServiceType).replace(" ", "%20");
}
@@ -234,6 +238,10 @@ public class CreatePortMirroringConfigurationTest extends VidBaseTestCase {
//select source & collector
serviceProxyPage.assertCollectorServiceType(defaultCollectorServiceType);
+ if(featureFlagLetSelectingSourceSubscriber()){
+ serviceProxyPage.assertSourceSubscriberName(sourceSubscriberName);
+ serviceProxyPage.chooseSourceSubscriberName(sourceSubscriberName);
+ }
serviceProxyPage.chooseCollectorServiceType(vnfServiceType);
serviceProxyPage.chooseCollector(vnfInstanceName);
serviceProxyPage.assertSelectedInstanceIcon(Constants.ConfigurationCreation.COLLECTOR_INSTANCE_SELECTED_ICON_TEST_ID);