-
Notifications
You must be signed in to change notification settings - Fork 3
e2e Tests for cloudSQL-MySQL #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from 2 commits
def8ed2
46b7c59
0bd19ae
9fcc646
70ee2bc
67e6e49
86d084d
b6c555b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| @CloudMySql | ||
| Feature: CloudMySql sink- Verify CloudMySql sink plugin design time scenarios | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation with mandatory properties | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation with connection and basic details for connectivity | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
|
||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsList" | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
|
|
||
|
|
||
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,114 @@ | ||
| Feature: CloudMySql sink- Verify ,Mysql sink plugin design time validation scenarios | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation error message with invalid database | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Source" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Source" | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Connect plugins: "CloudSQL MySQL" and "CloudSQL MySQL2" to establish connection | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter textarea plugin property: "importQuery" with value: "insertQuery" | ||
| # Then Click on the Get Schema button | ||
|
||
| # Then Verify the Output Schema matches the Expected Schema: "outputSchema" | ||
| # Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL2" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "invalidDatabaseName" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Click on the Validate button | ||
| # Then Verify that the Plugin is displaying an error message: "errorMessageInvalidSinkDatabase" on the header | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation error message with invalid tablename | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Source" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Source" | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Connect plugins: "CloudSQL MySQL" and "CloudSQL MySQL2" to establish connection | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter textarea plugin property: "importQuery" with value: "insertQuery" | ||
| # Then Click on the Get Schema button | ||
| # Then Verify the Output Schema matches the Expected Schema: "outputSchema" | ||
| # Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL2" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "invalidRefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "Invalidtable" | ||
| Then Click on the Validate button | ||
| # Then Verify that the Plugin Property: "table" is displaying an in-line error message: "errorMessageInvalidTableName" | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation error message with invalid reference Name | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "invalidRef" | ||
| Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsList" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Click on the Validate button | ||
| Then Verify that the Plugin Property: "referenceName" is displaying an in-line error message: "errorMessageCloudMySqlInvalidReferenceName" | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation error message with blank username | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsList" | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Click on the Validate button | ||
| Then Verify that the Plugin Property: "user" is displaying an in-line error message: "errorMessageBlankUsername" | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation error message with ConnectionName | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsList" | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Click on the Validate button | ||
| Then Verify that the Plugin Property: "connectionName" is displaying an in-line error message: "errorMessageConnectionName" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| Feature: CloudMySql sink- Verify CloudMySql sink plugin design time macro scenarios | ||
|
|
||
| Scenario: To verify CloudMySql sink plugin validation with macro enabled fields for connection section | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Click on the Macro button of Property: "jdbcPluginName" and set the value to: "cloudsql-mysql" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Click on the Macro button of Property: "user" and set the value to: "username" | ||
| Then Click on the Macro button of Property: "password" and set the value to: "password" | ||
| Then Click on the Macro button of Property: "connectionArguments" and set the value to: "connectionArgumentsList" | ||
| Then Enter input plugin property: "referenceName" with value: "sourceRef" | ||
| Then Replace input plugin property: "database" with value: "TestDatabase" | ||
| Then Click on the Validate button | ||
| # Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
|
|
||
| Scenario: To verify cloudsql sink plugin validation with macro enabled fields for basic section | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "sourceRef" | ||
| Then Replace input plugin property: "database" with value: "TestDatabase" | ||
| Then Click on the Macro button of Property: "tableName" and set the value to: "mytable" | ||
| Then Click on the Validate button | ||
| # Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| Feature: CloudMySql - Verify data transfer from BigQuery source to CloudMySql sink | ||
|
|
||
| Scenario: To verify data is getting transferred from BigQuery source to CloudMySql sink successfully | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add more run time test scenarios There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. resolved |
||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Source" | ||
| When Select plugin: "BigQuery" from the plugins list as: "Source" | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Connect plugins: "BigQuery" and "CloudSQL MySQL" to establish connection | ||
| Then Navigate to the properties page of plugin: "BigQuery" | ||
| Then Replace input plugin property: "project" with value: "projectId" | ||
| Then Enter input plugin property: "datasetProject" with value: "projectId" | ||
| Then Override Service account details if set in environment variables | ||
| Then Enter input plugin property: "referenceName" with value: "BQReferenceName" | ||
| Then Enter input plugin property: "dataset" with value: "dataset" | ||
| Then Enter input plugin property: "table" with value: "bqTargetTable" | ||
| # Then Click on the Get Schema button | ||
| # Then Validate "BigQuery" plugin properties | ||
| Then Close the Plugin Properties page | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| # Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
| Then Save the pipeline | ||
| Then Preview and run the pipeline | ||
| Then Wait till pipeline preview is in running state | ||
| Then Open and capture pipeline preview logs | ||
| # Then Verify the preview run status of pipeline in the logs is "succeeded" | ||
| # Then Close the pipeline logs | ||
| # Then Close the preview | ||
| # Then Deploy the pipeline | ||
| # Then Run the Pipeline in Runtime | ||
| # Then Wait till pipeline is in running state | ||
| # Then Open and capture logs | ||
| # Then Verify the pipeline status is "Succeeded" | ||
| # Then Close the pipeline logs | ||
| # Then Validate OUT record count is equal to records transferred to target BigQuery table | ||
|
|
||
| Scenario: To verify data is getting transferred from BigQuery source to CloudMySql sink successfully when connection arguments are set | ||
| Given Open Datafusion Project to configure pipeline | ||
| When Expand Plugin group in the LHS plugins list: "Source" | ||
| When Select plugin: "BigQuery" from the plugins list as: "Source" | ||
| When Expand Plugin group in the LHS plugins list: "Sink" | ||
| When Select plugin: "CloudSQL MySQL" from the plugins list as: "Sink" | ||
| Then Connect plugins: "BigQuery" and "CloudSQL MySQL" to establish connection | ||
| Then Navigate to the properties page of plugin: "BigQuery" | ||
| Then Replace input plugin property: "project" with value: "projectId" | ||
| Then Enter input plugin property: "datasetProject" with value: "projectId" | ||
| Then Override Service account details if set in environment variables | ||
|
||
| Then Enter input plugin property: "referenceName" with value: "BQReferenceName" | ||
| Then Enter input plugin property: "dataset" with value: "dataset" | ||
| Then Enter input plugin property: "table" with value: "bqTargetTable" | ||
| # Then Click on the Get Schema button | ||
| # Then Validate "BigQuery" plugin properties | ||
| Then Close the Plugin Properties page | ||
| Then Navigate to the properties page of plugin: "CloudSQL MySQL" | ||
| Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "cloudsql-mysql" | ||
| Then Select radio button plugin property: "instanceType" with value: "public" | ||
| Then Enter input plugin property: "connectionName" with value: "cdf-athena:us-central1:sql-automation-test-instance" | ||
| Then Replace input plugin property: "user" with value: "username" for Credentials and Authorization related fields | ||
| Then Replace input plugin property: "password" with value: "password" for Credentials and Authorization related fields | ||
| Then Enter input plugin property: "referenceName" with value: "RefName" | ||
| Then Enter input plugin property: "database" with value: "TestDatabase" | ||
| Then Enter input plugin property: "tableName" with value: "mytable" | ||
| Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsList" | ||
| # Then Validate "CloudSQL MySQL" plugin properties | ||
| Then Close the Plugin Properties page | ||
| Then Save the pipeline | ||
| Then Preview and run the pipeline | ||
| Then Wait till pipeline preview is in running state | ||
| # Then Open and capture pipeline preview logs | ||
| # Then Verify the preview run status of pipeline in the logs is "succeeded" | ||
| # Then Close the pipeline logs | ||
| # Then Close the preview | ||
| # Then Deploy the pipeline | ||
| # Then Run the Pipeline in Runtime | ||
| # Then Wait till pipeline is in running state | ||
| # Then Open and capture logs | ||
| # Then Verify the pipeline status is "Succeeded" | ||
| # Then Close the pipeline logs | ||
| # Then Validate OUT record count is equal to records transferred to target BigQuery table | ||
|
|
||
|
|
||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove extra space just one line space is enough There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are more scenarios in the RTM where we are validating the plugin with different properties present in the plugin. Create more Design Time scenarios .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see this one addressed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done