bdd-legacy 0.0.7 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +6 -0
  3. data/Rakefile +2 -59
  4. data/bdd-legacy.gemspec +51 -0
  5. data/bin/._bdd-legacy +0 -0
  6. data/bin/addition_steps.tt +15 -0
  7. data/bin/additions_feature.tt +10 -0
  8. data/bin/bdd-legacy +84 -0
  9. data/bin/calculator.tt +17 -0
  10. data/bin/env.tt +53 -0
  11. data/bin/generic_browser_steps.tt +66 -0
  12. data/bin/landing_page_feature.tt +23 -0
  13. data/bin/landing_page_steps.tt +30 -0
  14. data/bin/login_feature.tt +13 -0
  15. data/bin/login_steps.tt +33 -0
  16. data/bin/newgem.tt +2 -0
  17. data/bin/rakefile.tt +5 -0
  18. data/bin/sqlhelper.tt +40 -0
  19. data/bin/sqlserver.tt +118 -0
  20. data/bin/templates/addition_steps.tt +15 -0
  21. data/bin/templates/additions_feature.tt +10 -0
  22. data/bin/templates/calculator.tt +17 -0
  23. data/bin/templates/env.tt +53 -0
  24. data/bin/templates/generic_browser_steps.tt +66 -0
  25. data/bin/templates/landing_page_feature.tt +23 -0
  26. data/bin/templates/landing_page_steps.tt +30 -0
  27. data/bin/templates/login_feature.tt +13 -0
  28. data/bin/templates/login_steps.tt +33 -0
  29. data/bin/templates/newgem.tt +2 -0
  30. data/bin/templates/rakefile.tt +5 -0
  31. data/bin/templates/sqlhelper.tt +40 -0
  32. data/bin/templates/sqlserver.tt +118 -0
  33. data/lib/bdd-legacy.rb +5 -6
  34. data/lib/bdd-legacy/version.rb +5 -0
  35. data/lib/templates/addition_steps.tt +15 -0
  36. data/lib/templates/additions_feature.tt +10 -0
  37. data/lib/templates/calculator.tt +17 -0
  38. data/lib/templates/env.tt +53 -0
  39. data/lib/templates/generic_browser_steps.tt +66 -0
  40. data/lib/templates/landing_page_feature.tt +23 -0
  41. data/lib/templates/landing_page_steps.tt +30 -0
  42. data/lib/templates/login_feature.tt +13 -0
  43. data/lib/templates/login_steps.tt +33 -0
  44. data/lib/templates/newgem.tt +2 -0
  45. data/lib/templates/rakefile.tt +5 -0
  46. data/lib/templates/sqlhelper.tt +40 -0
  47. data/lib/templates/sqlserver.tt +118 -0
  48. metadata +384 -24
  49. data/History.txt +0 -4
  50. data/Manifest.txt +0 -29
  51. data/PostInstall.txt +0 -7
  52. data/README.rdoc +0 -48
  53. data/test/test_bdd-legacy.rb +0 -11
  54. data/test/test_helper.rb +0 -3
@@ -0,0 +1,2 @@
1
+ class <%= name.capitalize %>
2
+ end
@@ -0,0 +1,5 @@
1
+ require 'cucumber/rake/task'
2
+
3
+ Cucumber::Rake::Task.new do |t|
4
+ t.cucumber_opts = "--format pretty"
5
+ end
@@ -0,0 +1,40 @@
1
+ require 'sqlserver'
2
+
3
+ # example use
4
+ # insertsql||=[]
5
+ # insertsql[0]= <<-eos
6
+ # INSERT INTO [Messages]
7
+ # ([Message])
8
+ # VALUES
9
+ # ('Do your hours')
10
+ # eos
11
+ # insertsql[1]= 'select @@IDENTITY'
12
+ # results, field_lists = SqlServer.helperqueries(insertsql)
13
+ # @insertID = results[1][0][0] #get *first* result from *second* query
14
+
15
+ class SqlServer
16
+
17
+ #multiple statements need an array
18
+ #don't error out on statements that don't return anything
19
+ def self.helperqueries(sql=[])
20
+ return [],[] if sql.empty?
21
+
22
+ db = SqlServer.new($workingDBServer, $workingDBUser, $workingDBPW)
23
+ db.open($workingDB)
24
+ data, field_lists = db.queries(sql)
25
+ db.close
26
+ return data, field_lists
27
+ end
28
+
29
+
30
+ def self.helperquery(sql)
31
+ db = SqlServer.new($workingDBServer, $workingDBUser, $workingDBPW)
32
+ db.open($workingDB)
33
+ db.query(sql)
34
+ field_names = db.fields
35
+ data = db.data
36
+ db.close
37
+ return data, field_names
38
+ end
39
+ end
40
+
@@ -0,0 +1,118 @@
1
+ require 'win32ole'
2
+
3
+ # example use
4
+ # db = SqlServer.new
5
+ # db.open
6
+ # db.query("SELECT PLAYER FROM PLAYERS WHERE TEAM = 'REDS';")
7
+ # field_names = db.fields
8
+ # players = db.data
9
+ # db.close
10
+
11
+ class SqlServer
12
+
13
+ # This class manages database connection and queries
14
+ attr_accessor :connection, :data, :fields
15
+ attr_writer :username, :password
16
+
17
+ def initialize(host, username = 'sa', password='')
18
+ @connection = nil
19
+ @data = nil
20
+ @host = host
21
+ @username = username
22
+ @password = password
23
+ end
24
+
25
+ def open(database)
26
+ # Open ADO connection to the SQL Server database
27
+ connection_string = "Provider=SQLOLEDB.1;"
28
+ connection_string << "Persist Security Info=False;"
29
+ connection_string << "User ID=#{@username};"
30
+ connection_string << "password=#{@password};"
31
+ connection_string << "Initial Catalog=#{database};"
32
+ connection_string << "Data Source=#{@host};"
33
+ connection_string << "Network Library=dbmssocn"
34
+ @connection = WIN32OLE.new('ADODB.Connection')
35
+ @connection.Open(connection_string)
36
+ end
37
+
38
+ def queries(sql=[])
39
+ # debugger
40
+ return [],[] if sql.empty?
41
+
42
+ results ||=[]
43
+ field_lists ||=[]
44
+ # debugger
45
+ sql.each do |s|
46
+ result, fields = query_field_data(s)
47
+ results << result
48
+ field_lists << fields
49
+ end
50
+ return results, field_lists
51
+ end
52
+
53
+
54
+ def query_field_data(sql)
55
+ # Create an instance of an ADO Recordset
56
+ recordset = WIN32OLE.new('ADODB.Recordset')
57
+ # Open the recordset, using an SQL statement and the
58
+ # existing ADO connection
59
+ recordset.Open(sql, @connection)
60
+ # Create and populate an array of field names
61
+ # debugger
62
+ fields = []
63
+ recordset.Fields.each do |field|
64
+ fields << field.Name
65
+ end
66
+ begin
67
+ # Move to the first record/row, if any exist
68
+ recordset.MoveFirst
69
+ # Grab all records
70
+ data = recordset.GetRows
71
+ # record only needs to be closed if movefirst doesn't cause an error
72
+ recordset.Close
73
+ rescue
74
+ data = []
75
+ end
76
+
77
+ # An ADO Recordset's GetRows method returns an array
78
+ # of columns, so we'll use the transpose method to
79
+ # convert it to an array of rows
80
+ data = data.transpose
81
+ return data, fields
82
+ end
83
+
84
+
85
+ def query(sql)
86
+ # Create an instance of an ADO Recordset
87
+ recordset = WIN32OLE.new('ADODB.Recordset')
88
+ # Open the recordset, using an SQL statement and the
89
+ # existing ADO connection
90
+ recordset.Open(sql, @connection)
91
+ # Create and populate an array of field names
92
+ # debugger
93
+ @fields ||=[]
94
+ recordset.Fields.each do |field|
95
+ @fields << field.Name
96
+ end
97
+ begin
98
+ # Move to the first record/row, if any exist
99
+ recordset.MoveFirst
100
+ # Grab all records
101
+ @data = recordset.GetRows
102
+ # record only needs to be closed if movefirst doesn't cause an error
103
+ recordset.Close
104
+ rescue
105
+ @data = []
106
+ end
107
+ # An ADO Recordset's GetRows method returns an array
108
+ # of columns, so we'll use the transpose method to
109
+ # convert it to an array of rows
110
+ @data = @data.transpose
111
+ return @data, @fields
112
+ end
113
+
114
+ def close
115
+ @connection.Close
116
+ end
117
+ end
118
+
metadata CHANGED
@@ -1,42 +1,402 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bdd-legacy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Wavell Watson
9
- autorequire: builder
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-05-16 00:00:00.000000000Z
13
- dependencies: []
12
+ date: 2011-05-16 00:00:00.000000000 -05:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ requirement: &15204528 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *15204528
26
+ - !ruby/object:Gem::Dependency
27
+ name: bundler
28
+ requirement: &15204228 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *15204228
37
+ - !ruby/object:Gem::Dependency
38
+ name: fakeweb
39
+ requirement: &15263724 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: '1.3'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *15263724
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: &15263448 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0.8'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *15263448
59
+ - !ruby/object:Gem::Dependency
60
+ name: rdoc
61
+ requirement: &15263172 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: '2.5'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *15263172
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: &15262896 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '2.1'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: *15262896
81
+ - !ruby/object:Gem::Dependency
82
+ name: simplecov
83
+ requirement: &15262620 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ~>
87
+ - !ruby/object:Gem::Version
88
+ version: '0.3'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: *15262620
92
+ - !ruby/object:Gem::Dependency
93
+ name: thor
94
+ requirement: &15262344 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: 0.10.2
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: *15262344
103
+ - !ruby/object:Gem::Dependency
104
+ name: aruba
105
+ requirement: &15262068 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.3.4
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: *15262068
114
+ - !ruby/object:Gem::Dependency
115
+ name: builder
116
+ requirement: &15261792 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: 2.1.2
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: *15261792
125
+ - !ruby/object:Gem::Dependency
126
+ name: capybara
127
+ requirement: &15261516 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.4.1
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: *15261516
136
+ - !ruby/object:Gem::Dependency
137
+ name: diff-lcs
138
+ requirement: &15261240 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: 1.1.2
144
+ type: :runtime
145
+ prerelease: false
146
+ version_requirements: *15261240
147
+ - !ruby/object:Gem::Dependency
148
+ name: gherkin
149
+ requirement: &15260964 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: 2.3.5
155
+ type: :runtime
156
+ prerelease: false
157
+ version_requirements: *15260964
158
+ - !ruby/object:Gem::Dependency
159
+ name: json
160
+ requirement: &15260688 !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: 1.4.6
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: *15260688
169
+ - !ruby/object:Gem::Dependency
170
+ name: nokogiri
171
+ requirement: &15260412 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: 1.4.4
177
+ type: :runtime
178
+ prerelease: false
179
+ version_requirements: *15260412
180
+ - !ruby/object:Gem::Dependency
181
+ name: prawn
182
+ requirement: &15260136 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - =
186
+ - !ruby/object:Gem::Version
187
+ version: 0.8.4
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: *15260136
191
+ - !ruby/object:Gem::Dependency
192
+ name: prawn-layout
193
+ requirement: &15259860 !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - =
197
+ - !ruby/object:Gem::Version
198
+ version: 0.8.4
199
+ type: :runtime
200
+ prerelease: false
201
+ version_requirements: *15259860
202
+ - !ruby/object:Gem::Dependency
203
+ name: rack-test
204
+ requirement: &15259584 !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
209
+ version: 0.5.7
210
+ type: :runtime
211
+ prerelease: false
212
+ version_requirements: *15259584
213
+ - !ruby/object:Gem::Dependency
214
+ name: rake
215
+ requirement: &15259308 !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ! '>='
219
+ - !ruby/object:Gem::Version
220
+ version: 0.8.7
221
+ type: :runtime
222
+ prerelease: false
223
+ version_requirements: *15259308
224
+ - !ruby/object:Gem::Dependency
225
+ name: ramaze
226
+ requirement: &15259032 !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ type: :runtime
233
+ prerelease: false
234
+ version_requirements: *15259032
235
+ - !ruby/object:Gem::Dependency
236
+ name: rspec
237
+ requirement: &15258756 !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ! '>='
241
+ - !ruby/object:Gem::Version
242
+ version: 2.5.0
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: *15258756
246
+ - !ruby/object:Gem::Dependency
247
+ name: simplecov
248
+ requirement: &15258480 !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: 0.4.1
254
+ type: :runtime
255
+ prerelease: false
256
+ version_requirements: *15258480
257
+ - !ruby/object:Gem::Dependency
258
+ name: sinatra
259
+ requirement: &15258204 !ruby/object:Gem::Requirement
260
+ none: false
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
264
+ version: 1.2.0
265
+ type: :runtime
266
+ prerelease: false
267
+ version_requirements: *15258204
268
+ - !ruby/object:Gem::Dependency
269
+ name: syntax
270
+ requirement: &15257928 !ruby/object:Gem::Requirement
271
+ none: false
272
+ requirements:
273
+ - - ! '>='
274
+ - !ruby/object:Gem::Version
275
+ version: 1.0.0
276
+ type: :runtime
277
+ prerelease: false
278
+ version_requirements: *15257928
279
+ - !ruby/object:Gem::Dependency
280
+ name: term-ansicolor
281
+ requirement: &15257652 !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: 1.0.5
287
+ type: :runtime
288
+ prerelease: false
289
+ version_requirements: *15257652
290
+ - !ruby/object:Gem::Dependency
291
+ name: webrat
292
+ requirement: &15257376 !ruby/object:Gem::Requirement
293
+ none: false
294
+ requirements:
295
+ - - ! '>='
296
+ - !ruby/object:Gem::Version
297
+ version: 0.7.3
298
+ type: :runtime
299
+ prerelease: false
300
+ version_requirements: *15257376
301
+ - !ruby/object:Gem::Dependency
302
+ name: cucumber
303
+ requirement: &15257100 !ruby/object:Gem::Requirement
304
+ none: false
305
+ requirements:
306
+ - - =
307
+ - !ruby/object:Gem::Version
308
+ version: 0.10.2
309
+ type: :runtime
310
+ prerelease: false
311
+ version_requirements: *15257100
14
312
  description: Allows for use of feature driven testing of legacy (especially sql server)
15
313
  applications.
16
- email: wavell.watson@gmail.org
17
- executables: []
314
+ email:
315
+ - wavel.watson@gmail.com
316
+ executables:
317
+ - ._bdd-legacy
318
+ - addition_steps.tt
319
+ - additions_feature.tt
320
+ - bdd-legacy
321
+ - calculator.tt
322
+ - env.tt
323
+ - generic_browser_steps.tt
324
+ - landing_page_feature.tt
325
+ - landing_page_steps.tt
326
+ - login_feature.tt
327
+ - login_steps.tt
328
+ - newgem.tt
329
+ - rakefile.tt
330
+ - sqlhelper.tt
331
+ - sqlserver.tt
332
+ - addition_steps.tt
333
+ - additions_feature.tt
334
+ - calculator.tt
335
+ - env.tt
336
+ - generic_browser_steps.tt
337
+ - landing_page_feature.tt
338
+ - landing_page_steps.tt
339
+ - login_feature.tt
340
+ - login_steps.tt
341
+ - newgem.tt
342
+ - rakefile.tt
343
+ - sqlhelper.tt
344
+ - sqlserver.tt
18
345
  extensions: []
19
- extra_rdoc_files:
20
- - History.txt
21
- - Manifest.txt
22
- - PostInstall.txt
23
- - Rakefile
24
- - README.rdoc
346
+ extra_rdoc_files: []
25
347
  files:
26
- - lib/bdd-legacy.rb
27
- - test/test_bdd-legacy.rb
28
- - test/test_helper.rb
29
- - History.txt
30
- - Manifest.txt
31
- - PostInstall.txt
348
+ - .gitignore
349
+ - Gemfile
32
350
  - Rakefile
33
- - README.rdoc
351
+ - bdd-legacy.gemspec
352
+ - bin/._bdd-legacy
353
+ - bin/addition_steps.tt
354
+ - bin/additions_feature.tt
355
+ - bin/bdd-legacy
356
+ - bin/calculator.tt
357
+ - bin/env.tt
358
+ - bin/generic_browser_steps.tt
359
+ - bin/landing_page_feature.tt
360
+ - bin/landing_page_steps.tt
361
+ - bin/login_feature.tt
362
+ - bin/login_steps.tt
363
+ - bin/newgem.tt
364
+ - bin/rakefile.tt
365
+ - bin/sqlhelper.tt
366
+ - bin/sqlserver.tt
367
+ - bin/templates/addition_steps.tt
368
+ - bin/templates/additions_feature.tt
369
+ - bin/templates/calculator.tt
370
+ - bin/templates/env.tt
371
+ - bin/templates/generic_browser_steps.tt
372
+ - bin/templates/landing_page_feature.tt
373
+ - bin/templates/landing_page_steps.tt
374
+ - bin/templates/login_feature.tt
375
+ - bin/templates/login_steps.tt
376
+ - bin/templates/newgem.tt
377
+ - bin/templates/rakefile.tt
378
+ - bin/templates/sqlhelper.tt
379
+ - bin/templates/sqlserver.tt
380
+ - lib/bdd-legacy.rb
381
+ - lib/bdd-legacy/version.rb
382
+ - lib/templates/addition_steps.tt
383
+ - lib/templates/additions_feature.tt
384
+ - lib/templates/calculator.tt
385
+ - lib/templates/env.tt
386
+ - lib/templates/generic_browser_steps.tt
387
+ - lib/templates/landing_page_feature.tt
388
+ - lib/templates/landing_page_steps.tt
389
+ - lib/templates/login_feature.tt
390
+ - lib/templates/login_steps.tt
391
+ - lib/templates/newgem.tt
392
+ - lib/templates/rakefile.tt
393
+ - lib/templates/sqlhelper.tt
394
+ - lib/templates/sqlserver.tt
395
+ has_rdoc: true
34
396
  homepage: ''
35
397
  licenses: []
36
398
  post_install_message:
37
- rdoc_options:
38
- - --title
39
- - bdd-legacy -- Easy legacy testing
399
+ rdoc_options: []
40
400
  require_paths:
41
401
  - lib
42
402
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -52,8 +412,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
52
412
  - !ruby/object:Gem::Version
53
413
  version: '0'
54
414
  requirements: []
55
- rubyforge_project:
56
- rubygems_version: 1.8.2
415
+ rubyforge_project: bdd-legacy
416
+ rubygems_version: 1.6.2
57
417
  signing_key:
58
418
  specification_version: 3
59
419
  summary: Installs tools needed for bdd testing of legacy applications.