-
Notifications
You must be signed in to change notification settings - Fork 181
Expand file tree
/
Copy pathscript_files.robot
More file actions
64 lines (55 loc) · 2.52 KB
/
script_files.robot
File metadata and controls
64 lines (55 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
*** Settings ***
Resource ../../resources/common.resource
Suite Setup Connect To DB
Suite Teardown Disconnect From Database
Test Setup Create Person Table
Test Teardown Drop Tables Person And Foobar
*** Test Cases ***
Semicolons As Statement Separators In One Line
Run SQL Script File statements_in_one_line
${sql}= Catenate select * from person
... where id=6 or id=7
${results}= Query ${sql}
Length Should Be ${results} 2
Should Be Equal As Strings ${results}[0] (6, 'Julian', 'Bashir')
Should Be Equal As Strings ${results}[1] (7, 'Jadzia', 'Dax')
Semicolons In Values
Run SQL Script File semicolons_in_values
${sql}= Catenate select * from person
... where id=3 or id=4
${results}= Query ${sql}
Length Should Be ${results} 2
Should Be Equal As Strings ${results}[0] (3, 'Hello; world', 'Another; value')
Should Be Equal As Strings ${results}[1] (4, 'May the Force; ', 'be with you;')
Semicolons And Quotes In Values
Run SQL Script File semicolons_and_quotes_in_values
${sql}= Catenate select * from person
... where LAST_NAME='O''Brian'
${results}= Query ${sql}
Length Should Be ${results} 2
Should Be Equal As Strings ${results}[0] (5, 'Miles', "O'Brian")
Should Be Equal As Strings ${results}[1] (6, 'Keiko', "O'Brian")
Split Script Into Statements - Internal Parser
Insert Data In Person Table Using SQL Script
@{Expected commands}= Create List
... SELECT * FROM person
... SELECT * FROM person WHERE id=1
${extracted commands}= Split Sql Script ${Script files dir}/split_commands.sql
Lists Should Be Equal ${Expected commands} ${extracted commands}
FOR ${command} IN @{extracted commands}
${results}= Query ${command}
END
Split Script Into Statements - External Parser
Insert Data In Person Table Using SQL Script
@{Expected commands}= Create List
... SELECT * FROM person;
... SELECT * FROM person WHERE id=1;
${extracted commands}= Split Sql Script ${Script files dir}/split_commands.sql external_parser=True
Lists Should Be Equal ${Expected commands} ${extracted commands}
FOR ${command} IN @{extracted commands}
${results}= Query ${command}
END
*** Keywords ***
Run SQL Script File
[Arguments] ${File Name}
Execute Sql Script ${Script files dir}/${File Name}.sql