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