Commit 6b8b1783f9d4565298dc9517ad40135a70513fc5
1 parent
7fb4da5b
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
broken tests
Showing
3 changed files
with
36 additions
and
20 deletions
Show diff stats
lib/noosfero/api/helpers.rb
... | ... | @@ -39,6 +39,10 @@ require 'grape' |
39 | 39 | @environment |
40 | 40 | end |
41 | 41 | |
42 | + def logger | |
43 | + Noosfero::API::API.logger | |
44 | + end | |
45 | + | |
42 | 46 | def limit |
43 | 47 | limit = params[:limit].to_i |
44 | 48 | limit = default_limit if limit <= 0 |
... | ... | @@ -239,6 +243,10 @@ require 'grape' |
239 | 243 | render_api_error!(_('Method Not Allowed'), 405) |
240 | 244 | end |
241 | 245 | |
246 | + # render_api_error!(message, status) | |
247 | + # error!({'message' => message, :code => status}, status) | |
248 | + # end | |
249 | + | |
242 | 250 | # javascript_console_message is supposed to be executed as console.log() |
243 | 251 | def render_api_error!(user_message, status, log_message = nil, javascript_console_message = nil) |
244 | 252 | status||= 400 |
... | ... | @@ -247,9 +255,14 @@ require 'grape' |
247 | 255 | log_msg = "#{status}, User message: #{user_message}" |
248 | 256 | log_msg = "#{log_message}, #{log_msg}" if log_message.present? |
249 | 257 | log_msg = "#{log_msg}, Javascript Console Message: #{javascript_console_message}" if javascript_console_message.present? |
258 | +# headers = { Grape::Http::Headers::CONTENT_TYPE => content_type }.merge(headers) | |
259 | +# rack_response(format_message(message, backtrace), status, headers) | |
260 | +# raise log_msg | |
250 | 261 | #Since throw :error is not logging the errors I had to manually log it! |
251 | 262 | #log(log_msg) |
252 | - throw :error, message: message_hash, status: status, headers: headers | |
263 | + logger.error log_msg | |
264 | + error!(message_hash, status) | |
265 | +# throw :error, message: message_hash, status: status, headers: headers | |
253 | 266 | end |
254 | 267 | |
255 | 268 | def render_api_errors!(messages) | ... | ... |
lib/noosfero/api/session.rb
... | ... | @@ -124,9 +124,9 @@ module Noosfero |
124 | 124 | end |
125 | 125 | end |
126 | 126 | |
127 | - # post "/error" do | |
128 | - # render_api_error!("show on screen", 400, "this is the log message", "go to JS") | |
129 | - # end | |
127 | + get "/stop" do | |
128 | + stop!("show on screen", 400, "this is the log message", "go to JS") | |
129 | + end | |
130 | 130 | |
131 | 131 | end |
132 | 132 | end | ... | ... |
test/unit/api/helpers_test.rb
... | ... | @@ -185,7 +185,8 @@ class APIHelpersTest < ActiveSupport::TestCase |
185 | 185 | public_key: '6LdsWAcTAAAAAChTUUD6yu9fCDhdIZzNd7F53zf-', |
186 | 186 | verify_uri: 'https://www.google.com/recaptcha/api/verify', |
187 | 187 | } |
188 | - assert_equal test_captcha("127.0.0.1", {}, environment), "Missing captcha data" | |
188 | + r = test_captcha('127.0.0.1', params, environment) | |
189 | + assert_equal 'Missing captcha data', JSON.parse(r)['console_message'] | |
189 | 190 | end |
190 | 191 | |
191 | 192 | should 'fail display recaptcha v2' do |
... | ... | @@ -198,9 +199,12 @@ class APIHelpersTest < ActiveSupport::TestCase |
198 | 199 | public_key: '6LdsWAcTAAAAAChTUUD6yu9fCDhdIZzNd7F53zf-', |
199 | 200 | verify_uri: 'https://www.google.com/recaptcha/api/siteverify', |
200 | 201 | } |
201 | - assert_equal test_captcha("127.0.0.1", {}, environment), "Missing captcha data" | |
202 | + r = test_captcha('127.0.0.1', params, environment) | |
203 | + assert_equal 'Missing captcha data', JSON.parse(r)['console_message'] | |
202 | 204 | end |
203 | 205 | |
206 | + | |
207 | + | |
204 | 208 | should 'fail display Serpro captcha' do |
205 | 209 | environment = Environment.new |
206 | 210 | environment.api_captcha_settings = { |
... | ... | @@ -232,8 +236,6 @@ class APIHelpersTest < ActiveSupport::TestCase |
232 | 236 | #assert_equal 403, find_article(p.articles, a.id).last |
233 | 237 | |
234 | 238 | #assert_equals [article1, article2], present_articles |
235 | - | |
236 | - | |
237 | 239 | end |
238 | 240 | |
239 | 241 | should 'captcha serpro say name or service not known' do |
... | ... | @@ -247,11 +249,10 @@ class APIHelpersTest < ActiveSupport::TestCase |
247 | 249 | params = {} |
248 | 250 | params[:txtToken_captcha_serpro_gov_br] = '4324343' |
249 | 251 | params[:captcha_text] = '4324343' |
250 | - assert_throws :error do | |
251 | - r = test_captcha('127.0.0.1', params, environment) | |
252 | - puts r.inspect | |
253 | - end | |
254 | - # assert_equal 'Serpro captcha error: getaddrinfo: Name or service not known', JSON.parse(r)['console_message'] | |
252 | + binding.pry | |
253 | + expects(:render_api_error!).with(_('Internal captcha validation error'), 503, nil, "recaptcha error: #{e.message}") | |
254 | +# r = test_captcha('127.0.0.1', params, environment) | |
255 | +# assert_equal 'Serpro captcha error: getaddrinfo: Name or service not known', JSON.parse(r)['console_message'] | |
255 | 256 | end |
256 | 257 | |
257 | 258 | |
... | ... | @@ -262,13 +263,6 @@ class APIHelpersTest < ActiveSupport::TestCase |
262 | 263 | # throw :error, message: message_hash, status: self.status, headers: headers |
263 | 264 | # end |
264 | 265 | |
265 | - | |
266 | - # should 'display user message' do | |
267 | - # r=render_api_error!('Error to the user', '403', 'detailed log_message', 'show this on user\'s javascript console') | |
268 | - # puts r.inspect | |
269 | - # tsil | |
270 | - # end | |
271 | - | |
272 | 266 | protected |
273 | 267 | |
274 | 268 | def error!(info, status) |
... | ... | @@ -283,4 +277,13 @@ class APIHelpersTest < ActiveSupport::TestCase |
283 | 277 | @params = value |
284 | 278 | end |
285 | 279 | |
280 | + def render_api_error!(user_message, status, log_message = nil, javascript_console_message = nil) | |
281 | + status||= 400 | |
282 | + log_msg = "#{status}, User message: #{user_message}" | |
283 | + log_msg = "#{log_message}, #{log_msg}" if log_message.present? | |
284 | + log_msg = "#{log_msg}, Javascript Console Message: #{javascript_console_message}" if javascript_console_message.present? | |
285 | + return log_msg | |
286 | + end | |
287 | + | |
288 | + | |
286 | 289 | end | ... | ... |