From 6c2677301d5612d2fba09742e87f3bffe64526ef Mon Sep 17 00:00:00 2001 From: suryakumari Date: Wed, 18 Dec 2024 13:49:44 +0530 Subject: [PATCH] e2e mysql source additional tests --- .../mysqlsource/DesignTimeValidation.feature | 74 +++++++++ .../features/mysqlsource/RunTime.feature | 148 +++++++++++++++++- .../mysqlsource/RunTimeWithMacros.feature | 55 +++++++ .../java/io/cdap/plugin/MysqlClient.java | 16 +- .../common/stepsdesign/TestSetupHooks.java | 21 ++- .../resources/errorMessage.properties | 3 + .../resources/pluginParameters.properties | 10 +- 7 files changed, 315 insertions(+), 12 deletions(-) diff --git a/mysql-plugin/src/e2e-test/features/mysqlsource/DesignTimeValidation.feature b/mysql-plugin/src/e2e-test/features/mysqlsource/DesignTimeValidation.feature index ee317eac6..49cf4390e 100644 --- a/mysql-plugin/src/e2e-test/features/mysqlsource/DesignTimeValidation.feature +++ b/mysql-plugin/src/e2e-test/features/mysqlsource/DesignTimeValidation.feature @@ -141,3 +141,77 @@ Feature: MySQL Source - Design time validation scenarios | referenceName | | database | | importQuery | + + @Mysql_Required + Scenario: To verify MySQL source plugin validation error message with invalid reference test data + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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 Replace input plugin property: "database" with value: "databaseName" + Then Enter textarea plugin property: "importQuery" with value: "selectQuery" + Then Click on the Validate button + Then Verify that the Plugin Property: "referenceName" is displaying an in-line error message: "invalidreferenceName.error.message" + + @Mysql_Required + Scenario: To verify MySQL source plugin validation error message when fetch size is changed to zero + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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: "databaseName" + Then Enter textarea plugin property: "importQuery" with value: "selectQuery" + Then Replace input plugin property: "fetchSize" with value: "zeroValue" + Then Click on the Validate button + Then Verify that the Plugin Property: "fetchSize" is displaying an in-line error message: "errorMessageInvalidFetchSize" + + @Mysql_Required + Scenario: To verify MySQL source plugin validation error message when number of Split value is changed to zero + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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: "databaseName" + Then Enter textarea plugin property: "importQuery" with value: "selectQuery" + Then Replace input plugin property: "numSplits" with value: "zeroValue" + Then Click on the Validate button + Then Verify that the Plugin Property: "numSplits" is displaying an in-line error message: "errorMessageInvalidNumberOfSplits" + + @Mysql_Required + Scenario: To verify MySQL source plugin validation error message with blank bounding query + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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: "databaseName" + Then Enter textarea plugin property: "importQuery" with value: "invalidImportQuery" + Then Replace input plugin property: "splitBy" with value: "splitBy" + Then Replace input plugin property: "numSplits" with value: "numberOfSplits" + Then Click on the Validate button + Then Verify that the Plugin Property: "boundingQuery" is displaying an in-line error message: "boundingQuery.error.message" + Then Verify that the Plugin Property: "numSplits" is displaying an in-line error message: "boundingQuery.error.message" + Then Verify that the Plugin Property: "importQuery" is displaying an in-line error message: "errorMessageInvalidImportQuery" diff --git a/mysql-plugin/src/e2e-test/features/mysqlsource/RunTime.feature b/mysql-plugin/src/e2e-test/features/mysqlsource/RunTime.feature index d62fec005..1ad2f8cc1 100644 --- a/mysql-plugin/src/e2e-test/features/mysqlsource/RunTime.feature +++ b/mysql-plugin/src/e2e-test/features/mysqlsource/RunTime.feature @@ -188,4 +188,150 @@ Feature: MySQL Source - Run time scenarios Then Wait till pipeline is in running state Then Open and capture logs Then Verify the pipeline status is "Succeeded" - Then Validate the values of records transferred to target table is equal to the values from source table \ No newline at end of file + Then Validate the values of records transferred to target table is equal to the values from source table + + @MYSQL_SOURCE_TEST @MYSQL_TARGET_TEST @Mysql_Required + Scenario: To verify data is getting transferred from Mysql to Mysql successfully when connection arguments are set to read boolean datatype + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + When Expand Plugin group in the LHS plugins list: "Sink" + When Select plugin: "MySQL" from the plugins list as: "Sink" + Then Connect plugins: "MySQL" and "MySQL2" to establish connection + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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: "databaseName" + Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsForBooleanDataType" + Then Enter textarea plugin property: "importQuery" with value: "selectQuery" + Then Click on the Get Schema button + Then Verify the Output Schema matches the Expected Schema: "outputSourceSchema" + Then Validate "MySQL" plugin properties + Then Close the Plugin Properties page + Then Navigate to the properties page of plugin: "MySQL2" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + Then Replace input plugin property: "database" with value: "databaseName" + Then Replace input plugin property: "tableName" with value: "targetTable" + 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: "targetRef" + Then Enter key value pairs for plugin property: "connectionArguments" with values from json: "connectionArgumentsForBooleanDataType" + Then Validate "MySQL2" plugin properties + Then Close the Plugin Properties page + Then Save the pipeline + Then Preview and run the pipeline + Then Verify the preview of pipeline is "success" + Then Click on preview data for MySQL sink + Then Verify preview output schema matches the outputSchema captured in properties + Then Close the preview data + 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 Validate the values of records transferred to target table is equal to the values from source table + + @MYSQL_SOURCE_TEST @MYSQL_TARGET_TEST + Scenario: To verify data is getting transferred from Mysql to Mysql successfully with bounding query + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + When Expand Plugin group in the LHS plugins list: "Sink" + When Select plugin: "MySQL" from the plugins list as: "Sink" + Then Connect plugins: "MySQL" and "MySQL2" to establish connection + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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: "databaseName" + Then Enter textarea plugin property: "importQuery" with value: "selectQuery" + Then Enter textarea plugin property: "boundingQuery" with value: "boundingQuery" + Then Click on the Get Schema button + Then Verify the Output Schema matches the Expected Schema: "outputSchema" + Then Validate "MySQL" plugin properties + Then Close the Plugin Properties page + Then Navigate to the properties page of plugin: "MySQL2" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + Then Replace input plugin property: "database" with value: "databaseName" + Then Replace input plugin property: "tableName" with value: "targetTable" + 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: "targetRef" + Then Validate "MySQL2" plugin properties + Then Close the Plugin Properties page + Then Save the pipeline + Then Preview and run the pipeline + Then Verify the preview of pipeline is "success" + Then Click on preview data for MySQL sink + Then Verify preview output schema matches the outputSchema captured in properties + Then Close the preview data + 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 Validate the values of records transferred to target table is equal to the values from source table + + @MYSQL_SOURCE_TEST @MYSQL_TARGET_TEST @CONNECTION + Scenario: To verify data is getting transferred from Mysql to Mysql successfully with use connection + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + When Expand Plugin group in the LHS plugins list: "Sink" + When Select plugin: "MySQL" from the plugins list as: "Sink" + Then Connect plugins: "MySQL" and "MySQL2" to establish connection + Then Navigate to the properties page of plugin: "MySQL" + And Click plugin property: "switch-useConnection" + And Click on the Browse Connections button + And Click on the Add Connection button + And Select Mysql Connection + And Enter input plugin property: "name" with value: "connection.name" + Then Enter input plugin property: "referenceName" with value: "sourceRef" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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 Click on the Test Connection button + And Verify the test connection is successful + Then Click on the Create button + And Use new connection + Then Enter input plugin property: "referenceName" with value: "sourceRef" + Then Replace input plugin property: "database" with value: "databaseName" + Then Enter textarea plugin property: "importQuery" with value: "selectQuery" + Then Click on the Get Schema button + Then Verify the Output Schema matches the Expected Schema: "outputSchema" + Then Validate "MySQL" plugin properties + Then Close the Plugin Properties page + Then Navigate to the properties page of plugin: "MySQL2" + And Click plugin property: "switch-useConnection" + And Click on the Browse Connections button + And Use new connection + Then Enter input plugin property: "referenceName" with value: "targetRef" + Then Replace input plugin property: "database" with value: "databaseName" + Then Replace input plugin property: "tableName" with value: "targetTable" + Then Validate "MySQL2" plugin properties + Then Close the Plugin Properties page + Then Save the pipeline + Then Preview and run the pipeline + Then Verify the preview of pipeline is "success" + Then Click on preview data for MySQL sink + Then Verify preview output schema matches the outputSchema captured in properties + Then Close the preview data + 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 Validate the values of records transferred to target table is equal to the values from source table diff --git a/mysql-plugin/src/e2e-test/features/mysqlsource/RunTimeWithMacros.feature b/mysql-plugin/src/e2e-test/features/mysqlsource/RunTimeWithMacros.feature index 940b97caf..4c6a77576 100644 --- a/mysql-plugin/src/e2e-test/features/mysqlsource/RunTimeWithMacros.feature +++ b/mysql-plugin/src/e2e-test/features/mysqlsource/RunTimeWithMacros.feature @@ -246,3 +246,58 @@ Feature: MySQL Source - Run time scenarios (macro) And Open and capture logs And Verify the pipeline status is "Failed" And Close the pipeline logs + + @MYSQL_SOURCE_TEST @MYSQL_TARGET_TEST + Scenario: To verify data is getting transferred from Mysql to Mysql successfully when connection arguments,import,bounding query are macro enabled + Given Open Datafusion Project to configure pipeline + When Expand Plugin group in the LHS plugins list: "Source" + When Select plugin: "MySQL" from the plugins list as: "Source" + When Expand Plugin group in the LHS plugins list: "Sink" + When Select plugin: "MySQL" from the plugins list as: "Sink" + Then Connect plugins: "MySQL" and "MySQL2" to establish connection + Then Navigate to the properties page of plugin: "MySQL" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + 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 Click on the Macro button of Property: "connectionArguments" and set the value to: "connArgumentsSource" + Then Enter input plugin property: "referenceName" with value: "sourceRef" + Then Click on the Macro button of Property: "importQuery" and set the value in textarea: "mysqlImportQuery" + Then Replace input plugin property: "database" with value: "databaseName" + Then Click on the Macro button of Property: "boundingQuery" and set the value in textarea: "mysqlBoundingQuery" + Then Click on the Get Schema button + Then Validate "MySQL" plugin properties + Then Close the Plugin Properties page + Then Navigate to the properties page of plugin: "MySQL2" + Then Select dropdown plugin property: "select-jdbcPluginName" with option value: "driverName" + Then Replace input plugin property: "host" with value: "host" for Credentials and Authorization related fields + Then Replace input plugin property: "port" with value: "port" for Credentials and Authorization related fields + Then Replace input plugin property: "database" with value: "databaseName" + Then Replace input plugin property: "tableName" with value: "targetTable" + 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 Click on the Macro button of Property: "connectionArguments" and set the value to: "connArgumentsSink" + Then Enter input plugin property: "referenceName" with value: "targetRef" + Then Validate "MySQL2" plugin properties + Then Close the Plugin Properties page + Then Save the pipeline + Then Preview and run the pipeline + Then Enter runtime argument value "connectionArguments" for key "connArgumentsSource" + Then Enter runtime argument value "connectionArguments" for key "connArgumentsSink" + Then Enter runtime argument value "selectQuery" for key "mysqlImportQuery" + Then Enter runtime argument value "boundingQuery" for key "mysqlBoundingQuery" + And Run the preview of pipeline with runtime arguments + Then Verify the preview of pipeline is "success" + And Close the preview + And Deploy the pipeline + And Run the Pipeline in Runtime + Then Enter runtime argument value "connectionArguments" for key "connArgumentsSource" + Then Enter runtime argument value "connectionArguments" for key "connArgumentsSink" + Then Enter runtime argument value "selectQuery" for key "mysqlImportQuery" + Then Enter runtime argument value "boundingQuery" for key "mysqlBoundingQuery" + And Run the Pipeline in Runtime with runtime arguments + Then Wait till pipeline is in running state + Then Open and capture logs + Then Verify the pipeline status is "Succeeded" + Then Validate the values of records transferred to target table is equal to the values from source table diff --git a/mysql-plugin/src/e2e-test/java/io/cdap/plugin/MysqlClient.java b/mysql-plugin/src/e2e-test/java/io/cdap/plugin/MysqlClient.java index d80e4dfc4..9bcea8e02 100644 --- a/mysql-plugin/src/e2e-test/java/io/cdap/plugin/MysqlClient.java +++ b/mysql-plugin/src/e2e-test/java/io/cdap/plugin/MysqlClient.java @@ -138,7 +138,7 @@ public static void createSourceTable(String sourceTable) throws SQLException, Cl try (Connection connect = getMysqlConnection(); Statement statement = connect.createStatement()) { String createSourceTableQuery = "CREATE TABLE IF NOT EXISTS " + sourceTable + - "(id int, lastName varchar(255), PRIMARY KEY (id))"; + "(id int, lastName varchar(255), PRIMARY KEY (id), is_active BOOLEAN NOT NULL)"; statement.executeUpdate(createSourceTableQuery); // Truncate table to clean the data of last failure run. @@ -146,12 +146,12 @@ public static void createSourceTable(String sourceTable) throws SQLException, Cl statement.executeUpdate(truncateSourceTableQuery); // Insert dummy data. - statement.executeUpdate("INSERT INTO " + sourceTable + " (id, lastName)" + - "VALUES (1, 'Simpson')"); - statement.executeUpdate("INSERT INTO " + sourceTable + " (id, lastName)" + - "VALUES (2, 'McBeal')"); - statement.executeUpdate("INSERT INTO " + sourceTable + " (id, lastName)" + - "VALUES (3, 'Flinstone')"); + statement.executeUpdate("INSERT INTO " + sourceTable + " (id, lastName, is_active)" + + "VALUES (1, 'Simpson', true)"); + statement.executeUpdate("INSERT INTO " + sourceTable + " (id, lastName, is_active)" + + "VALUES (2, 'McBeal', true)"); + statement.executeUpdate("INSERT INTO " + sourceTable + " (id, lastName, is_active)" + + "VALUES (3, 'Flinstone', false)"); } } @@ -159,7 +159,7 @@ public static void createTargetTable(String targetTable) throws SQLException, Cl try (Connection connect = getMysqlConnection(); Statement statement = connect.createStatement()) { String createTargetTableQuery = "CREATE TABLE IF NOT EXISTS " + targetTable + - "(id int, lastName varchar(255), PRIMARY KEY (id))"; + "(id int, lastName varchar(255), PRIMARY KEY (id), is_active BOOLEAN NOT NULL)"; statement.executeUpdate(createTargetTableQuery); // Truncate table to clean the data of last failure run. String truncateTargetTableQuery = "TRUNCATE TABLE " + targetTable; diff --git a/mysql-plugin/src/e2e-test/java/io/cdap/plugin/common/stepsdesign/TestSetupHooks.java b/mysql-plugin/src/e2e-test/java/io/cdap/plugin/common/stepsdesign/TestSetupHooks.java index 2a86269b5..01475c75e 100644 --- a/mysql-plugin/src/e2e-test/java/io/cdap/plugin/common/stepsdesign/TestSetupHooks.java +++ b/mysql-plugin/src/e2e-test/java/io/cdap/plugin/common/stepsdesign/TestSetupHooks.java @@ -17,6 +17,8 @@ package io.cdap.plugin.common.stepsdesign; import com.google.cloud.bigquery.BigQueryException; +import io.cdap.e2e.pages.actions.CdfConnectionActions; +import io.cdap.e2e.pages.actions.CdfPluginPropertiesActions; import io.cdap.e2e.utils.BigQueryClient; import io.cdap.e2e.utils.PluginPropertyUtils; import io.cdap.plugin.MysqlClient; @@ -47,7 +49,10 @@ private static void setTableName() { String targetTableName = String.format("TargetTable_%s", randomString); PluginPropertyUtils.addPluginProp("sourceTable", sourceTableName); PluginPropertyUtils.addPluginProp("targetTable", targetTableName); - PluginPropertyUtils.addPluginProp("selectQuery", String.format("select * from %s", sourceTableName)); + PluginPropertyUtils.addPluginProp("selectQuery", String.format("select * from %s " + + "WHERE $CONDITIONS", sourceTableName)); + PluginPropertyUtils.addPluginProp("boundingQuery", String.format("select MIN(id),MAX(id)" + + " from %s", sourceTableName)); } @Before(order = 1) @@ -212,5 +217,19 @@ public static void setNewConnectionName() { PluginPropertyUtils.addPluginProp("connection.name", connectionName); BeforeActions.scenario.write("New Connection name: " + connectionName); } + + private static void deleteConnection(String connectionType, String connectionName) throws IOException { + CdfConnectionActions.openWranglerConnectionsPage(); + CdfConnectionActions.expandConnections(connectionType); + CdfConnectionActions.openConnectionActionMenu(connectionType, connectionName); + CdfConnectionActions.selectConnectionAction(connectionType, connectionName, "Delete"); + CdfPluginPropertiesActions.clickPluginPropertyButton("Delete"); + } + + @After(order = 1, value = "@CONNECTION") + public static void deleteBQConnection() throws IOException { + deleteConnection("MySQL", "connection.name"); + PluginPropertyUtils.removePluginProp("connection.name"); + } } diff --git a/mysql-plugin/src/e2e-test/resources/errorMessage.properties b/mysql-plugin/src/e2e-test/resources/errorMessage.properties index 0c1ac0400..e3985cd61 100644 --- a/mysql-plugin/src/e2e-test/resources/errorMessage.properties +++ b/mysql-plugin/src/e2e-test/resources/errorMessage.properties @@ -11,3 +11,6 @@ boundingQuery.error.message=Bounding Query must be specified if Number of Splits splitfield.error.message=Split-By Field Name must be specified if Number of Splits is not set to 1 invalid.sink.database.message=Exception while trying to validate schema blank.username.message=Username is required when password is given. +errorMessageInvalidFetchSize=Invalid fetch size. Fetch size must be a positive integer. +errorMessageInvalidNumberOfSplits=Invalid value for Number of Splits '0'. Must be at least 1. +errorMessageInvalidImportQuery=Import Query select must contain the string '$CONDITIONS'. diff --git a/mysql-plugin/src/e2e-test/resources/pluginParameters.properties b/mysql-plugin/src/e2e-test/resources/pluginParameters.properties index 215e4b830..5cf1095c0 100644 --- a/mysql-plugin/src/e2e-test/resources/pluginParameters.properties +++ b/mysql-plugin/src/e2e-test/resources/pluginParameters.properties @@ -44,10 +44,11 @@ invalid.tableName=table@123 sourceRef=source targetRef=target -outputSchema=[{"key":"id","value":"int"},{"key":"lastName","value":"string"}] +outputSchema=[{"key":"id","value":"int"},{"key":"lastName","value":"string"},{"key":"is_active","value":"int"}] invalid.query= select * invalid.password=mysqlroot1 invalid.database=test123 +invalidRef=%$%^_test #bq queries file path @@ -98,4 +99,9 @@ datatypesSchema=[{"key":"ID","value":"string"},{"key":"COL1","value":"long"},{"k {"key":"COL33","value":"string"}] bqOutputDatatypesSchema=[{"key":"id","value":"long"},{"key":"lastName","value":"string"}] - +connectionArguments=queryTimeout=50 +zeroValue=0 +invalidImportQuery=select +numberOfSplits=2 +connectionArgumentsForBooleanDataType=[{"key":"tinyInt1isBit","value":"true"}] +outputSourceSchema=[{"key":"id","value":"int"},{"key":"lastName","value":"string"},{"key":"is_active","value":"boolean"}]