Commit 0d2ac9fb4bdec670be8be3d6c15531e1a2e10af3
1 parent
a590ddfe
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Added initial tests
Showing
1 changed file
with
51 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,51 @@ | @@ -0,0 +1,51 @@ | ||
1 | +require File.dirname(__FILE__) + '/test_helper' | ||
2 | + | ||
3 | +class LoginCaptchaTest < ActiveSupport::TestCase | ||
4 | + | ||
5 | + url = "/api/v1/login-captcha?" | ||
6 | + | ||
7 | + def setup() | ||
8 | + environment = Environment.default | ||
9 | + environment.api_captcha_settings = { | ||
10 | + enabled: true, | ||
11 | + provider: 'serpro', | ||
12 | + serpro_client_id: '0000000000000000', | ||
13 | + verify_uri: 'http://captcha.serpro.gov.br/validate', | ||
14 | + } | ||
15 | + environment.save! | ||
16 | + | ||
17 | + end | ||
18 | + | ||
19 | + should 'not generate private token when login without captcha' do | ||
20 | + params = {} | ||
21 | + post "#{url}#{params.to_query}" | ||
22 | + json = JSON.parse(last_response.body) | ||
23 | + puts "JSon1: #{json}" | ||
24 | + assert json["private_token"].blank? | ||
25 | + end | ||
26 | + | ||
27 | + should 'generate private token when login with captcha' do | ||
28 | + #request = mock() | ||
29 | + stub_request(:post, "http://captcha.serpro.gov.br/validate"). | ||
30 | + with(:body => "0000000000000000&4324343&4030320", | ||
31 | + :headers => {'Accept'=>'*/*', 'User-Agent'=>'Ruby'}). | ||
32 | + to_return(:status => 200, :body => "1", :headers => {}) | ||
33 | + | ||
34 | + # Mock the user to check the private_token | ||
35 | + token = "private_token@1234" | ||
36 | + user = mock | ||
37 | + User.expects(:new).returns(user) | ||
38 | + user.expects(:generate_private_token!).returns(token) | ||
39 | + # To store the user session helpers.rb call the private_token method | ||
40 | + user.expects(:private_token).times(2).returns(token) | ||
41 | + | ||
42 | + params = {:txtToken_captcha_serpro_gov_br => '4324343', :captcha_text => '4030320'} | ||
43 | + post "#{url}#{params.to_query}" | ||
44 | + json = JSON.parse(last_response.body) | ||
45 | + puts "JSon2: #{json}" | ||
46 | + assert !json["private_token"].blank? | ||
47 | + ret = json["private_token"] | ||
48 | + assert ret == token | ||
49 | + end | ||
50 | + | ||
51 | +end | ||
0 | \ No newline at end of file | 52 | \ No newline at end of file |