Skip to content

Commit a5f9fea

Browse files
authored
Merge pull request #344 from data-integrations/oracle_sanity
Added datatypes sanity test for Oracle Plugin
2 parents 4244516 + 585b6fa commit a5f9fea

File tree

9 files changed

+587
-16
lines changed

9 files changed

+587
-16
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#
2+
# Copyright © 2023 Cask Data, Inc.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
5+
# use this file except in compliance with the License. You may obtain a copy of
6+
# the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
# License for the specific language governing permissions and limitations under
14+
# the License.
15+
#
16+
17+
@Oracle
18+
Feature: Oracle - Verify Oracle source data transfer for multiple datatypes
19+
@ORACLE_SOURCE_DATATYPES_TEST @ORACLE_SINK_TEST @Oracle_Required
20+
# Oracle Sanity test to transfer table data containing multiple datatypes
21+
Scenario: To verify data is getting transferred from Oracle to Oracle successfully
22+
Given Open Datafusion Project to configure pipeline
23+
When Expand Plugin group in the LHS plugins list: "Source"
24+
When Select plugin: "Oracle" from the plugins list as: "Source"
25+
When Expand Plugin group in the LHS plugins list: "Sink"
26+
When Select plugin: "Oracle" from the plugins list as: "Sink"
27+
Then Connect plugins: "Oracle" and "Oracle2" to establish connection
28+
Then Navigate to the properties page of plugin: "Oracle"
29+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
30+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
31+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
32+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
33+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
34+
Then Select radio button plugin property: "connectionType" with value: "service"
35+
Then Select radio button plugin property: "role" with value: "sysdba"
36+
Then Enter input plugin property: "referenceName" with value: "sourceRef"
37+
Then Replace input plugin property: "database" with value: "databaseName"
38+
Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
39+
Then Click on the Get Schema button
40+
Then Verify the Output Schema matches the Expected Schema: "outputDatatypesSchema"
41+
Then Validate "Oracle" plugin properties
42+
Then Close the Plugin Properties page
43+
Then Navigate to the properties page of plugin: "Oracle2"
44+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
45+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
46+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
47+
Then Replace input plugin property: "database" with value: "databaseName"
48+
Then Replace input plugin property: "tableName" with value: "targetTable"
49+
Then Replace input plugin property: "dbSchemaName" with value: "schema"
50+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
51+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
52+
Then Enter input plugin property: "referenceName" with value: "targetRef"
53+
Then Select radio button plugin property: "connectionType" with value: "service"
54+
Then Select radio button plugin property: "role" with value: "sysdba"
55+
Then Validate "Oracle2" plugin properties
56+
Then Close the Plugin Properties page
57+
Then Save the pipeline
58+
Then Preview and run the pipeline
59+
Then Verify the preview of pipeline is "success"
60+
Then Click on preview data for Oracle sink
61+
Then Close the preview data
62+
Then Deploy the pipeline
63+
Then Run the Pipeline in Runtime
64+
Then Wait till pipeline is in running state
65+
Then Open and capture logs
66+
Then Verify the pipeline status is "Succeeded"
67+
Then Validate the values of records transferred to target table is equal to the values from source table
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#
2+
# Copyright © 2023 Cask Data, Inc.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
5+
# use this file except in compliance with the License. You may obtain a copy of
6+
# the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
# License for the specific language governing permissions and limitations under
14+
# the License.
15+
#
16+
17+
@Oracle
18+
Feature: Oracle - Verify Oracle source data transfer of type LONG
19+
@ORACLE_SOURCE_DATATYPES_TEST2 @ORACLE_SINK_TEST @Oracle_Required
20+
# Oracle Sanity test to transfer table data containing LONG
21+
Scenario: To verify data is getting transferred from Oracle to Oracle successfully
22+
Given Open Datafusion Project to configure pipeline
23+
When Expand Plugin group in the LHS plugins list: "Source"
24+
When Select plugin: "Oracle" from the plugins list as: "Source"
25+
When Expand Plugin group in the LHS plugins list: "Sink"
26+
When Select plugin: "Oracle" from the plugins list as: "Sink"
27+
Then Connect plugins: "Oracle" and "Oracle2" to establish connection
28+
Then Navigate to the properties page of plugin: "Oracle"
29+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
30+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
31+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
32+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
33+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
34+
Then Select radio button plugin property: "connectionType" with value: "service"
35+
Then Select radio button plugin property: "role" with value: "sysdba"
36+
Then Enter input plugin property: "referenceName" with value: "sourceRef"
37+
Then Replace input plugin property: "database" with value: "databaseName"
38+
Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
39+
Then Click on the Get Schema button
40+
Then Verify the Output Schema matches the Expected Schema: "outputDatatypesSchema2"
41+
Then Validate "Oracle" plugin properties
42+
Then Close the Plugin Properties page
43+
Then Navigate to the properties page of plugin: "Oracle2"
44+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
45+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
46+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
47+
Then Replace input plugin property: "database" with value: "databaseName"
48+
Then Replace input plugin property: "tableName" with value: "targetTable"
49+
Then Replace input plugin property: "dbSchemaName" with value: "schema"
50+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
51+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
52+
Then Enter input plugin property: "referenceName" with value: "targetRef"
53+
Then Select radio button plugin property: "connectionType" with value: "service"
54+
Then Select radio button plugin property: "role" with value: "sysdba"
55+
Then Validate "Oracle2" plugin properties
56+
Then Close the Plugin Properties page
57+
Then Save the pipeline
58+
Then Preview and run the pipeline
59+
Then Verify the preview of pipeline is "success"
60+
Then Click on preview data for Oracle sink
61+
Then Verify preview output schema matches the outputSchema captured in properties
62+
Then Close the preview data
63+
Then Deploy the pipeline
64+
Then Run the Pipeline in Runtime
65+
Then Wait till pipeline is in running state
66+
Then Open and capture logs
67+
Then Verify the pipeline status is "Succeeded"
68+
Then Validate the values of records transferred to target table is equal to the values from source table
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#
2+
# Copyright © 2023 Cask Data, Inc.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
5+
# use this file except in compliance with the License. You may obtain a copy of
6+
# the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
# License for the specific language governing permissions and limitations under
14+
# the License.
15+
#
16+
17+
@Oracle
18+
Feature: Oracle - Verify Oracle source data transfer of type LONG RAW
19+
@ORACLE_SOURCE_LONGRAW_TEST @ORACLE_SINK_TEST @Oracle_Required
20+
# Oracle Sanity test to transfer table data containing LONG RAW
21+
Scenario: To verify data is getting transferred from Oracle to Oracle successfully
22+
Given Open Datafusion Project to configure pipeline
23+
When Expand Plugin group in the LHS plugins list: "Source"
24+
When Select plugin: "Oracle" from the plugins list as: "Source"
25+
When Expand Plugin group in the LHS plugins list: "Sink"
26+
When Select plugin: "Oracle" from the plugins list as: "Sink"
27+
Then Connect plugins: "Oracle" and "Oracle2" to establish connection
28+
Then Navigate to the properties page of plugin: "Oracle"
29+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
30+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
31+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
32+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
33+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
34+
Then Select radio button plugin property: "connectionType" with value: "service"
35+
Then Select radio button plugin property: "role" with value: "sysdba"
36+
Then Enter input plugin property: "referenceName" with value: "sourceRef"
37+
Then Replace input plugin property: "database" with value: "databaseName"
38+
Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
39+
Then Click on the Get Schema button
40+
Then Verify the Output Schema matches the Expected Schema: "outputDatatypesSchema3"
41+
Then Validate "Oracle" plugin properties
42+
Then Close the Plugin Properties page
43+
Then Navigate to the properties page of plugin: "Oracle2"
44+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
45+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
46+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
47+
Then Replace input plugin property: "database" with value: "databaseName"
48+
Then Replace input plugin property: "tableName" with value: "targetTable"
49+
Then Replace input plugin property: "dbSchemaName" with value: "schema"
50+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
51+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
52+
Then Enter input plugin property: "referenceName" with value: "targetRef"
53+
Then Select radio button plugin property: "connectionType" with value: "service"
54+
Then Select radio button plugin property: "role" with value: "sysdba"
55+
Then Validate "Oracle2" plugin properties
56+
Then Close the Plugin Properties page
57+
Then Save the pipeline
58+
Then Preview and run the pipeline
59+
Then Verify the preview of pipeline is "success"
60+
Then Click on preview data for Oracle sink
61+
Then Verify preview output schema matches the outputSchema captured in properties
62+
Then Close the preview data
63+
Then Deploy the pipeline
64+
Then Run the Pipeline in Runtime
65+
Then Wait till pipeline is in running state
66+
Then Open and capture logs
67+
Then Verify the pipeline status is "Succeeded"
68+
Then Validate the values of records transferred to target table is equal to the values from source table
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#
2+
# Copyright © 2023 Cask Data, Inc.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
5+
# use this file except in compliance with the License. You may obtain a copy of
6+
# the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
# License for the specific language governing permissions and limitations under
14+
# the License.
15+
#
16+
17+
@Oracle
18+
Feature: Oracle - Verify Oracle source data transfer of type LONG VARCHAR
19+
@ORACLE_SOURCE_DATATYPES_TEST4 @ORACLE_SINK_TEST @Oracle_Required
20+
# Oracle Sanity test to transfer table data containing LONG VARCHAR
21+
Scenario: To verify data is getting transferred from Oracle to Oracle successfully
22+
Given Open Datafusion Project to configure pipeline
23+
When Expand Plugin group in the LHS plugins list: "Source"
24+
When Select plugin: "Oracle" from the plugins list as: "Source"
25+
When Expand Plugin group in the LHS plugins list: "Sink"
26+
When Select plugin: "Oracle" from the plugins list as: "Sink"
27+
Then Connect plugins: "Oracle" and "Oracle2" to establish connection
28+
Then Navigate to the properties page of plugin: "Oracle"
29+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
30+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
31+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
32+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
33+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
34+
Then Select radio button plugin property: "connectionType" with value: "service"
35+
Then Select radio button plugin property: "role" with value: "sysdba"
36+
Then Enter input plugin property: "referenceName" with value: "sourceRef"
37+
Then Replace input plugin property: "database" with value: "databaseName"
38+
Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
39+
Then Click on the Get Schema button
40+
Then Verify the Output Schema matches the Expected Schema: "outputDatatypesSchema4"
41+
Then Validate "Oracle" plugin properties
42+
Then Close the Plugin Properties page
43+
Then Navigate to the properties page of plugin: "Oracle2"
44+
Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
45+
Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
46+
Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
47+
Then Replace input plugin property: "database" with value: "databaseName"
48+
Then Replace input plugin property: "tableName" with value: "targetTable"
49+
Then Replace input plugin property: "dbSchemaName" with value: "schema"
50+
Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
51+
Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
52+
Then Enter input plugin property: "referenceName" with value: "targetRef"
53+
Then Select radio button plugin property: "connectionType" with value: "service"
54+
Then Select radio button plugin property: "role" with value: "sysdba"
55+
Then Validate "Oracle2" plugin properties
56+
Then Close the Plugin Properties page
57+
Then Save the pipeline
58+
Then Preview and run the pipeline
59+
Then Verify the preview of pipeline is "success"
60+
Then Click on preview data for Oracle sink
61+
Then Verify preview output schema matches the outputSchema captured in properties
62+
Then Close the preview data
63+
Then Deploy the pipeline
64+
Then Run the Pipeline in Runtime
65+
Then Wait till pipeline is in running state
66+
Then Open and capture logs
67+
Then Verify the pipeline status is "Succeeded"
68+
Then Validate the values of records transferred to target table is equal to the values from source table

oracle-plugin/src/e2e-test/features/oracle/Oracle.feature

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,4 @@ Feature: Oracle - Verify Oracle source data transfer
6464
Then Wait till pipeline is in running state
6565
Then Open and capture logs
6666
Then Verify the pipeline status is "Succeeded"
67-
Then Get count of no of records transferred to target Oracle Table
68-
Then Validate records transferred to target table is equal to number of records from source table
67+
Then Validate the values of records transferred to target table is equal to the values from source table

0 commit comments

Comments
 (0)