rutema_web 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,107 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
+ require 'test/unit'
3
+ require 'ostruct'
4
+ require 'rutema_web/ramaze_controller'
5
+ require 'rubygems'
6
+ require 'mocha'
7
+
8
+ class TestRutemaWeb <Test::Unit::TestCase
9
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3",:database =>":memory:")
10
+
11
+ def test_loading
12
+ controller=nil
13
+ assert_nothing_raised() { controller = Rutema::UI::MainController.new }
14
+ return controller
15
+ end
16
+ def test_run
17
+ cntlr=test_loading
18
+ r=mock()
19
+ r.expects(:id).returns(5).times(2)
20
+ r.stubs(:context).returns({:start_time=>Time.now,:config_file=>"test"})
21
+ r.stubs(:config_file).returns("test")
22
+ r.stubs(:status).returns(:success)
23
+ t=mock()
24
+ t.expects(:to_html).returns("mocked")
25
+ Rutema::Model::Run.expects(:find).returns([r])
26
+ Rutema::Model::Run.expects(:count).returns(1)
27
+ Ruport::Data::Table.expects(:new).returns(t)
28
+ #Check nothing is raised when calling run (with everything mocked)
29
+ assert_nothing_raised(){ cntlr.run}
30
+ end
31
+
32
+ def test_runs
33
+ cntlr=test_loading
34
+ mock_12_runs
35
+ #Check nothing is raised when calling run (with everything mocked)
36
+ assert_nothing_raised(){ cntlr.runs}
37
+ return cntlr
38
+ end
39
+ #unit tests for the pagination code of runs
40
+ def test_pagination
41
+ cntlr=test_loading
42
+ mock_12_runs
43
+ #Check nothing is raised when calling run (with everything mocked)
44
+ assert_nothing_raised(){ cntlr.runs(1)}
45
+ return cntlr
46
+ end
47
+ def test_page_number_to_large
48
+ cntlr=test_loading
49
+ mock_12_runs
50
+ #Check nothing is raised when calling run with a page number greater than the available
51
+ assert_nothing_raised(){ cntlr.runs(50)}
52
+ end
53
+ def test_page_number_negative
54
+ cntlr=test_loading
55
+ mock_12_runs
56
+ #Check nothing is raised when calling run with a negative page number greater than the available
57
+ assert_nothing_raised(){ cntlr.runs(-1)}
58
+ end
59
+ def test_page_number_bogus
60
+ cntlr=test_loading
61
+ mock_12_runs
62
+ #Check nothing is raised when calling run with a page number that is not a number
63
+ assert_nothing_raised(){ cntlr.runs("atttaaaaack!!")}
64
+ end
65
+
66
+ #unit tests for scenarios
67
+ def test_scenarios
68
+ ctlr=test_loading
69
+ mock_12_scenarios
70
+ Rutema::Model::Run.expects(:find).returns("")
71
+ assert_nothing_raised() { ctlr.scenarios }
72
+ end
73
+
74
+ def test_scenario_wrong_arguments
75
+ ctlr=test_loading
76
+ assert_raise(ArgumentError) { ctlr.scenario("bla","blu") }
77
+ end
78
+ private
79
+ def mock_12_runs
80
+ t=mock()
81
+ t.expects(:to_html).returns("mocked")
82
+ Ruport::Data::Table.expects(:new).returns(t)
83
+ runs=[mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock()]
84
+ runs.each do |r|
85
+ r.stubs(:id).returns(5)
86
+ r.stubs(:context).returns({:start_time=>Time.now,:config_file=>"test"})
87
+ r.stubs(:status).returns(:success)
88
+ r.stubs(:config_file).returns("test")
89
+ end
90
+ Rutema::Model::Run.expects(:find).returns(runs)
91
+ Rutema::Model::Run.expects(:count).returns(12)
92
+ end
93
+
94
+ def mock_12_scenarios
95
+ t=mock()
96
+ t.expects(:to_html).returns("mocked")
97
+ Ruport::Data::Table.expects(:new).returns(t)
98
+ scenarios=[mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock(),mock()]
99
+ scenarios.each do |sc|
100
+ sc.stubs(:name).returns(scenarios.index(sc).to_s)
101
+ sc.stubs(:status).returns(:success)
102
+ sc.expects(:title).returns(scenarios.index(sc).to_s)
103
+ sc.expects(:run).returns(scenarios.index(sc))
104
+ end
105
+ Rutema::Model::Scenario.stubs(:find).returns(scenarios)
106
+ end
107
+ end
metadata ADDED
@@ -0,0 +1,185 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rutema_web
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Vassilis Rizopoulos
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-07-16 00:00:00 +02:00
13
+ default_executable: rutema_web
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: patir
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.6.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rutema
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.0.5
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: activerecord
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.3.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: sinatra
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.9.2
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: ruport
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.6.1
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: acts_as_reportable
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.1.1
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: gruff
77
+ type: :runtime
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "="
82
+ - !ruby/object:Gem::Version
83
+ version: 0.3.4
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: hoe
87
+ type: :development
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 2.3.2
94
+ version:
95
+ description: |-
96
+ == DESCRIPTION:
97
+ rutemaweb is the web frontend for rutema.
98
+
99
+ It can be used as a viewer for database files created with the rutema ActiveRecord reporter.
100
+ It also provides you with some basic statistics about the tests in your database in the form of
101
+ diagrams of debatable aesthetics but undoubtable value!
102
+
103
+ == FEATURES/PROBLEMS:
104
+
105
+ == SYNOPSIS:
106
+ rutemaweb [results.db] and browse to http://localhost:7000 for the glorious view
107
+
108
+ == REQUIREMENTS:
109
+ * patir (http://patir.rubyforge.org)
110
+ * activerecord (http://ar.rubyonrails.com/)
111
+ * sqlite3 (http://rubyforge.org/projects/sqlite-ruby/)
112
+ * ramaze (http://www.ramaze.net/)
113
+ * ruport (http://rubyreports.org/)
114
+ * acts_as_reportable
115
+ * erubis
116
+ * gruff/RMagick (optional, but needed if you want to see the statistics graphs)
117
+ email: riva@braveworld.net
118
+ executables:
119
+ - rutema_web
120
+ extensions: []
121
+
122
+ extra_rdoc_files:
123
+ - COPYING.txt
124
+ - History.txt
125
+ - Manifest.txt
126
+ - README.txt
127
+ files:
128
+ - COPYING.txt
129
+ - History.txt
130
+ - Manifest.txt
131
+ - README.txt
132
+ - Rakefile
133
+ - bin/rutema_web
134
+ - lib/rutema_web/gems.rb
135
+ - lib/rutema_web/main.rb
136
+ - lib/rutema_web/model.rb
137
+ - lib/rutema_web/public/css/style.css
138
+ - lib/rutema_web/public/images/bg_menu.gif
139
+ - lib/rutema_web/public/images/bg_submenu.gif
140
+ - lib/rutema_web/public/images/run_error.png
141
+ - lib/rutema_web/public/images/run_ok.png
142
+ - lib/rutema_web/public/images/run_warn.png
143
+ - lib/rutema_web/public/images/step_error.png
144
+ - lib/rutema_web/public/images/step_ok.png
145
+ - lib/rutema_web/public/images/step_warn.png
146
+ - lib/rutema_web/public/images/tie_logo.gif
147
+ - lib/rutema_web/public/images/left.png
148
+ - lib/rutema_web/public/images/right.png
149
+ - lib/rutema_web/public/js/folding.js
150
+ - lib/rutema_web/public/js/jquery.js
151
+ - lib/rutema_web/sinatra.rb
152
+ - lib/rutema_web/ruport_formatter.rb
153
+ - lib/rutema_web/views/layout.erb
154
+ has_rdoc: true
155
+ homepage:
156
+ licenses: []
157
+
158
+ post_install_message:
159
+ rdoc_options:
160
+ - --main
161
+ - README.txt
162
+ require_paths:
163
+ - lib
164
+ required_ruby_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: "0"
169
+ version:
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: "0"
175
+ version:
176
+ requirements: []
177
+
178
+ rubyforge_project: patir
179
+ rubygems_version: 1.3.4
180
+ signing_key:
181
+ specification_version: 3
182
+ summary: rutema_web is the web frontend for rutema
183
+ test_files:
184
+ - test/test_model.rb
185
+ - test/test_rutema_web.rb