caterpillar 1.4.4 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/.gitignore +9 -0
  2. data/ChangeLog +27 -0
  3. data/MIT-LICENSE +0 -4
  4. data/README.rdoc +3 -3
  5. data/Rakefile +6 -22
  6. data/caterpillar.gemspec +28 -0
  7. data/generators/caterpillar/caterpillar_generator.rb +12 -4
  8. data/generators/caterpillar/templates/config/portlets.rb +10 -2
  9. data/generators/caterpillar/templates/stylesheets/portlet_test_bench/main.css +2 -2
  10. data/init.rb +20 -8
  11. data/lib/caterpillar.rb +33 -27
  12. data/lib/caterpillar/config.rb +3 -1
  13. data/lib/caterpillar/helpers/liferay.rb +129 -132
  14. data/lib/caterpillar/helpers/portlet.rb +41 -0
  15. data/lib/caterpillar/liferay.rb +2 -3
  16. data/lib/caterpillar/navigation.rb +2 -4
  17. data/lib/caterpillar/parser.rb +1 -5
  18. data/lib/caterpillar/portlet.rb +20 -19
  19. data/lib/caterpillar/portlet_support.rb +9 -22
  20. data/lib/caterpillar/security.rb +20 -42
  21. data/lib/caterpillar/task.rb +17 -36
  22. data/lib/caterpillar/usage.rb +14 -10
  23. data/lib/caterpillar/util.rb +1 -1
  24. data/lib/java/rails-portlet-0.12.0.jar +0 -0
  25. data/lib/rails_gem_chooser.rb +14 -7
  26. data/lib/web/portlet.rb +1 -1
  27. data/portlet_test_bench/controllers/caterpillar/application.rb +0 -5
  28. data/portlet_test_bench/controllers/caterpillar/junit_controller.rb +30 -9
  29. data/portlet_test_bench/controllers/caterpillar/liferay_controller.rb +13 -3
  30. data/portlet_test_bench/controllers/caterpillar/session_controller.rb +3 -0
  31. data/portlet_test_bench/controllers/caterpillar/xhr_controller.rb +12 -1
  32. data/portlet_test_bench/views/caterpillar/application/_back_to_menu.html.erb +1 -1
  33. data/portlet_test_bench/views/caterpillar/application/index.html.erb +8 -1
  34. data/portlet_test_bench/views/caterpillar/application/portlet_test_bench.html.erb +26 -8
  35. data/portlet_test_bench/views/caterpillar/css/background.html.erb +4 -1
  36. data/portlet_test_bench/views/caterpillar/css/simple.html.erb +13 -9
  37. data/portlet_test_bench/views/caterpillar/liferay/session_variables.html.erb +3 -12
  38. data/portlet_test_bench/views/caterpillar/session/cookies.html.erb +5 -0
  39. data/portlet_test_bench/views/caterpillar/session/namespace.html.erb +14 -0
  40. data/portlet_test_bench/views/caterpillar/xhr/resource.html.erb +15 -0
  41. data/portlet_test_bench/views/caterpillar/xhr/time.html.erb +7 -6
  42. data/spec/app1/config/routes.rb +3 -0
  43. data/spec/app2/config/routes.rb +7 -0
  44. data/spec/app3/config/routes.rb +5 -0
  45. data/spec/caterpillar/helper_spec.rb +69 -0
  46. data/spec/caterpillar/task_spec.rb +192 -0
  47. data/spec/spec.opts +5 -0
  48. data/spec/spec_helper.rb +44 -0
  49. data/test/README +4 -0
  50. data/test/dtd/liferay-display_5_1_0.dtd +44 -44
  51. data/test/dtd/liferay-display_5_2_0.dtd +44 -44
  52. data/test/dtd/liferay-display_6_0_0.dtd +44 -44
  53. data/test/dtd/liferay-portlet-app_5_1_0.dtd +582 -582
  54. data/test/dtd/liferay-portlet-app_5_2_0.dtd +642 -642
  55. data/test/dtd/liferay-portlet-app_6_0_0.dtd +730 -730
  56. data/test/dtd/portlet-app_2_0.xsd +830 -830
  57. data/test/liferay_helpers_test.rb +94 -7
  58. data/test/portlet_support_test.rb +0 -18
  59. data/test/portlets_test.rb +6 -11
  60. data/test/xml_test.rb +4 -14
  61. metadata +53 -31
  62. data/lib/java/rails-portlet-0.10.1.jar +0 -0
@@ -6,11 +6,98 @@ require File.dirname(File.expand_path(__FILE__))+'/test_helper'
6
6
 
7
7
  class LiferayHelpersTest < ActionController::TestCase # :nodoc:
8
8
  include Caterpillar::Helpers::Liferay
9
-
10
- def test_link_to_liferay
11
- #user = User.first
12
- #flunk
13
- assert true
9
+
10
+
11
+ def test_get_liferay_preferences
12
+ # Simulated value from the cookie sent
13
+ value = "font_size=20px;background_color=#000000;page_size=20;"
14
+
15
+ hash = get_liferay_preferences(value)
16
+ assert_not_nil hash
17
+ assert_equal 3, hash.length
18
+ [:font_size, :background_color, :page_size].each do |key|
19
+ hash.has_key? key
20
+ end
21
+
22
+ ["20px", "#000000", "20"].each do |value|
23
+ hash.has_value? value
24
+ end
25
+
26
+ assert_nil get_liferay_preferences(nil)
27
+ end
28
+
29
+ def test_liferay_ResourceUrl_model
30
+ resource_url_cookie = "http://localhost:8080/web/guest/test?p_p_id=portlet_test_bench&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-2&p_p_col_count=1&_portlet_test_bench_railsRoute=caterpillar/test_bench/xhr/resource"
31
+
32
+ asserted_path = "http://localhost:8080/web/guest/test"
33
+ asserted_params = %w{
34
+ p_p_id=portlet_test_bench
35
+ p_p_lifecycle=2
36
+ p_p_state=normal
37
+ p_p_mode=view
38
+ p_p_cacheability=cacheLevelPage
39
+ p_p_col_id=column-2
40
+ p_p_col_count=1
41
+ _portlet_test_bench_railsRoute=caterpillar/test_bench/xhr/resource
42
+ }
43
+
44
+ #options = {
45
+ # :controller => 'Caterpillar::XhrController',
46
+ # :action => :resource
47
+ #}
48
+ #url_for in ResourceUrl can't handle modularized controllers, use explicit route as workaround
49
+ options = { :route => 'caterpillar/test_bench/xhr/resource' }
50
+ namespace = 'portlet_test_bench'
51
+
52
+ res = Caterpillar::Helpers::Liferay::ResourceUrl.new(
53
+ resource_url_cookie, namespace)
54
+ res.options = options
55
+
56
+ path, _params = res.to_s.split('?')
57
+ assert_equal path, asserted_path
58
+
59
+ params = _params.split('&')
60
+ assert_equal 8, params.size
61
+ asserted_params.each do |param|
62
+ assert params.include? param
63
+ end
64
+ end
65
+
66
+ def test_liferay_ResourceUrl_model_with_params
67
+ resource_url_cookie = 'http://localhost:8080/web/guest/test?p_p_id=portlet_test_bench&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_cacheability=cacheLevelPage&p_p_col_id=column-2&p_p_col_count=1&_portlet_test_bench_railsRoute=caterpillar/test_bench/xhr/resource'
68
+ asserted_path = "http://localhost:8080/web/guest/test"
69
+ asserted_params = %w{
70
+ p_p_id=portlet_test_bench
71
+ p_p_lifecycle=2
72
+ p_p_state=normal
73
+ p_p_mode=view
74
+ p_p_cacheability=cacheLevelPage
75
+ p_p_col_id=column-2
76
+ p_p_col_count=1
77
+ _portlet_test_bench_railsRoute=caterpillar/test_bench/xhr/index
78
+ _portlet_test_bench_foo=bar
79
+ }
80
+ # test that _portlet_test_bench_railsRoute was updated
81
+ # and _portlet_test_bench_foo was inserted
82
+
83
+ #url_for in ResourceUrl can't handle modularized controllers..
84
+ options = { :route => 'caterpillar/test_bench/xhr/index' }
85
+ portlet_params = {:foo => :bar}
86
+ namespace = 'portlet_test_bench'
87
+
88
+ res = Caterpillar::Helpers::Liferay::ResourceUrl.new(
89
+ resource_url_cookie, namespace)
90
+ res.options = options
91
+ res.params = portlet_params
92
+
93
+ path, _params = res.to_s.split('?')
94
+ assert_equal path, asserted_path
95
+
96
+ params = _params.split('&')
97
+ assert_equal 9, params.size
98
+ asserted_params.each do |param|
99
+ assert params.include?(param), 'missing parameter: '+param
100
+ end
14
101
  end
15
102
 
16
103
  def test_liferay_resource_url
@@ -25,7 +112,7 @@ class LiferayHelpersTest < ActionController::TestCase # :nodoc:
25
112
  # expected behavior
26
113
  url = liferay_resource_url(params, resource_url)
27
114
  assert_not_nil url
28
- assert_equal "#{resource_url}&railsRoute=/c1/a1", url
115
+ assert_equal "#{resource_url}?__railsRoute=/c1/a1", url
29
116
 
30
117
  params = {
31
118
  :controller => :c1
@@ -34,7 +121,7 @@ class LiferayHelpersTest < ActionController::TestCase # :nodoc:
34
121
  # expected behavior without :action param
35
122
  url = liferay_resource_url(params, resource_url)
36
123
  assert_not_nil url
37
- assert_equal "#{resource_url}&railsRoute=/c1/index", url
124
+ assert_equal "#{resource_url}?__railsRoute=/c1", url
38
125
 
39
126
  # expected behavior without :controller
40
127
  params = {}
@@ -4,22 +4,4 @@ require File.dirname(File.expand_path(__FILE__))+'/test_helper'
4
4
  class PortletSupportTest < ActionController::TestCase # :nodoc:
5
5
  include Caterpillar::PortletSupport
6
6
 
7
- def test_get_liferay_preferences
8
- # Simulated value from the cookie sent
9
- value = "font_size=20px;background_color=#000000;page_size=20;"
10
-
11
- hash = get_liferay_preferences(value)
12
- assert_not_nil hash
13
- assert_equal 3, hash.length
14
- [:font_size, :background_color, :page_size].each do |key|
15
- hash.has_key? key
16
- end
17
-
18
- ["20px", "#000000", "20"].each do |value|
19
- hash.has_value? value
20
- end
21
-
22
- assert_nil get_liferay_preferences(nil)
23
- end
24
-
25
7
  end
@@ -6,20 +6,15 @@ require File.dirname(File.expand_path(__FILE__))+'/test_helper'
6
6
 
7
7
  class PortletsTest < Caterpillar::TestCase # :nodoc:
8
8
 
9
- # def test_get
10
- # @portlets.each do |portlet|
11
- # next if portlet[:reqs].empty?
12
- # @controller = portlet[:reqs][:controller]
13
- # action = portlet[:reqs][:action]
14
- # get action
15
- # end
16
- # end
17
-
18
9
  def test_session
19
- key = Caterpillar::Security.get_session_key()
10
+ assert_not_nil @config.session_secret, 'No session secret in portlets.rb config'
11
+
12
+ key = @config.session_secret[:key]
20
13
  assert_not_nil key
21
- secret = Caterpillar::Security.get_secret()
14
+ secret = @config.session_secret[:secret]
22
15
  assert_not_nil secret
16
+ assert_not_equal 'somereallylongrandomkey', secret,
17
+ 'Please generate your private random shared secret!'
23
18
  end
24
19
 
25
20
  def test_name
@@ -28,7 +28,7 @@ class XmlTest < Caterpillar::TestCase # :nodoc:
28
28
  :path => "/test/path"
29
29
  }
30
30
 
31
- session = {
31
+ session_secret = {
32
32
  :key => '_test_session',
33
33
  :secret => 'XXX'
34
34
  }
@@ -38,26 +38,16 @@ class XmlTest < Caterpillar::TestCase # :nodoc:
38
38
  assert xml[/#{portlet[:title]}/]
39
39
  assert !xml[/secret/]
40
40
 
41
- xml = Caterpillar::Portlet.portlet_element(portlet,session).to_s
42
- assert xml[/#{session[:secret]}/], 'No secret'
41
+ xml = Caterpillar::Portlet.portlet_element(portlet,session_secret).to_s
42
+ assert xml[/#{session_secret[:secret]}/], 'No secret'
43
43
 
44
44
  xml = Caterpillar::Portlet.filter_element(portlet).to_s
45
45
  assert xml[/#{portlet[:servlet]}/]
46
46
  assert xml[/#{portlet[:path]}/]
47
47
  end
48
48
 
49
- def test_session_key
50
- key = Caterpillar::Security.get_session_key
51
- assert_not_nil key
52
- end
53
-
54
- def test_secret
55
- secret = Caterpillar::Security.get_secret
56
- assert_not_nil secret
57
- end
58
-
59
49
  def test_portlet_xml
60
- xml = Caterpillar::Portlet.xml(@portlets)
50
+ xml = Caterpillar::Portlet.xml(@portlets,{})
61
51
 
62
52
  # parse xml document
63
53
  doc = LibXML::XML::Parser.string(xml).parse
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 4
9
- - 4
10
- version: 1.4.4
8
+ - 6
9
+ - 0
10
+ version: 1.6.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mikael Lammentausta
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-07 00:00:00 +03:00
18
+ date: 2011-06-08 00:00:00 +03:00
19
19
  default_executable: caterpillar
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -56,12 +56,10 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- hash: 5
59
+ hash: 3
60
60
  segments:
61
61
  - 0
62
- - 7
63
- - 3
64
- version: 0.7.3
62
+ version: "0"
65
63
  type: :runtime
66
64
  version_requirements: *id003
67
65
  description: = Caterpillar
@@ -75,11 +73,32 @@ extra_rdoc_files:
75
73
  - MIT-LICENSE
76
74
  - ChangeLog
77
75
  files:
76
+ - .gitignore
77
+ - ChangeLog
78
+ - MIT-LICENSE
79
+ - README.rdoc
78
80
  - Rakefile
81
+ - bin/caterpillar
82
+ - caterpillar.gemspec
83
+ - generators/caterpillar/USAGE
84
+ - generators/caterpillar/caterpillar_generator.rb
85
+ - generators/caterpillar/templates/config/portlets.rb
86
+ - generators/caterpillar/templates/images/caterpillar/caterpillar.gif
87
+ - generators/caterpillar/templates/images/portlet_test_bench/Leafy_Sea_Dragon_1.jpg
88
+ - generators/caterpillar/templates/images/portlet_test_bench/debug.jpg
89
+ - generators/caterpillar/templates/images/portlet_test_bench/java.png
90
+ - generators/caterpillar/templates/images/portlet_test_bench/rails.png
91
+ - generators/caterpillar/templates/images/portlet_test_bench/ruby.gif
92
+ - generators/caterpillar/templates/javascripts/portlet_test_bench/main.js
93
+ - generators/caterpillar/templates/stylesheets/portlet_test_bench/main.css
94
+ - generators/html_template/html_template_generator.rb
95
+ - generators/html_template/templates/application.html.erb
79
96
  - init.rb
80
97
  - install.rb
98
+ - lib/caterpillar.rb
81
99
  - lib/caterpillar/config.rb
82
100
  - lib/caterpillar/helpers/liferay.rb
101
+ - lib/caterpillar/helpers/portlet.rb
83
102
  - lib/caterpillar/liferay.rb
84
103
  - lib/caterpillar/navigation.rb
85
104
  - lib/caterpillar/parser.rb
@@ -89,25 +108,10 @@ files:
89
108
  - lib/caterpillar/task.rb
90
109
  - lib/caterpillar/usage.rb
91
110
  - lib/caterpillar/util.rb
92
- - lib/caterpillar.rb
93
- - lib/java/rails-portlet-0.10.1.jar
111
+ - lib/java/rails-portlet-0.12.0.jar
94
112
  - lib/rails_gem_chooser.rb
95
113
  - lib/web/portlet.rb
96
- - generators/caterpillar/caterpillar_generator.rb
97
- - generators/caterpillar/templates/config/portlets.rb
98
- - generators/caterpillar/templates/images/caterpillar/caterpillar.gif
99
- - generators/caterpillar/templates/images/portlet_test_bench/debug.jpg
100
- - generators/caterpillar/templates/images/portlet_test_bench/java.png
101
- - generators/caterpillar/templates/images/portlet_test_bench/Leafy_Sea_Dragon_1.jpg
102
- - generators/caterpillar/templates/images/portlet_test_bench/rails.png
103
- - generators/caterpillar/templates/images/portlet_test_bench/ruby.gif
104
- - generators/caterpillar/templates/javascripts/portlet_test_bench/main.js
105
- - generators/caterpillar/templates/stylesheets/portlet_test_bench/main.css
106
- - generators/caterpillar/USAGE
107
- - generators/html_template/html_template_generator.rb
108
- - generators/html_template/templates/application.html.erb
109
- - views/caterpillar/_navigation.html.erb
110
- - views/layouts/caterpillar.html.erb
114
+ - portlet_test_bench/README.rdoc
111
115
  - portlet_test_bench/controllers/caterpillar/application.rb
112
116
  - portlet_test_bench/controllers/caterpillar/css_controller.rb
113
117
  - portlet_test_bench/controllers/caterpillar/http_methods_controller.rb
@@ -121,7 +125,6 @@ files:
121
125
  - portlet_test_bench/controllers/caterpillar/xhr_controller.rb
122
126
  - portlet_test_bench/helpers/caterpillar/application_helper.rb
123
127
  - portlet_test_bench/helpers/caterpillar/junit_helper.rb
124
- - portlet_test_bench/README.rdoc
125
128
  - portlet_test_bench/resources/jake_sully.jpg
126
129
  - portlet_test_bench/routing.rb
127
130
  - portlet_test_bench/views/caterpillar/application/_back_to_menu.html.erb
@@ -162,11 +165,23 @@ files:
162
165
  - portlet_test_bench/views/caterpillar/resource/exit_portlet.html.erb
163
166
  - portlet_test_bench/views/caterpillar/resource/images.html.erb
164
167
  - portlet_test_bench/views/caterpillar/session/cookie.html.erb
168
+ - portlet_test_bench/views/caterpillar/session/cookies.html.erb
165
169
  - portlet_test_bench/views/caterpillar/session/flash_display.html.erb
170
+ - portlet_test_bench/views/caterpillar/session/namespace.html.erb
166
171
  - portlet_test_bench/views/caterpillar/user/home.html.erb
172
+ - portlet_test_bench/views/caterpillar/xhr/resource.html.erb
167
173
  - portlet_test_bench/views/caterpillar/xhr/time.html.erb
168
174
  - portlet_test_bench/views/layouts/bare.html.erb
169
175
  - portlet_test_bench/views/layouts/basic.html.erb
176
+ - spec/app1/config/routes.rb
177
+ - spec/app2/config/routes.rb
178
+ - spec/app3/config/routes.rb
179
+ - spec/caterpillar/helper_spec.rb
180
+ - spec/caterpillar/task_spec.rb
181
+ - spec/spec.opts
182
+ - spec/spec_helper.rb
183
+ - spec/xml/liferay-portal-5.2.3/tomcat-6.0.18/webapps/ROOT/WEB-INF/liferay-display.xml
184
+ - test/README
170
185
  - test/dtd/liferay-display_5_1_0.dtd
171
186
  - test/dtd/liferay-display_5_2_0.dtd
172
187
  - test/dtd/liferay-display_6_0_0.dtd
@@ -180,10 +195,8 @@ files:
180
195
  - test/rails_task_test.rb
181
196
  - test/test_helper.rb
182
197
  - test/xml_test.rb
183
- - bin/caterpillar
184
- - README.rdoc
185
- - MIT-LICENSE
186
- - ChangeLog
198
+ - views/caterpillar/_navigation.html.erb
199
+ - views/layouts/caterpillar.html.erb
187
200
  has_rdoc: true
188
201
  homepage: http://github.com/lamikae/caterpillar
189
202
  licenses: []
@@ -219,9 +232,18 @@ requirements: []
219
232
  rubyforge_project: rails-portlet
220
233
  rubygems_version: 1.3.7
221
234
  signing_key:
222
- specification_version: 2
235
+ specification_version: 3
223
236
  summary: Caterpillar helps building Rails applications for JSR286 portlets.
224
237
  test_files:
238
+ - spec/app1/config/routes.rb
239
+ - spec/app2/config/routes.rb
240
+ - spec/app3/config/routes.rb
241
+ - spec/caterpillar/helper_spec.rb
242
+ - spec/caterpillar/task_spec.rb
243
+ - spec/spec.opts
244
+ - spec/spec_helper.rb
245
+ - spec/xml/liferay-portal-5.2.3/tomcat-6.0.18/webapps/ROOT/WEB-INF/liferay-display.xml
246
+ - test/README
225
247
  - test/dtd/liferay-display_5_1_0.dtd
226
248
  - test/dtd/liferay-display_5_2_0.dtd
227
249
  - test/dtd/liferay-display_6_0_0.dtd