allow openPreviousVersionPopup test to handle modern UI aLaCarte dialog
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / PreviousVersionsPopupTest.java
1 package vid.automation.test.test;
2
3 import static org.testng.Assert.assertEquals;
4 import static vid.automation.test.infra.ModelInfo.ModelInfoWithMultipleVersions.modelInfoWithMultipleVersions;
5 import static vid.automation.test.infra.ModelInfo.serviceWithOneVersion;
6
7 import com.google.common.collect.ImmutableList;
8 import org.junit.Assert;
9 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
10 import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
11 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetNetworkZones;
12 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetServicesGet;
13 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsGet;
14 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubDetailsWithoutInstancesGet;
15 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIGetSubscribersGet;
16 import org.onap.simulator.presetGenerator.presets.aai.PresetAAIServiceDesignAndCreationPut;
17 import org.onap.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
18 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstancePost;
19 import org.onap.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
20 import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceMetadataGet;
21 import org.onap.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
22 import org.openqa.selenium.By;
23 import org.testng.annotations.DataProvider;
24 import org.testng.annotations.Test;
25 import vid.automation.test.infra.Click;
26 import vid.automation.test.infra.Get;
27 import vid.automation.test.infra.ModelInfo;
28 import vid.automation.test.sections.BrowseASDCPage;
29 import vid.automation.test.sections.PreviousVersionDialog;
30 import vid.automation.test.sections.SideMenu;
31 import vid.automation.test.sections.deploy.DeployDialogBase;
32 import vid.automation.test.services.SimulatorApi;
33
34 public class PreviousVersionsPopupTest extends CreateInstanceDialogBaseTest{
35
36     BrowseASDCPage browseASDCPage = new BrowseASDCPage();
37     PreviousVersionDialog newVersionDialog = new PreviousVersionDialog();
38     private String versionNumber1 = "1.0";
39     private String versionNumber2 = "2.0";
40     private String versionNumber3 = "3.0";
41     private String modelVersionId1 = modelInfoWithMultipleVersions.modelVersionId1;
42     private String modelVersionId2 = modelInfoWithMultipleVersions.modelVersionId2;
43     private String modelVersionId3 = modelInfoWithMultipleVersions.modelVersionId3;
44     private static final String modelInvariantId = modelInfoWithMultipleVersions.modelInvariantId;
45     private static final String serviceName = modelInfoWithMultipleVersions.modelName;
46     private String createModalTitleTestId = "create-modal-title";
47
48
49     @DataProvider
50     public static Object[][] filterTexts() {
51         return new Object[][]{{serviceName},{modelInvariantId}};
52     }
53
54     @Test(dataProvider ="filterTexts" )
55     private void openPreviousVersionPopup_twoPreviousVersions_Exists(String filterText){
56         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
57         SideMenu.navigateToBrowseASDCPage();
58         browseASDCPage.fillFilterText(filterText);
59         newVersionDialog.assertPreviousVersionButtonExists(modelInvariantId);
60         browseASDCPage.clickPreviousVersionButton();
61         newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId1,versionNumber1,"Previous-version-pop-up-uuid-");
62         newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId2,versionNumber2,"Previous-version-pop-up-uuid-");
63         browseASDCPage.clickCancelButton();
64     }
65
66     @Test
67     private void browseSDC_afterCancelOnPopup_browseSDCpageExists(){
68         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
69         navigateToBrowseAsdcAndClickPreviousButton();
70         browseASDCPage.clickCancelButton();// to change
71         newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId3,versionNumber3,"Browse_SDC_Service_Models-uuid-");
72     }
73     @Test
74     private void browseSDC_previousVersionButton_notExists(){
75         prepareSimulatorWithOneVersionBeforeBrowseASDCService();
76         SideMenu.navigateToBrowseASDCPage();
77         browseASDCPage.assertPreviousVersionButtonNotExists(serviceWithOneVersion.modelInvariantId);
78     }
79
80     @Test
81     private void openPreviousVersionPopup_newestVersionButton_notExists(){
82         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
83         navigateToBrowseAsdcAndClickPreviousButton();
84         newVersionDialog.assertHighestVersionNotExists(modelVersionId3);
85         newVersionDialog.clickCancelButton();
86     }
87     @Test
88     private void openPreviousVersionPopup_deployOldVersion_creationPopupIsALaCarte(){
89         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
90         registerExpectationForLegacyServiceDeployment(ModelInfo.aLaCarteServiceOldVersionTest, "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb");
91         newVersionDialog = new PreviousVersionDialog();
92         navigateToBrowseAsdcAndClickPreviousButton();
93         newVersionDialog.clickDeployServiceButtonByServiceUUID(modelVersionId2);
94         final DeployDialogBase deployDialog = BrowseASDCTest.getAlacarteDialogByFlagValue();
95         deployDialog.waitForDialogToLoad();
96         deployDialog.assertDialog();
97         assertEquals(deployDialog.getModelVersionId(), modelVersionId2);
98         deployDialog.closeDialog();
99     }
100
101     private void navigateToBrowseAsdcAndClickPreviousButton() {
102         SideMenu.navigateToBrowseASDCPage();
103         Click.byTestId("view-per-page-50");
104         GeneralUIUtils.ultimateWait();
105         Get.byTestId("PreviousVersion-"+modelInvariantId).findElement(By.tagName("button")).click();
106     }
107
108     private void assertNewInstanceFormOpened(String createModalTitleTestId,String expectedInstanceFormName) {
109         String newInstanceFormName  = GeneralUIUtils.getWebElementByTestID(createModalTitleTestId).getText();
110         Assert.assertEquals(expectedInstanceFormName, newInstanceFormName);
111     }
112
113     private void prepareSimulatorWithThreeVersionsBeforeBrowseASDCService(){
114         SimulatorApi.clearAll();
115         String zipFileName = "serviceCreationTest.zip";
116
117         ImmutableList<BasePreset> presets = ImmutableList.of(
118                 new PresetGetSessionSlotCheckIntervalGet(),
119                 new PresetAAIGetSubscribersGet(),
120                 new PresetAAIServiceDesignAndCreationPut(),
121                 new PresetAAIGetServicesGet(),
122                 new PresetSDCGetServiceMetadataGet(modelVersionId2, modelInvariantId, zipFileName),
123                 new PresetSDCGetServiceToscaModelGet(modelVersionId2, zipFileName),
124                 new PresetAAIGetSubDetailsGet(null),
125                 new PresetAAIGetSubDetailsWithoutInstancesGet(null),
126                 new PresetAAIGetNetworkZones(),
127                 new PresetMSOCreateServiceInstancePost(),
128                 new PresetMSOOrchestrationRequestGet());
129         SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
130     }
131
132     private void prepareSimulatorWithOneVersionBeforeBrowseASDCService(){
133         SimulatorApi.clearAll();
134         ImmutableList<BasePreset> presets = ImmutableList.of(
135                 new PresetGetSessionSlotCheckIntervalGet(),
136                 new PresetAAIGetSubscribersGet(),
137                 new PresetAAIServiceDesignAndCreationPut(),
138                 new PresetAAIGetServicesGet());
139
140         SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
141     }
142 }
143