c52dd6bace1d42860ae70457f4c017859fab4a89
[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.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;
23
24 import static vid.automation.test.infra.ModelInfo.ModelInfoWithMultipleVersions.modelInfoWithMultipleVersions;
25 import static vid.automation.test.infra.ModelInfo.serviceWithOneVersion;
26
27 public class PreviousVersionsPopupTest extends CreateInstanceDialogBaseTest{
28
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";
40
41
42     @DataProvider
43     public static Object[][] filterTexts() {
44         return new Object[][]{{serviceName},{modelInvariantId}};
45     }
46
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();
57     }
58
59     @Test
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-");
65     }
66     @Test
67     private void browseSDC_previousVersionButton_notExists(){
68         prepareSimulatorWithOneVersionBeforeBrowseASDCService();
69         SideMenu.navigateToBrowseASDCPage();
70         browseASDCPage.assertPreviousVersionButtonNotExists(serviceWithOneVersion.modelInvariantId);
71     }
72
73     @Test
74     private void openPreviousVersionPopup_newestVersionButton_notExists(){
75         prepareSimulatorWithThreeVersionsBeforeBrowseASDCService();
76         navigateToBrowseAsdcAndClickPreviousButton();
77         newVersionDialog.assertHighestVersionNotExists(modelVersionId3);
78         newVersionDialog.clickCancelButton();
79     }
80     @Test
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();
92
93     }
94
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();
100     }
101
102     private void assertNewInstanceFormOpened(String createModalTitleTestId,String expectedInstanceFormName) {
103         String newInstanceFormName  = GeneralUIUtils.getWebElementByTestID(createModalTitleTestId).getText();
104         Assert.assertEquals(expectedInstanceFormName, newInstanceFormName);
105     }
106
107     private void prepareSimulatorWithThreeVersionsBeforeBrowseASDCService(){
108         SimulatorApi.clearAll();
109         String zipFileName = "serviceCreationTest.zip";
110
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);
124     }
125
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());
133
134         SimulatorApi.registerExpectationFromPresets(presets, SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET);
135     }
136 }
137