slimmer 1.1.26 → 1.1.27

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.
@@ -103,6 +103,9 @@ module Slimmer
103
103
 
104
104
  logger.debug "Slimmer: Returning final status, headers and body"
105
105
  [status, headers, rewritten_body]
106
+
107
+ rescue GdsApi::TimedOutException
108
+ [503, {"Content-Type" => "text/plain"}, ["GDS API request timed out."]]
106
109
  end
107
110
  end
108
111
  end
@@ -1,3 +1,3 @@
1
1
  module Slimmer
2
- VERSION = '1.1.26'
2
+ VERSION = '1.1.27'
3
3
  end
@@ -5,6 +5,7 @@ require 'rack/test'
5
5
  require 'webmock/minitest'
6
6
  require 'json'
7
7
  require 'logger'
8
+ require 'mocha'
8
9
 
9
10
  WebMock.disable_net_connect!
10
11
  ENV['FACTER_govuk_platform'] = 'test'
@@ -242,4 +242,33 @@ module TypicalUsage
242
242
  assert_rendered_in_template "head title", "406 Not Acceptable"
243
243
  end
244
244
  end
245
+
246
+ class ApiTimeoutResponseTest < SlimmerIntegrationTest
247
+ include Rack::Test::Methods
248
+
249
+ given_response 200, %{
250
+ <html>
251
+ <head><title>The title of the page</title>
252
+ <meta name="something" content="yes">
253
+ <meta name="x-section-name" content="This section">
254
+ <meta name="x-section-link" content="/this_section">
255
+ <script src="blah.js"></script>
256
+ <link href="app.css" rel="stylesheet" type="text/css">
257
+ </head>
258
+ <body class="body_class citizen">
259
+ <div id="wrapper">The body of the page</div>
260
+ <div id="related-items"></div>
261
+ </body>
262
+ </html>
263
+ }
264
+
265
+ def additional_setup
266
+ RelatedItemsInserter.any_instance.stubs(:metadata_from_panopticon).raises(GdsApi::TimedOutException)
267
+ end
268
+
269
+ def test_should_return_503_if_an_API_call_times_out
270
+ assert_equal 503, last_response.status
271
+ end
272
+
273
+ end
245
274
  end
metadata CHANGED
@@ -1,227 +1,215 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: slimmer
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.27
4
5
  prerelease:
5
- version: 1.1.26
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Ben Griffiths
9
9
  - James Stewart
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2012-01-26 00:00:00 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
13
+ date: 2012-01-27 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: nokogiri
18
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &16776300 !ruby/object:Gem::Requirement
19
18
  none: false
20
- requirements:
19
+ requirements:
21
20
  - - ~>
22
- - !ruby/object:Gem::Version
21
+ - !ruby/object:Gem::Version
23
22
  version: 1.5.0
24
23
  type: :runtime
25
24
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *16776300
26
+ - !ruby/object:Gem::Dependency
28
27
  name: rack
29
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirement: &16775800 !ruby/object:Gem::Requirement
30
29
  none: false
31
- requirements:
30
+ requirements:
32
31
  - - ~>
33
- - !ruby/object:Gem::Version
32
+ - !ruby/object:Gem::Version
34
33
  version: 1.3.5
35
34
  type: :runtime
36
35
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *16775800
37
+ - !ruby/object:Gem::Dependency
39
38
  name: plek
40
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &16775340 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
45
44
  version: 0.1.8
46
45
  type: :runtime
47
46
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *16775340
48
+ - !ruby/object:Gem::Dependency
50
49
  name: json
51
- requirement: &id004 !ruby/object:Gem::Requirement
50
+ requirement: &16774960 !ruby/object:Gem::Requirement
52
51
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
57
56
  type: :runtime
58
57
  prerelease: false
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *16774960
59
+ - !ruby/object:Gem::Dependency
61
60
  name: null_logger
62
- requirement: &id005 !ruby/object:Gem::Requirement
61
+ requirement: &16774500 !ruby/object:Gem::Requirement
63
62
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: "0"
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
68
67
  type: :runtime
69
68
  prerelease: false
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *16774500
70
+ - !ruby/object:Gem::Dependency
72
71
  name: gds-api-adapters
73
- requirement: &id006 !ruby/object:Gem::Requirement
72
+ requirement: &16773680 !ruby/object:Gem::Requirement
74
73
  none: false
75
- requirements:
74
+ requirements:
76
75
  - - ~>
77
- - !ruby/object:Gem::Version
76
+ - !ruby/object:Gem::Version
78
77
  version: 0.0.33
79
78
  type: :development
80
79
  prerelease: false
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *16773680
81
+ - !ruby/object:Gem::Dependency
83
82
  name: rake
84
- requirement: &id007 !ruby/object:Gem::Requirement
83
+ requirement: &16773180 !ruby/object:Gem::Requirement
85
84
  none: false
86
- requirements:
85
+ requirements:
87
86
  - - ~>
88
- - !ruby/object:Gem::Version
87
+ - !ruby/object:Gem::Version
89
88
  version: 0.9.2.2
90
89
  type: :development
91
90
  prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *16773180
92
+ - !ruby/object:Gem::Dependency
94
93
  name: rack-test
95
- requirement: &id008 !ruby/object:Gem::Requirement
94
+ requirement: &16772720 !ruby/object:Gem::Requirement
96
95
  none: false
97
- requirements:
96
+ requirements:
98
97
  - - ~>
99
- - !ruby/object:Gem::Version
98
+ - !ruby/object:Gem::Version
100
99
  version: 0.6.1
101
100
  type: :development
102
101
  prerelease: false
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
102
+ version_requirements: *16772720
103
+ - !ruby/object:Gem::Dependency
105
104
  name: mocha
106
- requirement: &id009 !ruby/object:Gem::Requirement
105
+ requirement: &16772260 !ruby/object:Gem::Requirement
107
106
  none: false
108
- requirements:
107
+ requirements:
109
108
  - - ~>
110
- - !ruby/object:Gem::Version
109
+ - !ruby/object:Gem::Version
111
110
  version: 0.9.12
112
111
  type: :development
113
112
  prerelease: false
114
- version_requirements: *id009
115
- - !ruby/object:Gem::Dependency
113
+ version_requirements: *16772260
114
+ - !ruby/object:Gem::Dependency
116
115
  name: webmock
117
- requirement: &id010 !ruby/object:Gem::Requirement
116
+ requirement: &16771800 !ruby/object:Gem::Requirement
118
117
  none: false
119
- requirements:
118
+ requirements:
120
119
  - - ~>
121
- - !ruby/object:Gem::Version
122
- version: "1.7"
120
+ - !ruby/object:Gem::Version
121
+ version: '1.7'
123
122
  type: :development
124
123
  prerelease: false
125
- version_requirements: *id010
126
- - !ruby/object:Gem::Dependency
124
+ version_requirements: *16771800
125
+ - !ruby/object:Gem::Dependency
127
126
  name: therubyracer
128
- requirement: &id011 !ruby/object:Gem::Requirement
127
+ requirement: &16771420 !ruby/object:Gem::Requirement
129
128
  none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- version: "0"
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
134
133
  type: :development
135
134
  prerelease: false
136
- version_requirements: *id011
135
+ version_requirements: *16771420
137
136
  description: Rack middleware for skinning pages using a specific template
138
- email:
137
+ email:
139
138
  - bengriffiths@gmail.com
140
139
  - james.stewart@digital.cabinet-office.gov.uk
141
- executables:
140
+ executables:
142
141
  - render_slimmer_error
143
142
  extensions: []
144
-
145
143
  extra_rdoc_files: []
146
-
147
- files:
144
+ files:
148
145
  - README.md
149
146
  - CHANGELOG.md
147
+ - lib/slimmer/tag_mover.rb
150
148
  - lib/slimmer/admin_title_inserter.rb
149
+ - lib/slimmer/footer_remover.rb
150
+ - lib/slimmer/section_inserter.rb
151
+ - lib/slimmer/template.rb
152
+ - lib/slimmer/header_context_inserter.rb
151
153
  - lib/slimmer/app.rb
154
+ - lib/slimmer/skin.rb
152
155
  - lib/slimmer/body_class_copier.rb
156
+ - lib/slimmer/railtie.rb
157
+ - lib/slimmer/title_inserter.rb
153
158
  - lib/slimmer/body_inserter.rb
154
- - lib/slimmer/footer_remover.rb
155
159
  - lib/slimmer/google_analytics_configurator.rb
156
- - lib/slimmer/header_context_inserter.rb
160
+ - lib/slimmer/test.rb
157
161
  - lib/slimmer/headers.rb
158
- - lib/slimmer/railtie.rb
162
+ - lib/slimmer/version.rb
159
163
  - lib/slimmer/related_items_inserter.rb
160
- - lib/slimmer/section_inserter.rb
161
- - lib/slimmer/skin.rb
162
- - lib/slimmer/tag_mover.rb
163
- - lib/slimmer/template.rb
164
- - lib/slimmer/test.rb
165
- - lib/slimmer/title_inserter.rb
166
164
  - lib/slimmer/url_rewriter.rb
167
- - lib/slimmer/version.rb
168
- - lib/slimmer.rb
169
165
  - lib/tasks/slimmer.rake
166
+ - lib/slimmer.rb
170
167
  - Rakefile
171
- - test/fixtures/404.html.erb
168
+ - test/typical_usage_test.rb
172
169
  - test/fixtures/500.html.erb
173
- - test/fixtures/related.raw.html.erb
170
+ - test/fixtures/404.html.erb
174
171
  - test/fixtures/wrapper.html.erb
172
+ - test/fixtures/related.raw.html.erb
173
+ - test/test_helper.rb
174
+ - test/skin_test.rb
175
175
  - test/google_analytics_test.rb
176
176
  - test/headers_test.rb
177
177
  - test/processors/body_inserter_test.rb
178
178
  - test/processors/header_context_inserter_test.rb
179
- - test/skin_test.rb
180
- - test/test_helper.rb
181
- - test/typical_usage_test.rb
182
179
  - bin/render_slimmer_error
183
180
  homepage: http://github.com/alphagov/slimmer
184
181
  licenses: []
185
-
186
182
  post_install_message:
187
183
  rdoc_options: []
188
-
189
- require_paths:
184
+ require_paths:
190
185
  - lib
191
- required_ruby_version: !ruby/object:Gem::Requirement
186
+ required_ruby_version: !ruby/object:Gem::Requirement
192
187
  none: false
193
- requirements:
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- hash: 2534821271155940380
197
- segments:
198
- - 0
199
- version: "0"
200
- required_rubygems_version: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
201
193
  none: false
202
- requirements:
203
- - - ">="
204
- - !ruby/object:Gem::Version
205
- hash: 2534821271155940380
206
- segments:
207
- - 0
208
- version: "0"
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
209
198
  requirements: []
210
-
211
199
  rubyforge_project: slimmer
212
- rubygems_version: 1.8.13
200
+ rubygems_version: 1.8.11
213
201
  signing_key:
214
202
  specification_version: 3
215
203
  summary: Thinner than the skinner
216
- test_files:
217
- - test/fixtures/404.html.erb
204
+ test_files:
205
+ - test/typical_usage_test.rb
218
206
  - test/fixtures/500.html.erb
219
- - test/fixtures/related.raw.html.erb
207
+ - test/fixtures/404.html.erb
220
208
  - test/fixtures/wrapper.html.erb
209
+ - test/fixtures/related.raw.html.erb
210
+ - test/test_helper.rb
211
+ - test/skin_test.rb
221
212
  - test/google_analytics_test.rb
222
213
  - test/headers_test.rb
223
214
  - test/processors/body_inserter_test.rb
224
215
  - test/processors/header_context_inserter_test.rb
225
- - test/skin_test.rb
226
- - test/test_helper.rb
227
- - test/typical_usage_test.rb