aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2019-09-24 07:54:09 +0200
committerBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>2019-10-02 17:11:15 +0200
commitcbf73dae518c62d5ebd077816e457d5e8db15a85 (patch)
tree7038958d1eeb72344365629887c4c5d0005dd253
parentfdea9e36bd95193d2e920398beee914e4953919c (diff)
adding orchestration type to service models view
Issue-ID: VID-602 Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com> Change-Id: I289b55129cbfe8fbf6dd28f0e8f41715ff4ed107
-rw-r--r--features.properties.md4
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/aai/model/ModelVer.java9
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java183
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/properties/Features.java1
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/services/AaiServiceImpl.java4
-rw-r--r--vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties1
-rw-r--r--vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties1
-rwxr-xr-xvid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js1
-rwxr-xr-xvid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js4
-rwxr-xr-xvid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm2
-rw-r--r--vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java7
-rw-r--r--vid-automation/src/main/java/vid/automation/test/infra/Features.java1
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java2
-rw-r--r--vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java16
-rw-r--r--vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java38
-rw-r--r--vid-automation/src/test/resources/features.properties2
16 files changed, 102 insertions, 174 deletions
diff --git a/features.properties.md b/features.properties.md
index 2823c662e..e8dbeccb4 100644
--- a/features.properties.md
+++ b/features.properties.md
@@ -173,3 +173,7 @@
* FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE
Let the user set the order of resource instantiation while using drawing board (new view edit)
for a-la-carte instantiation.
+
+* FLAG_SHOW_ORCHESTRATION_TYPE
+ enables showing/hiding (true/false) column with orchestration type in Service Model browser.
+ The types are fetched from aai. \ No newline at end of file
diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/model/ModelVer.java b/vid-app-common/src/main/java/org/onap/vid/aai/model/ModelVer.java
index f2f6ca50a..099f2449b 100644
--- a/vid-app-common/src/main/java/org/onap/vid/aai/model/ModelVer.java
+++ b/vid-app-common/src/main/java/org/onap/vid/aai/model/ModelVer.java
@@ -32,6 +32,7 @@ public class ModelVer {
private String distributionStatus;
private String resourceVersion;
private String modelDescription;
+ private String orchestrationType;
@@ -89,4 +90,12 @@ public class ModelVer {
this.modelDescription = modelDescription;
}
+ public String getOrchestrationType() {
+ return orchestrationType;
+ }
+
+ @JsonAlias("orchestration-type")
+ public void setOrchestrationType(String orchestrationType) {
+ this.orchestrationType = orchestrationType;
+ }
}
diff --git a/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java b/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java
index ca151a731..0d37fb39e 100644
--- a/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java
+++ b/vid-app-common/src/main/java/org/onap/vid/asdc/beans/Service.java
@@ -23,88 +23,59 @@ package org.onap.vid.asdc.beans;
import java.util.Collection;
import java.util.UUID;
-/**
- * The Class Service.
- */
public class Service {
- /**
- * The Enum DistributionStatus.
- */
public enum DistributionStatus {
- /** The distribution not approved. */
DISTRIBUTION_NOT_APPROVED,
- /** The distribution approved. */
DISTRIBUTION_APPROVED,
- /** The distributed. */
DISTRIBUTED,
- /** The distribution rejected. */
DISTRIBUTION_REJECTED,
- /** The destributed for tenant isolation. */
DISTRIBUTION_COMPLETE_OK
}
- /**
- * The Enum LifecycleState.
- */
public enum LifecycleState {
- /** The not certified checkout. */
NOT_CERTIFIED_CHECKOUT,
- /** The not certified checkin. */
NOT_CERTIFIED_CHECKIN,
- /** The ready for certification. */
READY_FOR_CERTIFICATION,
- /** The certification in progress. */
CERTIFICATION_IN_PROGRESS,
- /** The certified. */
CERTIFIED
}
- /** The uuid. */
private String uuid;
- /** The invariant UUID. */
private String invariantUUID;
- /** The name. */
private String name;
- /** The version. */
private String version;
- /** The tosca model URL. */
private String toscaModelURL;
- /** The category. */
private String category;
- /** The lifecycle state. */
private Service.LifecycleState lifecycleState;
- /** The last updater user uid. */
private String lastUpdaterUserId;
- /** The last updater full name. */
private String lastUpdaterFullName;
- /** The distribution status. */
private String distributionStatus;
- /** The artifacts. */
private Collection<Artifact> artifacts;
- /** The resources. */
private Collection<SubResource> resources;
+
+ private String orchestrationType;
public static class ServiceBuilder {
@@ -118,6 +89,7 @@ public class Service {
private String distributionStatus;
private Collection<Artifact> artifacts;
private Collection<SubResource> resources;
+ private String orchestrationType;
public ServiceBuilder setUuid(String uuid) {
this.uuid = uuid;
@@ -169,253 +141,131 @@ public class Service {
return this;
}
+ public ServiceBuilder setOrchestrationType(String orchestrationType) {
+ this.orchestrationType = orchestrationType;
+ return this;
+ }
+
public Service build() {
return new Service(this);
}
}
- /**
- * Gets the uuid.
- *
- * @return the uuid
- */
public String getUuid() {
return uuid;
}
- /**
- * Gets the invariant UUID.
- *
- * @return the invariant UUID
- */
public String getInvariantUUID() {
return invariantUUID;
}
- /**
- * Gets the name.
- *
- * @return the name
- */
public String getName() {
return name;
}
- /**
- * Gets the version.
- *
- * @return the version
- */
public String getVersion() {
return version;
}
- /**
- * Gets the tosca model URL.
- *
- * @return the tosca model URL
- */
public String getToscaModelURL() {
return toscaModelURL;
}
- /**
- * Gets the category.
- *
- * @return the category
- */
public String getCategory() {
return category;
}
- /**
- * Gets the lifecycle state.
- *
- * @return the lifecycle state
- */
public Service.LifecycleState getLifecycleState() {
return lifecycleState;
}
- /**
- * Gets the last updater user uid.
- *
- * @return the last updater user uid
- */
public String getLastUpdaterUserId() {
return lastUpdaterUserId;
}
- /**
- * Gets the last updater full name.
- *
- * @return the last updater full name
- */
public String getLastUpdaterFullName() {
return lastUpdaterFullName;
}
- /**
- * Gets the distribution status.
- *
- * @return the distribution status
- */
public String getDistributionStatus() {
return distributionStatus;
}
- /**
- * Gets the artifacts.
- *
- * @return the artifacts
- */
public Collection<Artifact> getArtifacts() {
return artifacts;
}
- /**
- * Gets the resources.
- *
- * @return the resources
- */
public Collection<SubResource> getResources() {
return resources;
}
- /**
- * Sets the uuid.
- *
- * @param uuid the new uuid
- */
+ public String getOrchestrationType() {
+ return orchestrationType;
+ }
+
public void setUuid(String uuid) {
this.uuid = uuid;
}
- /**
- * Sets the invariant UUID.
- *
- * @param invariantUUID the new invariant UUID
- */
public void setInvariantUUID(String invariantUUID) {
this.invariantUUID = invariantUUID;
}
- /**
- * Sets the name.
- *
- * @param name the new name
- */
public void setName(String name) {
this.name = name;
}
- /**
- * Sets the version.
- *
- * @param version the new version
- */
public void setVersion(String version) {
this.version = version;
}
- /**
- * Sets the tosca model URL.
- *
- * @param toscaModelURL the new tosca model URL
- */
public void setToscaModelURL(String toscaModelURL) {
this.toscaModelURL = toscaModelURL;
}
- /**
- * Sets the category.
- *
- * @param category the new category
- */
public void setCategory(String category) {
this.category = category;
}
- /**
- * Sets the lifecycle state.
- *
- * @param lifecycleState the new lifecycle state
- */
public void setLifecycleState(Service.LifecycleState lifecycleState) {
this.lifecycleState = lifecycleState;
}
- /**
- * Sets the last updater user uid.
- *
- * @param lastUpdaterUserId the new last updater user uid
- */
public void set(String lastUpdaterUserId) {
this.lastUpdaterUserId = lastUpdaterUserId;
}
- /**
- * Sets the last updater full name.
- *
- * @param lastUpdaterFullName the new last updater full name
- */
public void setLastUpdaterFullName(String lastUpdaterFullName) {
this.lastUpdaterFullName = lastUpdaterFullName;
}
- /**
- * Sets the distribution status.
- *
- * @param distributionStatus the new distribution status
- */
public void setDistributionStatus(String distributionStatus) {
this.distributionStatus = distributionStatus;
}
- /**
- * Sets the artifacts.
- *
- * @param artifacts the new artifacts
- */
public void setArtifacts(Collection<Artifact> artifacts) {
this.artifacts = artifacts;
}
- /**
- * Sets the resources.
- *
- * @param resources the new resources
- */
public void setResources(Collection<SubResource> resources) {
this.resources = resources;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
+ public void setOrchestrationType(String orchestrationType) {
+ this.orchestrationType = orchestrationType;
+ }
+
@Override
public String toString() {
return uuid;
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode() {
return UUID.fromString(getUuid()).hashCode();
}
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object o) {
if (o == this)
@@ -442,5 +292,6 @@ public class Service {
this.distributionStatus = serviceBuilder.distributionStatus;
this.artifacts = serviceBuilder.artifacts;
this.resources = serviceBuilder.resources;
+ this.orchestrationType = serviceBuilder.orchestrationType;
}
}
diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
index 7384c97e2..a3343d36b 100644
--- a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
+++ b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java
@@ -74,6 +74,7 @@ public enum Features implements Feature {
FLAG_PNP_INSTANTIATION,
FLAG_HANDLE_SO_WORKFLOWS,
FLAG_CREATE_ERROR_REPORTS,
+ FLAG_SHOW_ORCHESTRATION_TYPE,
FLAG_DISABLE_HOMING,
FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG,
FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT,
diff --git a/vid-app-common/src/main/java/org/onap/vid/services/AaiServiceImpl.java b/vid-app-common/src/main/java/org/onap/vid/services/AaiServiceImpl.java
index b6404fa68..984812103 100644
--- a/vid-app-common/src/main/java/org/onap/vid/services/AaiServiceImpl.java
+++ b/vid-app-common/src/main/java/org/onap/vid/services/AaiServiceImpl.java
@@ -137,7 +137,9 @@ public class AaiServiceImpl implements AaiService {
.setToscaModelURL(null)
.setLifecycleState(null)
.setArtifacts(null)
- .setResources(null).build();
+ .setResources(null)
+ .setOrchestrationType(modelVer.getOrchestrationType())
+ .build();
diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties
index db2ff8e97..d4910bf25 100644
--- a/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties
+++ b/vid-app-common/src/main/webapp/WEB-INF/conf/dev.features.properties
@@ -36,3 +36,4 @@ FLAG_DISABLE_HOMING = true
FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH=false
FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG = false
FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE = false
+FLAG_SHOW_ORCHESTRATION_TYPE = false
diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties
index d1ce91f44..709de9566 100644
--- a/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties
+++ b/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties
@@ -15,6 +15,7 @@ FLAG_1810_AAI_LOCAL_CACHE = true
FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER = false
FLAG_HANDLE_SO_WORKFLOWS = true
FLAG_CREATE_ERROR_REPORTS = true
+FLAG_SHOW_ORCHESTRATION_TYPE = false
# Modern UI (Drawing-Board; View/Edit)
# - - - - - - - - - - - - - - - - - -
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js b/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js
index f76d4786f..3575c382d 100755
--- a/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/constants/componentConstants.js
@@ -264,6 +264,7 @@ appDS2
FLAG_1908_RELEASE_TENANT_ISOLATION: "FLAG_1908_RELEASE_TENANT_ISOLATION",
FLAG_FLASH_REPLACE_VF_MODULE: "FLAG_FLASH_REPLACE_VF_MODULE",
FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT: "FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT",
+ FLAG_SHOW_ORCHESTRATION_TYPE: "FLAG_SHOW_ORCHESTRATION_TYPE",
}
};
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js
index 9cb905038..b29680f9d 100755
--- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/ServiceModelController.js
@@ -89,6 +89,10 @@
});
};
+ $scope.isShowOrchestrationType = function() {
+ return featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_SHOW_ORCHESTRATION_TYPE);
+ };
+
var wholeData=[];
$scope.filterDataWithHigherVersion = function(serviceData){
diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm
index 4570a0b08..06fc7f67b 100755
--- a/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm
+++ b/vid-app-common/src/main/webapp/app/vid/scripts/view-models/serviceModels.htm
@@ -48,6 +48,7 @@
<tr>
<th att-table-header key="action">Action</th>
<th att-table-header key="uuid">UUID</th>
+ <th ng-if="isShowOrchestrationType()" att-table-header key="orchestrationType">Orchestration Type</th>
<th att-table-header key="invariantUUID">Invariant UUID</th>
<th att-table-header default-sort="A" key="name">Name</th>
<th att-table-header key="version">Version</th>
@@ -62,6 +63,7 @@
<tr class="sdcServiceModel" data-tests-id="Browse_SDC_Service_Models-uuid-{{service['uuid']}}">
<td class="deploy" att-table-body ><button class="deploy-service-class" type=button data-tests-id="deploy-{{service['uuid']}}" ng-click="deployService(service)" att-button btn-type="{{deployButtonType}}" size="small">Deploy</button></td>
<td class="uuid" att-table-body ng-bind="service['uuid']"></td>
+ <td ng-if="isShowOrchestrationType()" class="orchestrationType" att-table-body ng-bind="service['orchestrationType']"></td>
<td class="invariantUUID" att-table-body data-tests-id="Invariant-{{service['invariantUUID']}}" ng-bind="service['invariantUUID']"></td>
<td class="name" att-table-body ng-bind="service['name']"></td>
<td class="version" att-table-body ng-bind="service['version']"></td>
diff --git a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java
index 180685282..5ffd24253 100644
--- a/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java
+++ b/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/aai/PresetAAIServiceDesignAndCreationPut.java
@@ -208,6 +208,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"0903e1c0-8e03-4936-b5c2-260653b96413\"," +
" \"model-name\": \"action-data\"," +
+ " \"orchestration-type\": \"a la carte\"," +
" \"model-version\": \"1.0\"," +
" \"model-description\": \"honor immunity exile prong below misshapen\"," +
" \"resource-version\": \"4076846985447\"" +
@@ -226,6 +227,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"666a06ee-4b57-46df-bacf-908da8f10c3f\"," +
" \"model-name\": \"multicast-configuration\"," +
+ " \"orchestration-type\": \"a la carte\"," +
" \"model-version\": \"1.0\"," +
" \"model-description\": \"python bullwhip appointment computation ambidextrous heaving\"," +
" \"resource-version\": \"1500136282691\"" +
@@ -244,6 +246,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"20c4431c-246d-11e7-93ae-92361f002671\"," +
" \"model-name\": \"vSAMP10aDEV::base::module-0\"," +
+ " \"orchestration-type\": \"a la carte\"," +
" \"model-version\": \"2\"," +
" \"model-description\": \"MSO aLaCarte VF vSAMP10aDEV Base\"," +
" \"resource-version\": \"1492627634300\"" +
@@ -262,6 +265,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"797a6c41-0f80-4d35-a288-3920c4e06baa\"," +
" \"model-name\": \"CONTRAIL30_L2NODHCP\"," +
+ " \"orchestration-type\": \"macro\"," +
" \"model-version\": \"1.0\"," +
" \"model-description\": \"contrail 3.0.x L2 network for AIC 3.x sites (and No DHCP).\"," +
" \"resource-version\": \"1492814035003\"," +
@@ -307,6 +311,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"f1bde010-cc5f-4765-941f-75f15b24f9fc\"," +
" \"model-name\": \"BkVmxAv061917..base_vPE_AV..module-0\"," +
+ " \"orchestration-type\": \"macro\"," +
" \"model-version\": \"2\"," +
" \"resource-version\": \"1497897268769\"," +
" \"relationship-list\": {" +
@@ -351,6 +356,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"ipe-resource-id-ps-02\"," +
" \"model-name\": \"abc\"," +
+ " \"orchestration-type\": \"macro\"," +
" \"model-version\": \"v1.0\"," +
" \"resource-version\": \"1493389520357\"," +
" \"relationship-list\": {" +
@@ -395,6 +401,7 @@ public class PresetAAIServiceDesignAndCreationPut extends BaseAAIPreset {
" {" +
" \"model-version-id\": \"lmoser410-connector-model-version-id\"," +
" \"model-name\": \"connector\"," +
+ " \"orchestration-type\": \"macro\"," +
" \"model-version\": \"v1.0\"," +
" \"resource-version\": \"1493389444766\"" +
" }" +
diff --git a/vid-automation/src/main/java/vid/automation/test/infra/Features.java b/vid-automation/src/main/java/vid/automation/test/infra/Features.java
index 6a15d8961..312c3fd99 100644
--- a/vid-automation/src/main/java/vid/automation/test/infra/Features.java
+++ b/vid-automation/src/main/java/vid/automation/test/infra/Features.java
@@ -50,6 +50,7 @@ public enum Features implements Feature {
FLAG_PNP_INSTANTIATION,
FLAG_HANDLE_SO_WORKFLOWS,
FLAG_CREATE_ERROR_REPORTS,
+ FLAG_SHOW_ORCHESTRATION_TYPE,
FLAG_FLASH_MORE_ACTIONS_BUTTON_IN_OLD_VIEW_EDIT,
FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG,
FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH,
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java b/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java
index febbe6e83..de69e0047 100644
--- a/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java
+++ b/vid-automation/src/main/java/vid/automation/test/sections/BrowseASDCPage.java
@@ -37,7 +37,7 @@ public class BrowseASDCPage extends VidBasePage {
}
public int countCurrentRowsInTable(){
- List<WebElement> rowsInTable = Get.byClass("alt-row");
+ List<WebElement> rowsInTable = Get.byClass("sdcServiceModel");
return rowsInTable.size();
}
diff --git a/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java b/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java
index 7290204d6..43dd68f06 100644
--- a/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java
+++ b/vid-automation/src/main/java/vid/automation/test/sections/VidBasePage.java
@@ -4,10 +4,7 @@ import com.aventstack.extentreports.Status;
import org.junit.Assert;
import org.onap.sdc.ci.tests.execute.setup.ExtentTestActions;
import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
-import org.openqa.selenium.By;
-import org.openqa.selenium.JavascriptExecutor;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
+import org.openqa.selenium.*;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import vid.automation.test.Constants;
@@ -113,6 +110,17 @@ public class VidBasePage {
return this;
}
+ public boolean isModelWithGivenServiceUUIDVisible(String serviceUUID) {
+ String elementTestId = Constants.DEPLOY_BUTTON_TESTS_ID_PREFIX + serviceUUID;
+ try {
+ GeneralUIUtils.getWebElementByTestID(elementTestId, 10);
+ GeneralUIUtils.ultimateWait();
+ } catch (TimeoutException te) {
+ return false;
+ }
+ return true;
+ }
+
public void screenshotDeployDialog(String serviceUUID) {
try {
GeneralUIUtils.ultimateWait();
diff --git a/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java b/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java
index f082044fd..eb08c1f2a 100644
--- a/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java
+++ b/vid-automation/src/main/java/vid/automation/test/test/BrowseASDCTest.java
@@ -31,8 +31,9 @@ import java.util.List;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
-import static vid.automation.test.infra.Features.FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI;
import static vid.automation.test.infra.Features.FLAG_5G_IN_NEW_INSTANTIATION_UI;
+import static vid.automation.test.infra.Features.FLAG_SHOW_ORCHESTRATION_TYPE;
+import static vid.automation.test.infra.Features.FLAG_1908_TRANSPORT_SERVICE_NEW_INSTANTIATION_UI;
import static vid.automation.test.infra.ModelInfo.*;
@@ -479,4 +480,39 @@ public class BrowseASDCTest extends CreateInstanceDialogBaseTest {
assertFalse(Exists.tagNameInAnotherElement(serviceModelsTbody, "tr"), "Table should be empty on empty results");
resetGetServicesCache();
}
+
+ private static final String[] macroModelsIds = {
+ "f1bde010-cc5f-4765-941f-75f15b24f9fc",
+ "lmoser410-connector-model-version-id",
+ "ipe-resource-id-ps-02",
+ "797a6c41-0f80-4d35-a288-3920c4e06baa",
+ };
+ private static final String[] alacarteModelsIds = {
+ "0903e1c0-8e03-4936-b5c2-260653b96413",
+ "666a06ee-4b57-46df-bacf-908da8f10c3f",
+ "20c4431c-246d-11e7-93ae-92361f002671",
+ };
+
+ @DataProvider
+ public static Object[][] filterOrchestrationType() {
+ return new Object[][]{{"a la carte", 3, alacarteModelsIds},{"macro", 4, macroModelsIds}};
+ }
+
+ @Test(dataProvider = "filterOrchestrationType")
+ @FeatureTogglingTest(FLAG_SHOW_ORCHESTRATION_TYPE)
+ public void browseSdcModel_filterModelsWithOrchestrationType_alacarte(
+ String orchestrationType,int numberOfOccurrence, String[] expectedModelsIds) {
+ resetGetServicesCache();
+ SimulatorApi.clearAll();
+ BrowseASDCPage browseAsdcPage = registerSimulatorAndGoToBrowseSDC();
+ GeneralUIUtils.ultimateWait();
+ assertThat(browseAsdcPage.countCurrentRowsInTable(),(Matchers.greaterThan(numberOfOccurrence)));
+ browseAsdcPage.fillFilterText(orchestrationType);
+ Assert.assertEquals(browseAsdcPage.countCurrentRowsInTable(),numberOfOccurrence);
+ for(String id : expectedModelsIds) {
+ Assert.assertTrue(browseAsdcPage.isModelWithGivenServiceUUIDVisible(id));
+ }
+ browseAsdcPage.fillFilterText("");
+ }
+
}
diff --git a/vid-automation/src/test/resources/features.properties b/vid-automation/src/test/resources/features.properties
index 796c8be8d..63b9fc61b 100644
--- a/vid-automation/src/test/resources/features.properties
+++ b/vid-automation/src/test/resources/features.properties
@@ -35,4 +35,4 @@ FLAG_1908_MACRO_NOT_TRANSPORT_NEW_VIEW_EDIT = true
FLAG_FLASH_CLOUD_REGION_AND_NF_ROLE_OPTIONAL_SEARCH = false
FLAG_FLASH_REDUCED_RESPONSE_CHANGEMG = true
FLAG_1911_INSTANTIATION_ORDER_IN_ASYNC_ALACARTE = false
-
+FLAG_SHOW_ORCHESTRATION_TYPE = false