rutema_web 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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