slimmer 1.1.26 → 1.1.27

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