rutema_web 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING.txt +340 -0
- data/History.txt +34 -0
- data/Manifest.txt +26 -0
- data/README.txt +88 -0
- data/Rakefile +26 -0
- data/bin/rutema_web +6 -0
- data/lib/rutema_web/gems.rb +10 -0
- data/lib/rutema_web/main.rb +44 -0
- data/lib/rutema_web/model.rb +78 -0
- data/lib/rutema_web/public/css/style.css +105 -0
- data/lib/rutema_web/public/images/bg_menu.gif +0 -0
- data/lib/rutema_web/public/images/bg_submenu.gif +0 -0
- data/lib/rutema_web/public/images/left.png +0 -0
- data/lib/rutema_web/public/images/right.png +0 -0
- data/lib/rutema_web/public/images/run_error.png +0 -0
- data/lib/rutema_web/public/images/run_ok.png +0 -0
- data/lib/rutema_web/public/images/run_warn.png +0 -0
- data/lib/rutema_web/public/images/step_error.png +0 -0
- data/lib/rutema_web/public/images/step_ok.png +0 -0
- data/lib/rutema_web/public/images/step_warn.png +0 -0
- data/lib/rutema_web/public/images/tie_logo.gif +0 -0
- data/lib/rutema_web/public/js/folding.js +16 -0
- data/lib/rutema_web/public/js/jquery.js +4376 -0
- data/lib/rutema_web/ruport_formatter.rb +31 -0
- data/lib/rutema_web/sinatra.rb +467 -0
- data/lib/rutema_web/views/layout.erb +54 -0
- data/test/test_model.rb +48 -0
- data/test/test_rutema_web.rb +107 -0
- metadata +185 -0
@@ -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
|