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.
- 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
|