@@ -162,6 +162,37 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present')
162
162
run_sql_query ( run_sql_query_opts )
163
163
end
164
164
165
+ it 'Run sqlserver_tsql WITH onlyif that does a table insert:' do
166
+ # Initilize a new table name:
167
+ @table_name = 'Table_' + SecureRandom . hex ( 3 )
168
+ @query = "USE #{ db_name } ; SELECT * FROM #{ @table_name } WHERE id = 2;"
169
+ pp = <<-MANIFEST
170
+ sqlserver::config{'MSSQLSERVER':
171
+ instance_name => 'MSSQLSERVER',
172
+ admin_user => 'sa',
173
+ admin_pass => 'Pupp3t1@',
174
+ }
175
+ sqlserver_tsql{'testsqlserver_tsql':
176
+ instance => 'MSSQLSERVER',
177
+ database => '#{ db_name } ',
178
+ command => "INSERT #{ @table_name } VALUES(2, 'name2', '[email protected] ');",
179
+ onlyif => "CREATE TABLE #{ @table_name } (id INT, name VARCHAR(20), email VARCHAR(20));
180
+ INSERT #{ @table_name } VALUES(1, 'name', '[email protected] ');
181
+ THROW 5300, 'Throw to trigger second INSERT statement in command property', 10"
182
+ }
183
+ MANIFEST
184
+ apply_manifest ( pp , catch_failures : true )
185
+
186
+ puts "Validate a row is inserted into #{ @table_name } by the command:"
187
+ run_sql_query_opts = {
188
+ query : @query ,
189
+ sql_admin_user : @admin_user ,
190
+ sql_admin_pass : @admin_pass ,
191
+ expected_row_count : 1 ,
192
+ }
193
+ run_sql_query ( run_sql_query_opts )
194
+ end
195
+
165
196
it 'Negative test: Run tsql with invalid command:' do
166
197
pp = <<-MANIFEST
167
198
sqlserver::config{'MSSQLSERVER':
0 commit comments