@@ -144,3 +144,156 @@ Feature: PostgreSQL - Verify data transfer from BigQuery source to PostgreSQL si
144
144
Then Open and capture logs
145
145
Then Verify the pipeline status is "Succeeded"
146
146
Then Validate the values of records transferred to target PostgreSQL table is equal to the values from source BigQuery table
147
+
148
+ @POSTGRESQL_SOURCE_TEST @Postgresql_Required @POSTGRESQL_SINK_TEST
149
+ Scenario Outline : To verify data is getting transferred from PostgreSQL source to PostgreSQL sink with Advanced operations Upsert
150
+ Given Open Datafusion Project to configure pipeline
151
+ Given Open Datafusion Project to configure pipeline
152
+ When Expand Plugin group in the LHS plugins list: "Source"
153
+ When Select plugin: "PostgreSQL" from the plugins list as: "Source"
154
+ When Expand Plugin group in the LHS plugins list: "Sink"
155
+ When Select plugin: "PostgreSQL" from the plugins list as: "Sink"
156
+ Then Connect plugins: "PostgreSQL" and "PostgreSQL2" to establish connection
157
+ Then Navigate to the properties page of plugin: "PostgreSQL"
158
+ Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
159
+ Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
160
+ Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
161
+ Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
162
+ Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
163
+ Then Enter input plugin property: "referenceName" with value: "sourceRef"
164
+ Then Replace input plugin property: "database" with value: "databaseName"
165
+ Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
166
+ Then Click on the Get Schema button
167
+ Then Validate "PostgreSQL" plugin properties
168
+ Then Close the Plugin Properties page
169
+ Then Navigate to the properties page of plugin: "PostgreSQL2"
170
+ Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
171
+ Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
172
+ Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
173
+ Then Replace input plugin property: "database" with value: "databaseName"
174
+ Then Replace input plugin property: "tableName" with value: "targetTable"
175
+ Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
176
+ Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
177
+ Then Enter input plugin property: "referenceName" with value: "targetRef"
178
+ Then Replace input plugin property: "dbSchemaName" with value: "schema"
179
+ Then Select radio button plugin property: "operationName" with value: "upsert"
180
+ Then Click on the Add Button of the property: "relationTableKey" with value:
181
+ | PostgreSQLTableKey |
182
+ Then Validate "PostgreSQL" plugin properties
183
+ Then Close the Plugin Properties page
184
+ Then Save the pipeline
185
+ Then Preview and run the pipeline
186
+ Then Verify the preview of pipeline is "success"
187
+ Then Click on preview data for PostgreSQL sink
188
+ Then Close the preview data
189
+ Then Deploy the pipeline
190
+ Then Run the Pipeline in Runtime
191
+ Then Wait till pipeline is in running state
192
+ Then Open and capture logs
193
+ Then Verify the pipeline status is "Succeeded"
194
+ Then Validate the values of records transferred to target table is equal to the values from source table
195
+ # Examples:
196
+ # | options |
197
+ # | upsert |
198
+ # | update |
199
+
200
+ @POSTGRESQL_SOURCE_TEST @Postgresql_Required @POSTGRESQL_SINK_TEST
201
+ Scenario Outline : To verify data is getting transferred from PostgreSQL source to PostgreSQL sink with Advanced operations Update for table key
202
+ Given Open Datafusion Project to configure pipeline
203
+ Given Open Datafusion Project to configure pipeline
204
+ When Expand Plugin group in the LHS plugins list: "Source"
205
+ When Select plugin: "PostgreSQL" from the plugins list as: "Source"
206
+ When Expand Plugin group in the LHS plugins list: "Sink"
207
+ When Select plugin: "PostgreSQL" from the plugins list as: "Sink"
208
+ Then Connect plugins: "PostgreSQL" and "PostgreSQL2" to establish connection
209
+ Then Navigate to the properties page of plugin: "PostgreSQL"
210
+ Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
211
+ Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
212
+ Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
213
+ Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
214
+ Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
215
+ Then Enter input plugin property: "referenceName" with value: "sourceRef"
216
+ Then Replace input plugin property: "database" with value: "databaseName"
217
+ Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
218
+ Then Click on the Get Schema button
219
+ Then Validate "PostgreSQL" plugin properties
220
+ Then Close the Plugin Properties page
221
+ Then Navigate to the properties page of plugin: "PostgreSQL2"
222
+ Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
223
+ Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
224
+ Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
225
+ Then Replace input plugin property: "database" with value: "databaseName"
226
+ Then Replace input plugin property: "tableName" with value: "targetTable"
227
+ Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
228
+ Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
229
+ Then Enter input plugin property: "referenceName" with value: "targetRef"
230
+ Then Replace input plugin property: "dbSchemaName" with value: "schema"
231
+ Then Select radio button plugin property: "operationName" with value: "update"
232
+ Then Click on the Add Button of the property: "relationTableKey" with value:
233
+ | PostgreSQLTableKey |
234
+ Then Validate "PostgreSQL" plugin properties
235
+ Then Close the Plugin Properties page
236
+ Then Save the pipeline
237
+ Then Preview and run the pipeline
238
+ Then Verify the preview of pipeline is "success"
239
+ Then Click on preview data for PostgreSQL sink
240
+ Then Close the preview data
241
+ Then Deploy the pipeline
242
+ Then Run the Pipeline in Runtime
243
+ Then Wait till pipeline is in running state
244
+ Then Open and capture logs
245
+ Then Verify the pipeline status is "Succeeded"
246
+ Then Validate the values of records transferred to target table is equal to the values from source table
247
+
248
+ @POSTGRESQL_SOURCE_TEST @POSTGRESQL_SINK_TEST @Postgresql_Required @CONNECTION
249
+ Scenario : To verify data is getting transferred from PostgreSQL source to PostgreSQL sink successfully using Connection
250
+ Given Open Datafusion Project to configure pipeline
251
+ When Expand Plugin group in the LHS plugins list: "Source"
252
+ When Select plugin: "PostgreSQL" from the plugins list as: "Source"
253
+ When Expand Plugin group in the LHS plugins list: "Sink"
254
+ When Select plugin: "PostgreSQL" from the plugins list as: "Sink"
255
+ Then Connect plugins: "PostgreSQL" and "PostgreSQL2" to establish connection
256
+ Then Navigate to the properties page of plugin: "PostgreSQL"
257
+ Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
258
+ Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
259
+ Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
260
+ Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
261
+ Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
262
+ Then Enter input plugin property: "referenceName" with value: "sourceRef"
263
+ Then Replace input plugin property: "database" with value: "databaseName"
264
+ Then Enter textarea plugin property: "importQuery" with value: "selectQuery"
265
+ Then Click on the Get Schema button
266
+ Then Validate "PostgreSQL" plugin properties
267
+ Then Close the Plugin Properties page
268
+ Then Navigate to the properties page of plugin: "PostgreSQL2"
269
+ And Click plugin property: "switch-useConnection"
270
+ And Click on the Browse Connections button
271
+ And Click on the Add Connection button
272
+ Then Click plugin property: "connector-PostgreSQL"
273
+ And Enter input plugin property: "name" with value: "connection.name"
274
+ Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName"
275
+ Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields
276
+ Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields
277
+ Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields
278
+ Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields
279
+ Then Replace input plugin property: "database" with value: "databaseName"
280
+ Then Click on the Test Connection button
281
+ And Verify the test connection is successful
282
+ Then Click on the Create button
283
+ Then Select connection: "connection.name"
284
+ Then Enter input plugin property: "referenceName" with value: "targetRef"
285
+ Then Replace input plugin property: "tableName" with value: "targetTable"
286
+ Then Replace input plugin property: "dbSchemaName" with value: "schema"
287
+ Then Validate "PostgreSQL" plugin properties
288
+ Then Close the Plugin Properties page
289
+ Then Save the pipeline
290
+ Then Preview and run the pipeline
291
+ Then Verify the preview of pipeline is "success"
292
+ Then Click on preview data for PostgreSQL sink
293
+ Then Close the preview data
294
+ Then Deploy the pipeline
295
+ Then Run the Pipeline in Runtime
296
+ Then Wait till pipeline is in running state
297
+ Then Open and capture logs
298
+ Then Verify the pipeline status is "Succeeded"
299
+ Then Validate the values of records transferred to target table is equal to the values from source table
0 commit comments