Skip to content

Commit ec4dc83

Browse files
committed
Merge pull request #151 from phongdly/FM-3655/SQL_Server_CI_acceptance_issues
(FM-3655) SQL Server CI acceptance issues
2 parents 3b9518a + fa348d7 commit ec4dc83

File tree

4 files changed

+68
-68
lines changed

4 files changed

+68
-68
lines changed

spec/acceptance/sqlserver_config_spec.rb

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@
55
host = find_only_one("sql_host")
66

77
# Get instance name
8-
INST_NAME = ("MSSQL" + SecureRandom.hex(4)).upcase
8+
inst_name = ("MSSQL" + SecureRandom.hex(4)).upcase
99

1010
# Get database name
11-
DB_NAME = ("DB" + SecureRandom.hex(4)).upcase
11+
db_name = ("DB" + SecureRandom.hex(4)).upcase
1212

1313
describe "sqlserver::config test", :node => host do
14-
version = host['sql_version'].to_s
1514

16-
def ensure_sqlserver_instance(host, ensure_val = 'present')
15+
def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
1716
create_new_instance= <<-MANIFEST
18-
sqlserver_instance{'#{INST_NAME}':
17+
sqlserver_instance{'#{inst_name}':
1918
ensure => '#{ensure_val}',
2019
source => 'H:',
2120
features => [ 'SQL' ],
@@ -34,7 +33,7 @@ def ensure_sqlserver_instance(host, ensure_val = 'present')
3433

3534
before(:all) do
3635
# Create new instance
37-
ensure_sqlserver_instance(host)
36+
ensure_sqlserver_instance(host, inst_name)
3837

3938
# get credentials for new config
4039
@admin_user = "admin" + SecureRandom.hex(2)
@@ -51,13 +50,13 @@ def ensure_sqlserver_instance(host, ensure_val = 'present')
5150

5251
it "Create New Admin Login:" do
5352
create_new_login = <<-MANIFEST
54-
sqlserver::config{'#{INST_NAME}':
55-
instance_name => '#{INST_NAME}',
53+
sqlserver::config{'#{inst_name}':
54+
instance_name => '#{inst_name}',
5655
admin_user => 'sa',
5756
admin_pass => 'Pupp3t1@',
5857
}
5958
sqlserver::login{'#{@admin_user}':
60-
instance => '#{INST_NAME}',
59+
instance => '#{inst_name}',
6160
login_type => 'SQL_LOGIN',
6261
login => '#{@admin_user}',
6362
password => '#{@admin_pass}',
@@ -71,13 +70,13 @@ def ensure_sqlserver_instance(host, ensure_val = 'present')
7170

7271
it "Validate New Config WITH using instance_name in sqlserver::config" do
7372
pp = <<-MANIFEST
74-
sqlserver::config{'#{INST_NAME}':
73+
sqlserver::config{'#{inst_name}':
7574
admin_user => '#{@admin_user}',
7675
admin_pass => '#{@admin_pass}',
77-
instance_name => '#{INST_NAME}',
76+
instance_name => '#{inst_name}',
7877
}
79-
sqlserver::database{'#{DB_NAME}':
80-
instance => '#{INST_NAME}',
78+
sqlserver::database{'#{db_name}':
79+
instance => '#{inst_name}',
8180
}
8281
MANIFEST
8382
apply_manifest_on(host, pp) do |r|
@@ -87,20 +86,20 @@ def ensure_sqlserver_instance(host, ensure_val = 'present')
8786

8887
it "Validate new login and database actualy created" do
8988
hostname = host.hostname
90-
query = "USE #{DB_NAME}; SELECT * from master..sysdatabases WHERE name = '#{DB_NAME}'"
89+
query = "USE #{db_name}; SELECT * from master..sysdatabases WHERE name = '#{db_name}'"
9190

92-
run_sql_query(host, {:query => query, :server => hostname, :instance => INST_NAME, \
91+
run_sql_query(host, {:query => query, :server => hostname, :instance => inst_name, \
9392
:sql_admin_user => @admin_user, :sql_admin_pass => @admin_pass, :expected_row_count => 1})
9493
end
9594

9695
it "Validate New Config WITHOUT using instance_name in sqlserver::config" do
9796
pp = <<-MANIFEST
98-
sqlserver::config{'#{INST_NAME}':
97+
sqlserver::config{'#{inst_name}':
9998
admin_user => '#{@admin_user}',
10099
admin_pass => '#{@admin_pass}',
101100
}
102-
sqlserver::database{'#{DB_NAME}':
103-
instance => '#{INST_NAME}',
101+
sqlserver::database{'#{db_name}':
102+
instance => '#{inst_name}',
104103
}
105104
MANIFEST
106105
apply_manifest_on(host, pp) do |r|
@@ -110,12 +109,12 @@ def ensure_sqlserver_instance(host, ensure_val = 'present')
110109

111110
it "Negative test: sqlserver::config without admin_user" do
112111
pp = <<-MANIFEST
113-
sqlserver::config{'#{INST_NAME}':
112+
sqlserver::config{'#{inst_name}':
114113
admin_pass => '#{@admin_pass}',
115-
instance_name => '#{INST_NAME}',
114+
instance_name => '#{inst_name}',
116115
}
117-
sqlserver::database{'#{DB_NAME}':
118-
instance => '#{INST_NAME}',
116+
sqlserver::database{'#{db_name}':
117+
instance => '#{inst_name}',
119118
}
120119
MANIFEST
121120
apply_manifest_on(host, pp, {:acceptable_exit_codes => [0,1]}) do |r|
@@ -125,12 +124,12 @@ def ensure_sqlserver_instance(host, ensure_val = 'present')
125124

126125
it "Negative test: sqlserver::config without admin_pass" do
127126
pp = <<-MANIFEST
128-
sqlserver::config{'#{INST_NAME}':
127+
sqlserver::config{'#{inst_name}':
129128
admin_user => '#{@admin_user}',
130-
instance_name => '#{INST_NAME}',
129+
instance_name => '#{inst_name}',
131130
}
132-
sqlserver::database{'#{DB_NAME}':
133-
instance => '#{INST_NAME}',
131+
sqlserver::database{'#{db_name}':
132+
instance => '#{inst_name}',
134133
}
135134
MANIFEST
136135
apply_manifest_on(host, pp, {:acceptable_exit_codes => [0,1]}) do |r|

spec/acceptance/sqlserver_role_spec.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@
66
hostname = host.hostname
77

88
# database name
9-
DB_NAME = ("DB" + SecureRandom.hex(4)).upcase
9+
db_name = ("DB" + SecureRandom.hex(4)).upcase
1010
LOGIN1 = "Login1_" + SecureRandom.hex(2)
1111
LOGIN2 = "Login2_" + SecureRandom.hex(2)
1212
LOGIN3 = "Login3_" + SecureRandom.hex(2)
1313
USER1 = "User1_" + SecureRandom.hex(2)
1414

1515
describe "Test sqlserver::role", :node => host do
1616

17-
def ensure_sqlserver_logins_users(host)
17+
def ensure_sqlserver_logins_users(host, db_name)
1818
pp = <<-MANIFEST
1919
sqlserver::config{'MSSQLSERVER':
2020
admin_user => 'sa',
2121
admin_pass => 'Pupp3t1@',
2222
}
23-
sqlserver::database{ '#{DB_NAME}':
23+
sqlserver::database{ '#{db_name}':
2424
}
2525
sqlserver::login{'#{LOGIN1}':
2626
login_type => 'SQL_LOGIN',
@@ -35,7 +35,7 @@ def ensure_sqlserver_logins_users(host)
3535
password => 'Pupp3t1@',
3636
}
3737
sqlserver::user{'#{USER1}':
38-
database => '#{DB_NAME}',
38+
database => '#{db_name}',
3939
user => '#{USER1}',
4040
login => '#{LOGIN1}',
4141
default_schema => 'guest',
@@ -50,7 +50,7 @@ def ensure_sqlserver_logins_users(host)
5050
context "Start testing sqlserver::role", {:testrail => ['89161', '89162', '89163', '89164', '89165']} do
5151
before(:all) do
5252
# Create database users
53-
ensure_sqlserver_logins_users(host)
53+
ensure_sqlserver_logins_users(host, db_name)
5454
end
5555
before(:each) do
5656
@role = "Role_" + SecureRandom.hex(2)
@@ -78,7 +78,7 @@ def ensure_sqlserver_logins_users(host)
7878
admin_pass => 'Pupp3t1@',
7979
}
8080
sqlserver::user{'#{USER1}':
81-
database => '#{DB_NAME}',
81+
database => '#{db_name}',
8282
ensure => 'absent',
8383
}
8484
MANIFEST
@@ -106,7 +106,7 @@ def ensure_sqlserver_logins_users(host)
106106
end
107107

108108
#validate that the database-specific role '#{@role}' is successfully created with specified permissions':
109-
query = "USE #{DB_NAME};
109+
query = "USE #{db_name};
110110
SELECT spr.principal_id, spr.name,
111111
spe.state_desc, spe.permission_name
112112
FROM sys.server_principals AS spr
@@ -117,7 +117,7 @@ def ensure_sqlserver_logins_users(host)
117117
run_sql_query(host, { :query => query, :server => hostname, :expected_row_count => 2 })
118118

119119
# validate that the database-specific role '#{@role}' has correct authorization #{LOGIN1}
120-
query = "USE #{DB_NAME};
120+
query = "USE #{db_name};
121121
SELECT spr.name, sl.name
122122
FROM sys.server_principals AS spr
123123
JOIN sys.sql_logins AS sl
@@ -136,7 +136,7 @@ def ensure_sqlserver_logins_users(host)
136136
sqlserver::role{'DatabaseRole':
137137
ensure => 'present',
138138
role => '#{@role}',
139-
database => '#{DB_NAME}',
139+
database => '#{db_name}',
140140
permissions => {'GRANT' => ['SELECT', 'INSERT', 'UPDATE', 'DELETE', 'CONTROL', 'ALTER']},
141141
type => 'DATABASE',
142142
}
@@ -146,7 +146,7 @@ def ensure_sqlserver_logins_users(host)
146146
end
147147

148148
# validate that the database-specific role '#{@role}' is successfully created with specified permissions':
149-
query = "USE #{DB_NAME};
149+
query = "USE #{db_name};
150150
SELECT pr.principal_id, pr.name, pr.type_desc,
151151
pr.authentication_type_desc, pe.state_desc, pe.permission_name
152152
FROM sys.database_principals AS pr
@@ -178,7 +178,7 @@ def ensure_sqlserver_logins_users(host)
178178
end
179179

180180
#validate that the server role '#{@role}' is successfully created with specified permissions':
181-
query = "USE #{DB_NAME};
181+
query = "USE #{db_name};
182182
SELECT spr.principal_id AS ID, spr.name AS Server_Role,
183183
spe.state_desc, spe.permission_name
184184
FROM sys.server_principals AS spr
@@ -189,7 +189,7 @@ def ensure_sqlserver_logins_users(host)
189189
run_sql_query(host, { :query => query, :server => hostname, :expected_row_count => 2 })
190190

191191
#validate that the t server role '#{@role}' has correct members (Login1, 2, 3)
192-
query = "USE #{DB_NAME};
192+
query = "USE #{db_name};
193193
SELECT spr.principal_id AS ID, spr.name AS ServerRole
194194
FROM sys.server_principals AS spr
195195
JOIN sys.server_role_members m
@@ -222,7 +222,7 @@ def ensure_sqlserver_logins_users(host)
222222
end
223223

224224
#validate that the t server role '#{@role}' has correct members (only Login3)
225-
query = "USE #{DB_NAME};
225+
query = "USE #{db_name};
226226
SELECT spr.principal_id AS ID, spr.name AS ServerRole
227227
FROM sys.server_principals AS spr
228228
JOIN sys.server_role_members m

spec/acceptance/sqlserver_tsql_spec.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
host = find_only_one("sql_host")
66

77
# database name
8-
DB_NAME = ("DB" + SecureRandom.hex(4)).upcase
8+
db_name = ("DB" + SecureRandom.hex(4)).upcase
99

1010
#database user:
1111
DB_LOGIN_USER = "loginuser" + SecureRandom.hex(2)
1212

1313
describe "sqlserver_tsql test", :node => host do
1414

15-
def ensure_sqlserver_database(host, ensure_val = 'present')
15+
def ensure_sqlserver_database(host,db_name, ensure_val = 'present')
1616
pp = <<-MANIFEST
1717
sqlserver::config{'MSSQLSERVER':
1818
admin_user => 'sa',
1919
admin_pass => 'Pupp3t1@',
2020
}
21-
sqlserver::database{'#{DB_NAME}':
21+
sqlserver::database{'#{db_name}':
2222
instance => 'MSSQLSERVER',
2323
}
2424
MANIFEST
@@ -33,9 +33,9 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
3333
before(:all) do
3434
# Create new database
3535
@table_name = 'Tables_' + SecureRandom.hex(3)
36-
@query = "USE #{DB_NAME}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
36+
@query = "USE #{db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
3737

38-
ensure_sqlserver_database(host)
38+
ensure_sqlserver_database(host, db_name)
3939
end
4040

4141
after(:all) do
@@ -52,7 +52,7 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
5252
}
5353
sqlserver_tsql{'testsqlserver_tsql':
5454
instance => 'MSSQLSERVER',
55-
database => '#{DB_NAME}',
55+
database => '#{db_name}',
5656
command => "CREATE TABLE #{@table_name} (id INT, name VARCHAR(20), email VARCHAR(20));",
5757
}
5858
MANIFEST
@@ -73,7 +73,7 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
7373
it "Run sqlserver_tsql WITH onlyif is true:" do
7474
#Initilize a new table name:
7575
@table_name = 'Table_' + SecureRandom.hex(3)
76-
@query = "USE #{DB_NAME}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
76+
@query = "USE #{db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
7777
pp = <<-MANIFEST
7878
sqlserver::config{'MSSQLSERVER':
7979
instance_name => 'MSSQLSERVER',
@@ -82,7 +82,7 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
8282
}
8383
sqlserver_tsql{'testsqlserver_tsql':
8484
instance => 'MSSQLSERVER',
85-
database => '#{DB_NAME}',
85+
database => '#{db_name}',
8686
command => "CREATE TABLE #{@table_name} (id INT, name VARCHAR(20), email VARCHAR(20));",
8787
onlyif => "IF (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES) < 10000"
8888
}
@@ -105,7 +105,7 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
105105
it "Run sqlserver_tsql WITH onlyif is false:" do
106106
#Initilize a new table name:
107107
@table_name = 'Table_' + SecureRandom.hex(3)
108-
@query = "USE #{DB_NAME}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
108+
@query = "USE #{db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
109109
pp = <<-MANIFEST
110110
sqlserver::config{'MSSQLSERVER':
111111
instance_name => 'MSSQLSERVER',
@@ -114,7 +114,7 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
114114
}
115115
sqlserver_tsql{'testsqlserver_tsql':
116116
instance => 'MSSQLSERVER',
117-
database => '#{DB_NAME}',
117+
database => '#{db_name}',
118118
command => "CREATE TABLE #{@table_name} (id INT, name VARCHAR(20), email VARCHAR(20));",
119119
onlyif => "IF (SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES) > 10000
120120
THROW 5300, 'Too many tables', 10"
@@ -144,7 +144,7 @@ def ensure_sqlserver_database(host, ensure_val = 'present')
144144
}
145145
sqlserver_tsql{'testsqlserver_tsql':
146146
instance => 'MSSQLSERVER',
147-
database => '#{DB_NAME}',
147+
database => '#{db_name}',
148148
command => "invalid-tsql-command",
149149
}
150150
MANIFEST

0 commit comments

Comments
 (0)