diff --git a/README.md b/README.md index 2c01aa7..d83e870 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # SAP Collection of SAP pluginis + +### E2E automation framework +For e2e automation execution of SAP plugins, maven profile e2e-tests have been configured. Important note ragrding it: +1) For it to work, github actions have to be configured (not a special action, just run a below mentioned shell command): + + `/snap/bin/gsutil cp gs://jcoconnector-sapautomation/*.jar ${project.basedir}/src/e2e-test/java/io/cdap/plugin/odp/lib` \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8c11ef8..5e35720 100644 --- a/pom.xml +++ b/pom.xml @@ -88,6 +88,7 @@ 4.6.0 2.0.11 1.49 + ${project.basedir}/src/test/java/ @@ -333,6 +334,7 @@ + ${testSourceLocation} @@ -450,6 +452,10 @@ true true true + + src/test/java + src/e2e-test/java + **/org/apache/cassandra/**,**/org/apache/hadoop/** @@ -512,4 +518,134 @@ + + + + e2e-tests + + + src/e2e-test/java + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.2.0 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory} + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + true + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 3.0.0-M5 + + + TestRunner.java + + + + + + integration-test + + + + + + + net.masterthought + maven-cucumber-reporting + 5.5.0 + + + + execution + verify + + generate + + + Cucumber Reports + target/cucumber-reports/advanced-reports + 1 + false + ${project.build.directory}/cucumber-reports + + **/*.json + + ${project.build.directory}/cucumber-reports + true + + + + + + + + + + com.google.guava + guava + 31.0.1-jre + compile + + + + + + io.cdap.tests.e2e + cdap-e2e-framework + 0.0.1-SNAPSHOT + test + + + org.ehcache + ehcache + 3.8.1 + + + com.sap.conn.jco + sapjco3 + 3.0.14 + system + ${basedir}/src/e2e-test/java/io/cdap/plugin/odp/lib/sapjco3.jar + + + com.sap.conn.idoc + sapidoc3 + 3.0.12 + system + ${basedir}/src/e2e-test/java/io/cdap/plugin/odp/lib/sapidoc3.jar + + + com.google.adaptor + cs + 0.0.1 + system + ${basedir}/src/e2e-test/java/io/cdap/plugin/odp/lib/com.google.adapter.cs-0.0.1.jar + + + + + diff --git a/src/e2e-test/features/DesignTimeODP.feature b/src/e2e-test/features/DesignTimeODP.feature new file mode 100644 index 0000000..c01975b --- /dev/null +++ b/src/e2e-test/features/DesignTimeODP.feature @@ -0,0 +1,85 @@ +# Copyright © 2021 Cask Data, Inc. +# +# 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. +Feature: Design Time ODP Scenario + + @ODP @DesignTime-TC-ODP-DSGN-01(Direct) + Scenario:User configured direct connection parameters and Security parameters by providing values on SAP UI(ENV) + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsMasterAttr" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then Connection is established + + @ODP @DesignTime-TC-ODP-DSGN-01(LOAD) + Scenario:User configured Load connection parameters and Security parameters by providing values on SAP UI(ENV) + Given Open CDF application to configure pipeline + When Source is SAP ODP + When LoadProp "s4Client" "s4AsHost" "s4MsServ" "s4SystemId" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" "s4Lgrp" + When Username and Password is provided + Then Connection is established + + @ODP @DesignTime-TC-ODP-DSGN-01.02 + Scenario: User is able to configure Security parameters using macros in direct connection + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsMasterAttr" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + When User has selected Sap client macro to configure + Then User is validate without any error + When User has selected Sap language macro to configure + Then User is validate without any error + When User has selected Sap server as host macro to configure + Then User is validate without any error + When User has selected System Number macro to configure + Then User is validate without any error + When User has selected datasource macro to configure + Then User is validate without any error + When User has selected gcsPath macro to configure + Then User is validate without any error + + @ODP @DesignTime-TC-ODP-DSGN-01.05 + Scenario: User is able to configure Security parameters using macros in load connection + Given Open CDF application to configure pipeline + When Source is SAP ODP + When LoadProp "s4Client" "s4AsHost" "s4MsServ" "s4SystemId" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" "s4Lgrp" + When Username and Password is provided + When User has selected Sap msHost macro to configure + Then User is validate without any error + When User has selected Sap msServ macro to configure + Then User is validate without any error + When User has selected UserName and Password macro to configure + Then User is validate without any error + + @ODP @DesignTime-TC-ODP-DSGN-05.01 + Scenario:User is able to get the schema of the datasources supporting all the datatype + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then Validate the Schema created + + + @ODP @DesignTime-TC-ODP-DSGN-09.01 + Scenario Outline: User is able to get the schema of the SAP Datasource + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + When data source as "" is added + Then Validate the Schema created + Examples: + | datasource | + | 2LIS_02_ITM | + | 2LIS_11_VAITM | + | 0MATERIAL_LPRH_HIER | diff --git a/src/e2e-test/features/DesignTimeODPError.feature b/src/e2e-test/features/DesignTimeODPError.feature new file mode 100644 index 0000000..4c7e2d6 --- /dev/null +++ b/src/e2e-test/features/DesignTimeODPError.feature @@ -0,0 +1,173 @@ +# Copyright © 2021 Cask Data, Inc. +# +# 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. +Feature: User has entered all the details of the connection with below mentioned wrong parameter + and by pressing validate button all the parameters are validated and error is thrown. + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty referenceName parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + Then "referenceName" as "" and getting "noRefName" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty client parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + Then "jco.client.client" as "" and getting "noJcoClient" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty lang parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then "jco.client.lang" as "" and getting "noJcoLang" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty ashost parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then "jco.client.ashost" as "" and getting "sapAppServerHostRequired" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty sysnr parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then "jco.client.sysnr" as "" and getting "sapSystemNumberRequired" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty sapSourceObjName parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then "sapSourceObjName" as "" and getting "noSapSource" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty user parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then "jco.client.user" as "" and getting "noJcoUser" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if empty gcsPath parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then "gcsPath" as "" and getting "noGcsPath" + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if wrong client parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then User is able to set parameter "jco.client.client" as "abc" and getting "wrongJcoCLientConfig" for wrong input + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if wrong lang parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then User is able to set parameter "jco.client.lang" as "Eq" and getting "wrongLogonLang" for wrong input + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if wrong ashost parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then User is able to set parameter "jco.client.ashost" as "10.132.0.300" and getting "sapgatewayFailure" for wrong input + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if wrong user parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then User is able to set parameter "jco.client.user" as "invalid" and getting "wrongCreds" for wrong input + Then User is able to validate the text box is highlighted + + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario: User is able to view error messages if wrong gcs parameter is provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then User is able to set parameter "gcsPath" as "gs://invalid" and getting "missingBillingAc" for wrong input + Then User is able to validate the text box is highlighted + + @DesignTime-TC-ODP-DSGN-03.02 + Scenario Outline: User is able to view error messages if wrong advanced options are provided + Given Open CDF application to configure pipeline + When Source is SAP ODP + When Configure Direct Connection "s4Client" "s4Sysnr" "s4AsHost" "dsAllDataType" "s4GcsPath" "s4Splitrow" "s4PkgSize" + When Username and Password is provided + Then User is able to set parameter