vid-automation selenium tests
[vid.git] / vid-automation / src / main / java / vid / automation / test / test / PreviousVersionsPopupTest.java
1 package vid.automation.test.test;
2
3 import com.google.common.collect.ImmutableList;
4 import org.junit.Assert;
5 import org.opencomp.simulator.presetGenerator.presets.BasePresets.BasePreset;
6 import org.opencomp.simulator.presetGenerator.presets.aai.*;
7 import org.opencomp.simulator.presetGenerator.presets.ecompportal_att.PresetGetSessionSlotCheckIntervalGet;
8 import org.opencomp.simulator.presetGenerator.presets.mso.PresetMSOCreateServiceInstancePost;
9 import org.opencomp.simulator.presetGenerator.presets.mso.PresetMSOOrchestrationRequestGet;
10 import org.opencomp.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceMetadataGet;
11 import org.opencomp.simulator.presetGenerator.presets.sdc.PresetSDCGetServiceToscaModelGet;
12 import org.openecomp.sdc.ci.tests.utilities.GeneralUIUtils;
13 import org.testng.annotations.DataProvider;
14 import org.testng.annotations.Test;
15 import vid.automation.test.sections.BrowseASDCPage;
16 import vid.automation.test.sections.CreateNewInstancePage;
17 import vid.automation.test.sections.PreviousVersionDialog;
18 import vid.automation.test.sections.SideMenu;
19 import vid.automation.test.services.SimulatorApi;
20
21 public class PreviousVersionsPopupTest extends CreateInstanceDialogBaseTest{
22
23     BrowseASDCPage browseASDCPage = new BrowseASDCPage();
24     PreviousVersionDialog newVersionDialog = new PreviousVersionDialog();
25     private String versionNumber1 = "1.0";
26     private String versionNumber2 = "2.0";
27     private String versionNumber3 = "3.0";
28     private String modelVersionId1 = "aeababbc-010b-4a60-8df7-e64c07389466";
29     private String modelVersionId2 = "aa2f8e9c-9e47-4b15-a95c-4a9385599abc";
30     private String modelVersionId3 = "d849c57d-b6fe-4843-8349-4ab8bbb08d71";
31     private static final String modelInvariantId = "a8dcd72d-d44d-44f2-aa85-53aa9ca99cba";
32     private static final String serviceName = "action-data";
33     private String createModalTitleTestId = "create-modal-title";
34
35
36     @DataProvider
37     public static Object[][] filterTexts() {
38         return new Object[][]{{serviceName},{modelInvariantId}};
39     }
40
41     @Test(dataProvider ="filterTexts" )
42     private void openPreviousVersionPopup_twoPreviousVersions_Exists(String filterText){
43         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
44         SideMenu.navigateToBrowseASDCPage();
45         browseASDCPage.fillFilterText(filterText);
46         newVersionDialog.assertPreviousVersionButtonExists(modelInvariantId);
47         browseASDCPage.clickPreviousVersionButton();
48         newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId1,versionNumber1,"Previous-version-pop-up-uuid-");
49         newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId2,versionNumber2,"Previous-version-pop-up-uuid-");
50         browseASDCPage.clickCancelButton();
51     }
52
53     @Test
54     private void browseSDC_afterCancelOnPopup_browseSDCpageExists(){
55         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
56         SideMenu.navigateToBrowseASDCPage();
57         browseASDCPage.clickPreviousVersionButton();
58         browseASDCPage.clickCancelButton();// to change
59         newVersionDialog.assertVersionRow(modelInvariantId,modelVersionId3,versionNumber3,"Browse_SDC_Service_Models-uuid-");
60     }
61     @Test
62     private void browseSDC_previousVersionButton_notExists(){
63         prepareSimulatorWithOneVersionBeforeBrowseASDCService();
64         SideMenu.navigateToBrowseASDCPage();
65         browseASDCPage.assertPreviousVersionButtonNotExists(modelInvariantId);
66     }
67
68     @Test
69     private void openPreviousVersionPopup_newestVersionButton_notExists(){
70         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
71         SideMenu.navigateToBrowseASDCPage();
72         browseASDCPage.clickPreviousVersionButton();
73         newVersionDialog.assertHighestVersionNotExists(modelVersionId3);
74         newVersionDialog.clickCancelButton();
75     }
76     @Test
77     private void openPreviousVersionPopup_deployOldVersion_creationPopupIsALaCarte(){
78         String expectedPopupIsALaCarteName = "Create Service Instance -- a la carte";
79         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
80         CreateNewInstancePage newInstance= new CreateNewInstancePage();
81         newVersionDialog = new PreviousVersionDialog();
82         SideMenu.navigateToBrowseASDCPage();
83         browseASDCPage.clickPreviousVersionButton();
84         newVersionDialog.clickDeployServiceButtonByServiceUUID(modelVersionId2);
85         assertNewInstanceFormOpened(createModalTitleTestId,expectedPopupIsALaCarteName);
86         newInstance.clickCancelButtonByTestID();
87         GeneralUIUtils.ultimateWait();
88         newVersionDialog.clickCancelButton();
89
90     }
91
92     private void assertNewInstanceFormOpened(String createModalTitleTestId,String expectedInstanceFormName) {
93         String newInstanceFormName  = GeneralUIUtils.getWebElementByTestID(createModalTitleTestId).getText();
94         Assert.assertEquals(expectedInstanceFormName, newInstanceFormName);
95     }
96
97     private void prepareSimulatorWithThreeVersionsBeforeBrowseASDCService(){
98         SimulatorApi.clearAll();
99         String zipFileName = "serviceCreationTest.zip";
100
101         ImmutableList<BasePreset> presets = ImmutableList.of(
102                 new PresetGetSessionSlotCheckIntervalGet(),
103                 new PresetAAIGetSubscribersGet(),
104                 new PresetAAIGetMultipleVersion(modelVersionId1,modelVersionId2,modelVersionId3, modelInvariantId),
105                 new PresetAAIGetServicesGet(),
106                 new PresetSDCGetServiceMetadataGet(modelVersionId2, modelInvariantId, zipFileName),
107                 new PresetSDCGetServiceToscaModelGet(modelVersionId2, zipFileName),
108                 new PresetAAIGetSubDetailsGet(null),
109                 new PresetAAIGetNetworkZones(),
110                 new PresetMSOCreateServiceInstancePost(),
111                 new PresetMSOOrchestrationRequestGet());
112         SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
113     }
114
115     private void prepareSimulatorWithOneVersionBeforeBrowseASDCService(){
116         SimulatorApi.clearAll();
117         ImmutableList<BasePreset> presets = ImmutableList.of(
118                 new PresetGetSessionSlotCheckIntervalGet(),
119                 new PresetAAIGetSubscribersGet(),
120                 new PresetAAIGetOneVersion(modelVersionId1, modelInvariantId),
121                 new PresetAAIGetServicesGet());
122
123         SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
124     }
125 }
126