Commit 6b8b1783f9d4565298dc9517ad40135a70513fc5

Authored by Evandro Junior
1 parent 7fb4da5b

broken tests

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 &#39;grape&#39;
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 &#39;grape&#39;
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 &lt; 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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 &lt; 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
... ...