From 0d2ac9fb4bdec670be8be3d6c15531e1a2e10af3 Mon Sep 17 00:00:00 2001 From: Carlos Purificacao Date: Fri, 18 Sep 2015 16:24:10 -0300 Subject: [PATCH] Added initial tests --- test/unit/api/login_captcha_test.rb | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+), 0 deletions(-) create mode 100644 test/unit/api/login_captcha_test.rb diff --git a/test/unit/api/login_captcha_test.rb b/test/unit/api/login_captcha_test.rb new file mode 100644 index 0000000..165ed56 --- /dev/null +++ b/test/unit/api/login_captcha_test.rb @@ -0,0 +1,51 @@ +require File.dirname(__FILE__) + '/test_helper' + +class LoginCaptchaTest < ActiveSupport::TestCase + + url = "/api/v1/login-captcha?" + + def setup() + environment = Environment.default + environment.api_captcha_settings = { + enabled: true, + provider: 'serpro', + serpro_client_id: '0000000000000000', + verify_uri: 'http://captcha.serpro.gov.br/validate', + } + environment.save! + + end + + should 'not generate private token when login without captcha' do + params = {} + post "#{url}#{params.to_query}" + json = JSON.parse(last_response.body) + puts "JSon1: #{json}" + assert json["private_token"].blank? + end + + should 'generate private token when login with captcha' do + #request = mock() + stub_request(:post, "http://captcha.serpro.gov.br/validate"). + with(:body => "0000000000000000&4324343&4030320", + :headers => {'Accept'=>'*/*', 'User-Agent'=>'Ruby'}). + to_return(:status => 200, :body => "1", :headers => {}) + + # Mock the user to check the private_token + token = "private_token@1234" + user = mock + User.expects(:new).returns(user) + user.expects(:generate_private_token!).returns(token) + # To store the user session helpers.rb call the private_token method + user.expects(:private_token).times(2).returns(token) + + params = {:txtToken_captcha_serpro_gov_br => '4324343', :captcha_text => '4030320'} + post "#{url}#{params.to_query}" + json = JSON.parse(last_response.body) + puts "JSon2: #{json}" + assert !json["private_token"].blank? + ret = json["private_token"] + assert ret == token + end + +end \ No newline at end of file -- libgit2 0.21.2