Skip to content

Commit

Permalink
Add tests for aliased connections
Browse files Browse the repository at this point in the history
  • Loading branch information
bhirsz committed Nov 7, 2023
1 parent edbede8 commit 53af63f
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 2 deletions.
7 changes: 5 additions & 2 deletions test/resources/common.resource
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@ ${DB_DRIVER} ODBC Driver 18 for SQL Server
Connect To DB
[Documentation] Connects to the database based on the current DB module under test
... and connection params set in global variables
[Arguments] ${alias}=${None}
IF "${DB_MODULE_MODE}" == "custom"
IF "${DB_MODULE}" == "sqlite3"
Remove File ${DBName}.db
Connect To Database Using Custom Params sqlite3 database="./${DBName}.db", isolation_level=None
Connect To Database Using Custom Params sqlite3 database="./${DBName}.db", isolation_level=None alias=${alias}
ELSE
${Connection String}= Build Connection String
Connect To Database Using Custom Connection String ${DB_MODULE} ${Connection String}
Connect To Database Using Custom Connection String ${DB_MODULE} ${Connection String} alias=${alias}
END
ELSE IF "${DB_MODULE_MODE}" == "standard"
IF "${DB_MODULE}" == "pyodbc"
Expand All @@ -42,6 +43,7 @@ Connect To DB
... ${DB_HOST}
... ${DB_PORT}
... dbDriver=${DB_DRIVER}
... alias=${alias}
ELSE
Connect To Database
... ${DB_MODULE}
Expand All @@ -50,6 +52,7 @@ Connect To DB
... ${DB_PASS}
... ${DB_HOST}
... ${DB_PORT}
... alias=${alias}
END
ELSE
Fail Unexpected mode - ${DB_MODULE_MODE}
Expand Down
40 changes: 40 additions & 0 deletions test/tests/common_tests/aliased_connection.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
*** Settings ***
Resource ../../resources/common.resource
Suite Setup Create Person Table
Suite Teardown Drop Tables Person And Foobar
Test Teardown Disconnect From All Databases


*** Test Cases ***
Connections Can Be Aliased
Connect To DB # default alias
Connect To DB alias=second

Default Alias Can Be Empty
Connect To DB # default alias
Query SELECT * FROM person
Connect To DB alias=second
Query SELECT * FROM person
Query SELECT * FROM person alias=second

Switch From Default And Disconnect
Connect To DB # default alias
Connect To DB alias=second
Switch Database second
Query SELECT * FROM person # query with 'second' connection
Disconnect From Database alias=second
Query SELECT * FROM person # query with 'default' connection

Disconnect Not Existing Alias
Connect To DB # default alias
Disconnect From Database alias=idontexist # silent warning
Run Keyword And Expect Error No open database connection to close
... Disconnect From Database alias=idontexist error_if_no_connection=${True}
# default alias exist and can be closed
Disconnect From Database error_if_no_connection=${True}

Switch Not Existing Alias
Run Keyword And Expect Error Non-existing index or alias 'second'
... Switch Database second

# To be done - check if all methods that accept aliases works with them

0 comments on commit 53af63f

Please sign in to comment.