1 package vid.automation.test.test;
3 import com.google.common.collect.ImmutableList;
4 import org.junit.Assert;
5 import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
6 import org.onap.simulator.presetGenerator.presets.aai.*;
7 import org.onap.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
8 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstancePost;
9 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
10 import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceMetadataGet;
11 import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
12 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
13 import org.openqa.selenium.By;
14 import org.testng.annotations.DataProvider;
15 import org.testng.annotations.Test;
16 import vid.automation.test.infra.Click;
17 import vid.automation.test.infra.Get;
18 import vid.automation.test.sections.BrowseASDCPage;
19 import vid.automation.test.sections.CreateNewInstancePage;
20 import vid.automation.test.sections.PreviousVersionDialog;
21 import vid.automation.test.sections.SideMenu;
22 import vid.automation.test.services.SimulatorApi;
24 import static vid.automation.test.infra.ModelInfo.ModelInfoWithMultipleVersions.modelInfoWithMultipleVersions;
25 import static vid.automation.test.infra.ModelInfo.serviceWithOneVersion;
27 public class PreviousVersionsPopupTest extends CreateInstanceDialogBaseTest{
29 BrowseASDCPage browseASDCPage = new BrowseASDCPage();
30 PreviousVersionDialog newVersionDialog = new PreviousVersionDialog();
31 private String versionNumber1 = "1.0";
32 private String versionNumber2 = "2.0";
33 private String versionNumber3 = "3.0";
34 private String modelVersionId1 = modelInfoWithMultipleVersions.modelVersionId1;
35 private String modelVersionId2 = modelInfoWithMultipleVersions.modelVersionId2;
36 private String modelVersionId3 = modelInfoWithMultipleVersions.modelVersionId3;
37 private static final String modelInvariantId = modelInfoWithMultipleVersions.modelInvariantId;
38 private static final String serviceName = modelInfoWithMultipleVersions.modelName;
39 private String createModalTitleTestId = "create-modal-title";
43 public static Object[][] filterTexts() {
44 return new Object[][]{{serviceName},{modelInvariantId}};
47 @Test(dataProvider ="filterTexts" )
48 private void openPreviousVersionPopup_twoPreviousVersions_Exists(String filterText){
49 prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
50 SideMenu.navigateToBrowseASDCPage();
51 browseASDCPage.fillFilterText(filterText);
52 newVersionDialog.assertPreviousVersionButtonExists(modelInvariantId);
53 browseASDCPage.clickPreviousVersionButton();
54 newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId1,versionNumber1,"Previous-version-pop-up-uuid-");
55 newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId2,versionNumber2,"Previous-version-pop-up-uuid-");
56 browseASDCPage.clickCancelButton();
60 private void browseSDC_afterCancelOnPopup_browseSDCpageExists(){
61 prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
62 navigateToBrowseAsdcAndClickPreviousButton();
63 browseASDCPage.clickCancelButton();// to change
64 newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId3,versionNumber3,"Browse_SDC_Service_Models-uuid-");
67 private void browseSDC_previousVersionButton_notExists(){
68 prepareSimulatorWithOneVersionBeforeBrowseASDCService();
69 SideMenu.navigateToBrowseASDCPage();
70 browseASDCPage.assertPreviousVersionButtonNotExists(serviceWithOneVersion.modelInvariantId);
74 private void openPreviousVersionPopup_newestVersionButton_notExists(){
75 prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
76 navigateToBrowseAsdcAndClickPreviousButton();
77 newVersionDialog.assertHighestVersionNotExists(modelVersionId3);
78 newVersionDialog.clickCancelButton();
81 private void openPreviousVersionPopup_deployOldVersion_creationPopupIsALaCarte(){
82 String expectedPopupIsALaCarteName = "Create Service Instance -- a la carte";
83 prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
84 CreateNewInstancePage newInstance= new CreateNewInstancePage();
85 newVersionDialog = new PreviousVersionDialog();
86 navigateToBrowseAsdcAndClickPreviousButton();
87 newVersionDialog.clickDeployServiceButtonByServiceUUID(modelVersionId2);
88 assertNewInstanceFormOpened(createModalTitleTestId,expectedPopupIsALaCarteName);
89 newInstance.clickCancelButtonByTestID();
90 GeneralUIUtils.ultimateWait();
91 newVersionDialog.clickCancelButton();
95 private void navigateToBrowseAsdcAndClickPreviousButton() {
96 SideMenu.navigateToBrowseASDCPage();
97 Click.byTestId("view-per-page-50");
98 GeneralUIUtils.ultimateWait();
99 Get.byTestId("PreviousVersion-"+modelInvariantId).findElement(By.tagName("button")).click();
102 private void assertNewInstanceFormOpened(String createModalTitleTestId,String expectedInstanceFormName) {
103 String newInstanceFormName = GeneralUIUtils.getWebElementByTestID(createModalTitleTestId).getText();
104 Assert.assertEquals(expectedInstanceFormName, newInstanceFormName);
107 private void prepareSimulatorWithThreeVersionsBeforeBrowseASDCService(){
108 SimulatorApi.clearAll();
109 String zipFileName = "serviceCreationTest.zip";
111 ImmutableList<BasePreset> presets = ImmutableList.of(
112 new PresetGetSessionSlotCheckIntervalGet(),
113 new PresetAAIGetSubscribersGet(),
114 new PresetAAIServiceDesignAndCreationPut(),
115 new PresetAAIGetServicesGet(),
116 new PresetSDCGetServiceMetadataGet(modelVersionId2, modelInvariantId, zipFileName),
117 new PresetSDCGetServiceToscaModelGet(modelVersionId2, zipFileName),
118 new PresetAAIGetSubDetailsGet(null),
119 new PresetAAIGetSubDetailsWithoutInstancesGet(null),
120 new PresetAAIGetNetworkZones(),
121 new PresetMSOCreateServiceInstancePost(),
122 new PresetMSOOrchestrationRequestGet());
123 SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
126 private void prepareSimulatorWithOneVersionBeforeBrowseASDCService(){
127 SimulatorApi.clearAll();
128 ImmutableList<BasePreset> presets = ImmutableList.of(
129 new PresetGetSessionSlotCheckIntervalGet(),
130 new PresetAAIGetSubscribersGet(),
131 new PresetAAIServiceDesignAndCreationPut(),
132 new PresetAAIGetServicesGet());
134 SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);