Skip to content

Commit 79560d7

Browse files
committed
Extend tests for queries with params and move them into a separe test suite
1 parent 03c5f5d commit 79560d7

2 files changed

Lines changed: 67 additions & 13 deletions

File tree

test/tests/common_tests/basic_tests.robot

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,6 @@ SQL Statement Ending With Semicolon Works
1616
SQL Statement Ending Without Semicolon Works
1717
Query SELECT * FROM person;
1818

19-
SQL Statement With Parameters Works
20-
@{params}= Create List 2
21-
22-
IF "${DB_MODULE}" in ["oracledb"]
23-
${output}= Query SELECT * FROM person WHERE id < :id parameters=${params}
24-
ELSE IF "${DB_MODULE}" in ["sqlite3", "pyodbc"]
25-
${output}= Query SELECT * FROM person WHERE id < ? parameters=${params}
26-
ELSE
27-
${output}= Query SELECT * FROM person WHERE id < %s parameters=${params}
28-
END
29-
30-
Length Should Be ${output} 1
31-
3219
Create Person Table
3320
[Setup] Log No setup for this test
3421
${output}= Create Person Table
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
*** Settings ***
2+
Documentation Keywords with query params as seperate arguments work across all databases.
3+
4+
Resource ../../resources/common.resource
5+
6+
Suite Setup Connect To DB And Build Query
7+
Suite Teardown Disconnect From Database
8+
Test Setup Create Person Table And Insert Data
9+
Test Teardown Drop Tables Person And Foobar
10+
11+
12+
*** Variables ***
13+
@{PARAMS} Franz Allan
14+
15+
16+
*** Keywords ***
17+
Connect To DB And Build Query
18+
Connect To DB
19+
Build Query String With Params
20+
21+
Build Query String With Params
22+
${sql}= Set Variable SELECT id FROM person WHERE FIRST_NAME=
23+
IF "${DB_MODULE}" in ["oracledb", "cx_Oracle"]
24+
${sql}= Catenate ${sql} :id
25+
ELSE IF "${DB_MODULE}" in ["sqlite3", "pyodbc"]
26+
${sql}= Catenate ${sql} ?
27+
ELSE
28+
${sql}= Catenate ${sql} %s
29+
END
30+
Set Suite Variable ${QUERY} ${sql}
31+
32+
33+
*** Test Cases ***
34+
Query
35+
${out}= Query ${QUERY} parameters=${PARAMS}
36+
Length Should Be ${out} 1
37+
38+
Row Count
39+
${out}= Row Count ${QUERY} parameters=${PARAMS}
40+
Should Be Equal As Strings ${out} 1
41+
42+
Description
43+
${out}= Description ${QUERY} parameters=${PARAMS}
44+
Length Should Be ${out} 1
45+
46+
Execute SQL String
47+
Execute Sql String ${QUERY} parameters=${PARAMS}
48+
49+
Check If Exists In DB
50+
Check If Exists In Database ${QUERY} parameters=${PARAMS}
51+
52+
Check If Not Exists In DB
53+
@{Wrong params}= Create List Joe
54+
Check If Not Exists In Database ${QUERY} parameters=${Wrong params}
55+
56+
Row Count is 0
57+
@{Wrong params}= Create List Joe
58+
Row Count is 0 ${QUERY} parameters=${Wrong params}
59+
60+
Row Count is Equal to X
61+
Row Count is Equal to X ${QUERY} 1 parameters=${PARAMS}
62+
63+
Row Count is Less Than X
64+
Row Count is Less Than X ${QUERY} 5 parameters=${PARAMS}
65+
66+
Row Count is Greater Than X
67+
Row Count is Greater Than X ${QUERY} 0 parameters=${PARAMS}

0 commit comments

Comments
 (0)