aboutsummaryrefslogtreecommitdiffstats
path: root/integration-tests/src/test/java/org/onap/sdc/frontend/ci/tests/execute/AmdocsComplexService/PathName.java
blob: 95486b18f546e538756988b2af5708a865ed72ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*-
 * ============LICENSE_START=======================================================
 * SDC
 * ================================================================================
 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END=========================================================
 */

package org.onap.sdc.frontend.ci.tests.execute.AmdocsComplexService;

import com.aventstack.extentreports.Status;
import org.onap.sdc.frontend.ci.tests.datatypes.DataTestIdEnum;
import org.onap.sdc.backend.ci.tests.datatypes.ResourceReqDetails;
import org.onap.sdc.backend.ci.tests.datatypes.VendorSoftwareProductObject;
import org.onap.sdc.frontend.ci.tests.pages.DeploymentArtifactPage;
import org.onap.sdc.frontend.ci.tests.pages.TesterOperationPage;
import org.onap.sdc.frontend.ci.tests.utilities.FileHandling;
import org.onap.sdc.frontend.ci.tests.utilities.GeneralUIUtils;
import org.onap.sdc.frontend.ci.tests.utilities.OnboardingUiUtils;
import org.onap.sdc.backend.ci.tests.utils.general.ElementFactory;
import org.onap.sdc.backend.ci.tests.datatypes.enums.UserRoleEnum;
import org.onap.sdc.frontend.ci.tests.execute.setup.ExtentTestActions;
import org.onap.sdc.frontend.ci.tests.execute.setup.SetupCDTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class PathName extends SetupCDTest {

    protected static String filePath = FileHandling.getFilePath("ComplexService");
    private static String fullCompositionFile = "fullComposition.zip";
    private static String fullCompositionFile2 = "fullCompositionNew.zip";
    private static String HSSFile = "HSS.zip";
    private static String VMMEFile = "VMME.zip";
    private static String makeDistributionValue;

    @Parameters({"makeDistribution"})
    @BeforeMethod
    public void beforeTestReadParams(@Optional("true") String makeDistributionReadValue) {
        makeDistributionValue = makeDistributionReadValue;
    }

    //------------------------------------------Tests-----------------------------------------------------

    // Test#8 Jira issue 6168
    @Test
    public void ValidateSameNameTest() throws Exception {
        ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
        String vspName = onboardAndCertify(resourceReqDetails, filePath, fullCompositionFile);
        reloginWithNewRole(UserRoleEnum.DESIGNER);
        PathUtilities.createService(getUser());
        String firstPathName = PathUtilities.createPath("Oren", vspName);
        PathUtilities.createPathWithoutLink(firstPathName, vspName);
        try {
            GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.ComplexServiceAmdocs.OK.getValue());
        } catch (Exception e) {
            throw new Exception("when creating another path with duplicate name, expected error did not appear");
        }
    }

    // Test#9 Jira issue 6183
    @Test
    public void ValidateEditName() throws Exception {
        ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
        String vspName = onboardAndCertify(resourceReqDetails, filePath, fullCompositionFile);
        reloginWithNewRole(UserRoleEnum.DESIGNER);
        PathUtilities.createService(getUser());
        String firstPathName = PathUtilities.createPath("Oren", vspName);
        String secondPathName = PathUtilities.createPathWithoutLink("blabla", vspName);
        PathValidations.validateEditToExistingName(firstPathName, secondPathName);
    }

    // Test#10 Jira issue 6411
    @Test
    public void SpacesName() throws Exception {
        ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
        String vspName = onboardAndCertify(resourceReqDetails, filePath, fullCompositionFile);
        reloginWithNewRole(UserRoleEnum.DESIGNER);
        PathUtilities.createService(getUser());
        PathUtilities.createPath("              ", vspName);
        try {
            GeneralUIUtils.clickOnElementByTestId(DataTestIdEnum.ComplexServiceAmdocs.OK.getValue());
        } catch (Exception e) {
            throw new Exception("service path name cannot be empty or spaces ");
        }
    }

    // Test#11 Jira issue 6186
    @Test
    public void ValidateNameWithSpaces() throws Exception {
        ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();
        String vspName = onboardAndCertify(resourceReqDetails, filePath, fullCompositionFile);
        reloginWithNewRole(UserRoleEnum.DESIGNER);
        PathUtilities.createService(getUser());
        PathValidations.validateNameWithSpaces("New", vspName);
    }

    ////////////////////////////////////////////////////////////////////////////////////////
    //                               flow methods                                         //
    ////////////////////////////////////////////////////////////////////////////////////////

    // workflow leading to path
    public String onboardAndCertify(ResourceReqDetails resourceReqDetails, String filePath, String vnfFile) throws Exception {
        VendorSoftwareProductObject vendorSoftwareProductObject = OnboardingUiUtils.onboardAndValidate(resourceReqDetails, filePath, vnfFile, getUser());
        String vspName = vendorSoftwareProductObject.getName();

        DeploymentArtifactPage.getLeftPanel().moveToCompositionScreen();
        ExtentTestActions.addScreenshot(Status.INFO, "TopologyTemplate_" + vnfFile, "The topology template for " + vnfFile + " is as follows : ");

        DeploymentArtifactPage.clickSubmitForTestingButton(vspName);
        SetupCDTest.getExtendTest().log(Status.INFO, "relogin as TESTER");
        reloginWithNewRole(UserRoleEnum.TESTER);
        GeneralUIUtils.findComponentAndClick(vspName);
        TesterOperationPage.certifyComponent(vspName);
        return vspName;
    }

}