From 946c2592de78e9e9f501c31e96c5a56651e0512a Mon Sep 17 00:00:00 2001 From: amochin Date: Wed, 25 Sep 2024 11:39:50 +0200 Subject: [PATCH] Make connection params tests work also for pyodbc --- test/resources/config_files/pyodbc/charset_invalid.cfg | 1 + .../config_files/pyodbc/custom_param_password.cfg | 5 +++-- .../config_files/pyodbc/invalid_custom_params.cfg | 1 + .../resources/config_files/pyodbc/simple_default_alias.cfg | 3 ++- .../config_files/pyodbc/some_basic_params_missing.cfg | 3 ++- test/resources/config_files/pyodbc/valid_custom_params.cfg | 7 ++++--- test/resources/config_files/pyodbc/wrong_password.cfg | 3 ++- test/tests/common_tests/connection_params.robot | 6 +++++- 8 files changed, 20 insertions(+), 9 deletions(-) diff --git a/test/resources/config_files/pyodbc/charset_invalid.cfg b/test/resources/config_files/pyodbc/charset_invalid.cfg index 3e7b0d7..73a0be8 100644 --- a/test/resources/config_files/pyodbc/charset_invalid.cfg +++ b/test/resources/config_files/pyodbc/charset_invalid.cfg @@ -5,4 +5,5 @@ user=db_user password=pass dbHost=127.0.0.1 dbPort=3306 +dbDriver={MySQL ODBC 8.0 ANSI Driver} dbCharset=wrong \ No newline at end of file diff --git a/test/resources/config_files/pyodbc/custom_param_password.cfg b/test/resources/config_files/pyodbc/custom_param_password.cfg index 6989a2d..6021e0a 100644 --- a/test/resources/config_files/pyodbc/custom_param_password.cfg +++ b/test/resources/config_files/pyodbc/custom_param_password.cfg @@ -1,6 +1,7 @@ [default] dbapiModuleName=pyodbc dbName=db -password=pass +PWD=pass dbHost=127.0.0.1 -dbPort=3306 \ No newline at end of file +dbPort=3306 +dbDriver={MySQL ODBC 8.0 ANSI Driver} \ No newline at end of file diff --git a/test/resources/config_files/pyodbc/invalid_custom_params.cfg b/test/resources/config_files/pyodbc/invalid_custom_params.cfg index e7001c5..7fe6682 100644 --- a/test/resources/config_files/pyodbc/invalid_custom_params.cfg +++ b/test/resources/config_files/pyodbc/invalid_custom_params.cfg @@ -5,4 +5,5 @@ dbUsername=db_user dbPassword=pass dbHost=127.0.0.1 dbPort=3306 +dbDriver={MySQL ODBC 8.0 ANSI Driver} blah=blah \ No newline at end of file diff --git a/test/resources/config_files/pyodbc/simple_default_alias.cfg b/test/resources/config_files/pyodbc/simple_default_alias.cfg index 91b1569..d7cf249 100644 --- a/test/resources/config_files/pyodbc/simple_default_alias.cfg +++ b/test/resources/config_files/pyodbc/simple_default_alias.cfg @@ -4,4 +4,5 @@ dbName=db dbUsername=db_user dbPassword=pass dbHost=127.0.0.1 -dbPort=3306 \ No newline at end of file +dbPort=3306 +dbDriver={MySQL ODBC 8.0 ANSI Driver} \ No newline at end of file diff --git a/test/resources/config_files/pyodbc/some_basic_params_missing.cfg b/test/resources/config_files/pyodbc/some_basic_params_missing.cfg index 436ebc9..99e69f6 100644 --- a/test/resources/config_files/pyodbc/some_basic_params_missing.cfg +++ b/test/resources/config_files/pyodbc/some_basic_params_missing.cfg @@ -1,3 +1,4 @@ [default] dbapiModuleName=pyodbc -dbName=db \ No newline at end of file +dbName=db +dbDriver={MySQL ODBC 8.0 ANSI Driver} \ No newline at end of file diff --git a/test/resources/config_files/pyodbc/valid_custom_params.cfg b/test/resources/config_files/pyodbc/valid_custom_params.cfg index eb8d71f..eab93c8 100644 --- a/test/resources/config_files/pyodbc/valid_custom_params.cfg +++ b/test/resources/config_files/pyodbc/valid_custom_params.cfg @@ -1,7 +1,8 @@ [default] dbapiModuleName=pyodbc dbName=db -user=db_user -password=pass +UID=db_user +PWD=pass dbHost=127.0.0.1 -dbPort=3306 \ No newline at end of file +dbPort=3306 +dbDriver={MySQL ODBC 8.0 ANSI Driver} \ No newline at end of file diff --git a/test/resources/config_files/pyodbc/wrong_password.cfg b/test/resources/config_files/pyodbc/wrong_password.cfg index 622e1d8..ac7a25c 100644 --- a/test/resources/config_files/pyodbc/wrong_password.cfg +++ b/test/resources/config_files/pyodbc/wrong_password.cfg @@ -4,4 +4,5 @@ dbName=db dbUsername=db_user dbPassword=wrong dbHost=127.0.0.1 -dbPort=3306 \ No newline at end of file +dbPort=3306 +dbDriver={MySQL ODBC 8.0 ANSI Driver} \ No newline at end of file diff --git a/test/tests/common_tests/connection_params.robot b/test/tests/common_tests/connection_params.robot index ff8db1a..91c6dc4 100644 --- a/test/tests/common_tests/connection_params.robot +++ b/test/tests/common_tests/connection_params.robot @@ -21,7 +21,7 @@ Test Teardown Disconnect From Database ... missing basic params=OperationalError: (1045, "Access denied* ... invalid custom param=TypeError: __init__() got an unexpected keyword argument 'blah' &{Errors pyodbc} -... missing basic params=OperationalError: (20002, b'DB-Lib error message 20002, severity 9* +... missing basic params=REGEXP: InterfaceError.*Data source name not found and no default driver specified.* ... invalid custom param=TypeError: connect() got an unexpected keyword argument 'blah' &{Errors} @@ -46,6 +46,7 @@ All basic params, no config file ... dbPassword=${DB_PASS} ... dbHost=${DB_HOST} ... dbPort=${DB_PORT} + ... dbDriver=${DB_DRIVER} Missing basic params are accepted, error from Python DB module Run Keyword And Expect Error @@ -59,6 +60,7 @@ Custom params as keyword args - valid ... dbName=${DB_NAME} ... dbHost=${DB_HOST} ... dbPort=${DB_PORT} + ... dbDriver=${DB_DRIVER} ... user=${DB_USER} ... password=${DB_PASS} @@ -72,6 +74,7 @@ Custom params as keyword args - invalid, error from Python DB module ... dbPort=${DB_PORT} ... dbUsername=${DB_USER} ... dbPassword=${DB_PASS} + ... dbDriver=${DB_DRIVER} ... blah=blah All basic params in config file @@ -132,6 +135,7 @@ MSSQL / MySQL / PyODBC specific - charset as keyword argument ... dbPassword=${DB_PASS} ... dbHost=${DB_HOST} ... dbPort=${DB_PORT} + ... dbDriver=${DB_DRIVER} ... dbCharset=LATIN1 MSSQL / PyODBC specific - charset in config file - invalid