Skip to content

Commit b596297

Browse files
authored
Merge pull request #223 from ThoughtCrhyme/FM-5062
(FM-5062) Add testmode switcher to sqlserver module
2 parents e87c9a6 + 1cffd31 commit b596297

11 files changed

+104
-93
lines changed

.sync.yml

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ Gemfile:
55
optional:
66
':development':
77
- gem: yard
8+
':system_tests':
9+
- gem: beaker-testmode_switcher
10+
version: '<= 0.2.0'
11+
- gem: master_manipulator
812
Rakefile:
913
unmanaged: true
1014
spec/spec_helper.rb:

Gemfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ group :system_tests do
6060
gem "beaker-pe", :require => false
6161
gem "beaker-rspec", *location_for(ENV['BEAKER_RSPEC_VERSION'])
6262
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'])
63-
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
63+
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
64+
gem "beaker-testmode_switcher", '<= 0.2.0', :require => false
65+
gem 'master_manipulator', :require => false
6466
end
6567

6668
gem 'puppet', *location_for(ENV['PUPPET_GEM_VERSION'])

spec/acceptance/sqlserver_config_spec.rb

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

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

15-
def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
15+
def ensure_sqlserver_instance(inst_name, ensure_val = 'present')
1616
create_new_instance= <<-MANIFEST
1717
sqlserver_instance{'#{inst_name}':
1818
ensure => '#{ensure_val}',
@@ -25,7 +25,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
2525
}
2626
MANIFEST
2727

28-
apply_manifest_on(host, create_new_instance) do |r|
28+
execute_manifest(create_new_instance) do |r|
2929
expect(r.stderr).not_to match(/Error/i)
3030
end
3131
end
@@ -34,7 +34,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
3434

3535
before(:all) do
3636
# Create new instance
37-
ensure_sqlserver_instance(host, inst_name)
37+
ensure_sqlserver_instance(inst_name)
3838

3939
# get credentials for new config
4040
@admin_user = "admin" + SecureRandom.hex(2)
@@ -46,7 +46,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
4646

4747
after(:all) do
4848
# remove the newly created instance
49-
ensure_sqlserver_instance(host, 'absent')
49+
ensure_sqlserver_instance('absent')
5050
end
5151

5252
it "Create New Admin Login:" do
@@ -64,7 +64,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
6464
svrroles => {'sysadmin' => 1},
6565
}
6666
MANIFEST
67-
apply_manifest_on(host, create_new_login) do |r|
67+
execute_manifest(create_new_login) do |r|
6868
expect(r.stderr).not_to match(/Error/i)
6969
end
7070
end
@@ -80,7 +80,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
8080
instance => '#{inst_name}',
8181
}
8282
MANIFEST
83-
apply_manifest_on(host, pp) do |r|
83+
execute_manifest(pp) do |r|
8484
expect(r.stderr).not_to match(/Error/i)
8585
end
8686
end
@@ -103,7 +103,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
103103
instance => '#{inst_name}',
104104
}
105105
MANIFEST
106-
apply_manifest_on(host, pp) do |r|
106+
execute_manifest(pp) do |r|
107107
expect(r.stderr).not_to match(/Error/i)
108108
end
109109
end

spec/acceptance/sqlserver_database_spec.rb

+12-12
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
describe "Test sqlserver::database", :node => host do
77

8-
def ensure_sqlserver_database(host, pp)
9-
apply_manifest_on(host, pp) do |r|
8+
def ensure_sqlserver_database(pp)
9+
execute_manifest(pp) do |r|
1010
expect(r.stderr).not_to match(/Error/i)
1111
end
1212
end
@@ -39,7 +39,7 @@ def run_sql_query_opts (query, expected_row_count)
3939
ensure => 'absent',
4040
}
4141
MANIFEST
42-
ensure_sqlserver_database(host, pp)
42+
ensure_sqlserver_database(pp)
4343
end
4444

4545
it "Test Case C89019: Create a database" do
@@ -57,7 +57,7 @@ def run_sql_query_opts (query, expected_row_count)
5757
require => Sqlserver::Database['#{@db_name}'],
5858
}
5959
MANIFEST
60-
ensure_sqlserver_database(host, pp)
60+
ensure_sqlserver_database(pp)
6161

6262
puts "Validate the Database '#{@db_name}' and table '#{@table_name}' are successfully created:"
6363
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
@@ -73,7 +73,7 @@ def run_sql_query_opts (query, expected_row_count)
7373
sqlserver::database{'#{@db_name}':
7474
}
7575
MANIFEST
76-
ensure_sqlserver_database(host, pp)
76+
ensure_sqlserver_database(pp)
7777

7878
puts "Validate the Database '#{@db_name}' exists"
7979
query = "SELECT database_id from sys.databases WHERE name = '#{@db_name}';"
@@ -88,7 +88,7 @@ def run_sql_query_opts (query, expected_row_count)
8888
ensure => absent,
8989
}
9090
MANIFEST
91-
ensure_sqlserver_database(host, pp)
91+
ensure_sqlserver_database(pp)
9292

9393
puts "Validate the Database '#{@db_name}' does not exist"
9494
query = "SELECT database_id from sys.databases WHERE name = '#{@db_name}';"
@@ -111,7 +111,7 @@ def run_sql_query_opts (query, expected_row_count)
111111
require => Sqlserver::Database['#{@db_name}'],
112112
}
113113
MANIFEST
114-
ensure_sqlserver_database(host, pp)
114+
ensure_sqlserver_database(pp)
115115

116116
puts "Validate that a table can be created in the database:"
117117
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
@@ -142,7 +142,7 @@ def run_sql_query_opts (query, expected_row_count)
142142
require => Sqlserver::Database['#{@db_name}'],
143143
}
144144
MANIFEST
145-
ensure_sqlserver_database(host, pp)
145+
ensure_sqlserver_database(pp)
146146

147147
puts "Validate that a table can be created in the database:"
148148
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
@@ -180,7 +180,7 @@ def run_sql_query_opts (query, expected_row_count)
180180
require => Sqlserver::Database['#{@db_name}'],
181181
}
182182
MANIFEST
183-
ensure_sqlserver_database(host, pp)
183+
ensure_sqlserver_database(pp)
184184

185185
puts "Validate that a table can be created in the database:"
186186
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
@@ -219,7 +219,7 @@ def run_sql_query_opts (query, expected_row_count)
219219
require => Sqlserver::Database['#{@db_name}'],
220220
}
221221
MANIFEST
222-
ensure_sqlserver_database(host, pp)
222+
ensure_sqlserver_database(pp)
223223

224224
puts "Validate that a table can be created in the database:"
225225
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
@@ -258,7 +258,7 @@ def run_sql_query_opts (query, expected_row_count)
258258
require => Sqlserver::Database['#{@db_name}'],
259259
}
260260
MANIFEST
261-
ensure_sqlserver_database(host, pp)
261+
ensure_sqlserver_database(pp)
262262

263263
puts "Validate that a table can be created in the database:"
264264
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"
@@ -297,7 +297,7 @@ def run_sql_query_opts (query, expected_row_count)
297297
require => Sqlserver::Database['#{@db_name}'],
298298
}
299299
MANIFEST
300-
ensure_sqlserver_database(host, pp)
300+
ensure_sqlserver_database(pp)
301301

302302
puts "Validate that a table can be created in the database:"
303303
query = "USE #{@db_name}; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '#{@table_name}';"

spec/acceptance/sqlserver_instance_spec.rb

+12-12
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def new_random_instance_name
1111
describe "sqlserver_instance", :node => host do
1212
version = host['sql_version'].to_s
1313

14-
def ensure_sqlserver_instance(host, features, inst_name, ensure_val = 'present', sysadmin_accounts = "['Administrator']")
14+
def ensure_sqlserver_instance(features, inst_name, ensure_val = 'present', sysadmin_accounts = "['Administrator']")
1515
manifest = <<-MANIFEST
1616
sqlserver_instance{'#{inst_name}':
1717
name => '#{inst_name}',
@@ -31,7 +31,7 @@ def ensure_sqlserver_instance(host, features, inst_name, ensure_val = 'present',
3131

3232
pp = ERB.new(manifest).result(binding)
3333

34-
apply_manifest_on(host, pp) do |r|
34+
execute_manifest(pp) do |r|
3535
expect(r.stderr).not_to match(/Error/i)
3636
end
3737
end
@@ -68,7 +68,7 @@ def sql_query_is_user_sysadmin(username)
6868
password => 'Puppet01!',
6969
}
7070
MANIFEST
71-
apply_manifest_on(host,pp)
71+
execute_manifest(pp)
7272
end
7373

7474
after(:context) do
@@ -77,14 +77,14 @@ def sql_query_is_user_sysadmin(username)
7777
ensure => absent,
7878
}
7979
MANIFEST
80-
apply_manifest_on(host,pp)
80+
execute_manifest(pp)
8181
end
8282

8383
inst_name = new_random_instance_name
8484
features = ['SQLEngine', 'Replication', 'FullText', 'DQ']
8585

8686
it "create #{inst_name} instance" do
87-
ensure_sqlserver_instance(host, features, inst_name,'present',"['Administrator','ExtraSQLAdmin']")
87+
ensure_sqlserver_instance(features, inst_name,'present',"['Administrator','ExtraSQLAdmin']")
8888

8989
validate_sql_install(host, {:version => version}) do |r|
9090
expect(r.stdout).to match(/#{Regexp.new(inst_name)}/)
@@ -100,7 +100,7 @@ def sql_query_is_user_sysadmin(username)
100100
end
101101

102102
it "remove #{inst_name} instance" do
103-
ensure_sqlserver_instance(host, features, inst_name, 'absent')
103+
ensure_sqlserver_instance(features, inst_name, 'absent')
104104

105105
# Ensure all features for this instance are removed and the defaults are left alone
106106
validate_sql_install(host, {:version => version}) do |r|
@@ -115,15 +115,15 @@ def sql_query_is_user_sysadmin(username)
115115
end
116116

117117
context "Feature has only one 'RS'", {:testrail => ['89034']} do
118-
inst_name = new_random_instance_name
119-
features = ['RS']
118+
inst_name = new_random_instance_name
119+
features = ['RS']
120120

121121
after(:all) do
122-
ensure_sqlserver_instance(host, features, inst_name, 'absent')
122+
ensure_sqlserver_instance(features, inst_name, 'absent')
123123
end
124124

125125
it "create #{inst_name} instance with only one RS feature" do
126-
ensure_sqlserver_instance(host, features, inst_name)
126+
ensure_sqlserver_instance(features, inst_name)
127127

128128
validate_sql_install(host, {:version => version}) do |r|
129129
expect(r.stdout).to match(/#{inst_name}\s+Reporting Services/)
@@ -136,13 +136,13 @@ def sql_query_is_user_sysadmin(username)
136136
features = ['AS']
137137

138138
after(:all) do
139-
ensure_sqlserver_instance(host, features, inst_name, 'absent')
139+
ensure_sqlserver_instance(features, inst_name, 'absent')
140140
end
141141

142142
#skip below test due to ticket MODULES-2379, when the ticket was resolved
143143
# will change xit to it
144144
xit "create #{inst_name} instance with only one AS feature" do
145-
ensure_sqlserver_instance(host, features, inst_name)
145+
ensure_sqlserver_instance(features, inst_name)
146146

147147
validate_sql_install(host, {:version => version}) do |r|
148148
expect(r.stdout).to match(/#{Regexp.new(inst_name)}/)

spec/acceptance/sqlserver_login_spec.rb

+14-14
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
# Covers testrail => ['89118', '89119', '89120', '89121', '89122', '89123', '89124', '89125', '89540']
99
describe "Test sqlserver::login", :node => host do
1010

11-
def ensure_manifest_apply(host, pp)
12-
apply_manifest_on(host, pp) do |r|
11+
def ensure_manifest_execute(pp)
12+
execute_manifest(pp) do |r|
1313
expect(r.stderr).not_to match(/Error/i)
1414
end
1515
end
@@ -46,7 +46,7 @@ def remove_test_logins(host)
4646
ensure => 'absent',
4747
}
4848
MANIFEST
49-
ensure_manifest_apply(host, pp)
49+
ensure_manifest_execute(pp)
5050
end
5151

5252
def create_login_manifest (testcase,login_name,login_password,options = {})
@@ -114,7 +114,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
114114
ensure => 'present',
115115
}
116116
MANIFEST
117-
ensure_manifest_apply(host, pp)
117+
ensure_manifest_execute(pp)
118118
end
119119

120120
# Delete all test fixtures
@@ -137,7 +137,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
137137
ensure => 'absent',
138138
}
139139
MANIFEST
140-
ensure_manifest_apply(host, pp)
140+
ensure_manifest_execute(pp)
141141
end
142142

143143
['SQL_LOGIN user', 'WINDOWS_LOGIN user', 'WINDOWS_LOGIN group'].each do |testcase|
@@ -163,7 +163,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
163163

164164
it "can create a default #{testcase}" do
165165
pp = create_login_manifest(testcase,@login_under_test,@login_passwd)
166-
ensure_manifest_apply(host, pp)
166+
ensure_manifest_execute(pp)
167167
end
168168

169169
it "should exist in the principals table" do
@@ -181,7 +181,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
181181

182182
it "is idempotent" do
183183
pp = create_login_manifest(testcase,@login_under_test,@login_passwd)
184-
ensure_manifest_apply(host, pp)
184+
ensure_manifest_execute(pp)
185185
end
186186
end
187187

@@ -192,7 +192,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
192192
it "can create an #{testcase} with 'check_expiration','check_policy' set" do
193193
options = { 'check_expiration' => true, 'check_policy' => true }
194194
pp = create_login_manifest(testcase,@login_under_test,@login_passwd,options)
195-
ensure_manifest_apply(host, pp)
195+
ensure_manifest_execute(pp)
196196
end
197197

198198
it "should have is_expiration_checked set" do
@@ -212,7 +212,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
212212
it "can create a #{testcase} with 'default_database','default_language'" do
213213
options = { 'default_database' => "#{db_name}", 'default_language' => 'Spanish' }
214214
pp = create_login_manifest(testcase,@login_under_test,@login_passwd,options)
215-
ensure_manifest_apply(host, pp)
215+
ensure_manifest_execute(pp)
216216
end
217217

218218
it "should exist in the principals table" do
@@ -237,7 +237,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
237237
it "can create #{testcase} with optional 'disabled'" do
238238
options = { 'disabled' => true }
239239
pp = create_login_manifest(testcase,@login_under_test,@login_passwd,options)
240-
ensure_manifest_apply(host, pp)
240+
ensure_manifest_execute(pp)
241241
end
242242

243243
if testcase == 'WINDOWS_LOGIN group'
@@ -261,7 +261,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
261261
it "should create an initial #{testcase}" do
262262
options = { 'svrroles' => '{\'sysadmin\' => 1}' }
263263
pp = create_login_manifest(testcase,@login_under_test,@login_passwd,options)
264-
ensure_manifest_apply(host, pp)
264+
ensure_manifest_execute(pp)
265265
end
266266

267267
it "should exist in the principals table on creation" do
@@ -272,7 +272,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
272272
it "should modify a #{testcase} login" do
273273
options = { 'disabled' => true, 'default_database' => "#{db_name}", 'default_language' => 'Spanish', 'check_expiration' => true, 'check_policy' => true, 'svrroles' => '{\'sysadmin\' => 1, \'serveradmin\' => 1}' }
274274
pp = create_login_manifest(testcase,@login_under_test,@login_passwd,options)
275-
ensure_manifest_apply(host, pp)
275+
ensure_manifest_execute(pp)
276276
end
277277

278278
if testcase == 'SQL_LOGIN user'
@@ -338,7 +338,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
338338

339339
it "should create an initial #{testcase}" do
340340
pp = create_login_manifest(testcase,@login_under_test,@login_passwd)
341-
ensure_manifest_apply(host, pp)
341+
ensure_manifest_execute(pp)
342342
end
343343

344344
it "should exist in the principals table on creation" do
@@ -349,7 +349,7 @@ def create_login_manifest (testcase,login_name,login_password,options = {})
349349
it "should remove a #{testcase} on ensure => absent" do
350350
options = { 'ensure' => 'absent' }
351351
pp = create_login_manifest(testcase,@login_under_test,@login_passwd,options)
352-
ensure_manifest_apply(host, pp)
352+
ensure_manifest_execute(pp)
353353
end
354354

355355
it "should not exist in the principals table after deletion" do

0 commit comments

Comments
 (0)