diff options
| -rw-r--r-- | users/app/models/user.rb | 2 | ||||
| -rw-r--r-- | users/test/functional/sessions_controller_test.rb | 9 | ||||
| -rw-r--r-- | users/test/integration/api/account_flow_test.rb | 39 | 
3 files changed, 26 insertions, 24 deletions
| diff --git a/users/app/models/user.rb b/users/app/models/user.rb index 824c439..507eda5 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -36,7 +36,7 @@ class User < CouchRest::Model::Base      # valid set of attributes for testing      def valid_attributes_hash        { :login => "me", -        :password_verifier => "1234ABC", +        :password_verifier => "1234ABCD",          :password_salt => "4321AB" }      end diff --git a/users/test/functional/sessions_controller_test.rb b/users/test/functional/sessions_controller_test.rb index 8f2d95c..93cc032 100644 --- a/users/test/functional/sessions_controller_test.rb +++ b/users/test/functional/sessions_controller_test.rb @@ -26,11 +26,12 @@ class SessionsControllerTest < ActionController::TestCase    end    test "renders warden errors" do -    strategy = stub :message => "Warden auth did not work" -    request.env['warden'].expects(:winning_strategy).returns(strategy) +    strategy = stub :message => {:field => :translate_me} +    request.env['warden'].stubs(:winning_strategy).returns(strategy) +    I18n.expects(:t).with(:translate_me).at_least_once.returns("translation stub")      get :new, :format => :json -    assert_response :success -    assert_json_response :errors => strategy.message +    assert_response 422 +    assert_json_response :errors => {"field" => "translation stub"}    end    # Warden takes care of parsing the params and diff --git a/users/test/integration/api/account_flow_test.rb b/users/test/integration/api/account_flow_test.rb index c9a7109..4135485 100644 --- a/users/test/integration/api/account_flow_test.rb +++ b/users/test/integration/api/account_flow_test.rb @@ -16,24 +16,6 @@ class AccountFlowTest < ActiveSupport::TestCase      Warden.test_reset!    end -  # this test wraps the api and implements the interface the ruby-srp client. -  def handshake(login, aa) -    post "/sessions.json", :login => login, 'A' => aa.to_s(16), :format => :json -    assert last_response.successful? -    response = JSON.parse(last_response.body) -    if response['errors'] -      raise RECORD_NOT_FOUND.new(response['errors']) -    else -      return response['B'].hex -    end -  end - -  def validate(m) -    put "/sessions/" + @login + '.json', :client_auth => m.to_s(16), :format => :json -    assert last_response.successful? -    return JSON.parse(last_response.body) -  end -    def setup      @login = "integration_test_user"      User.find_by_login(@login).tap{|u| u.destroy if u} @@ -52,6 +34,22 @@ class AccountFlowTest < ActiveSupport::TestCase      @user.destroy if @user # make sure we can run this test again    end +  # this test wraps the api and implements the interface the ruby-srp client. +  def handshake(login, aa) +    post "/sessions.json", :login => login, 'A' => aa.to_s(16), :format => :json +    response = JSON.parse(last_response.body) +    if response['errors'] +      raise RECORD_NOT_FOUND.new(response['errors']) +    else +      return response['B'].hex +    end +  end + +  def validate(m) +    put "/sessions/" + @login + '.json', :client_auth => m.to_s(16), :format => :json +    return JSON.parse(last_response.body) +  end +    test "signup response" do      assert_json_response :login => @login, :ok => true      assert last_response.successful? @@ -59,6 +57,7 @@ class AccountFlowTest < ActiveSupport::TestCase    test "signup and login with srp via api" do      server_auth = @srp.authenticate(self) +    assert last_response.successful?      assert_nil server_auth["errors"]      assert server_auth["M2"]    end @@ -66,7 +65,8 @@ class AccountFlowTest < ActiveSupport::TestCase    test "signup and wrong password login attempt" do      srp = SRP::Client.new(@login, "wrong password")      server_auth = srp.authenticate(self) -    assert_equal "Could not log in", server_auth["errors"]['password'] +    assert !last_response.successful? +    assert_equal "wrong password", server_auth["errors"]['password']      assert_nil server_auth["M2"]    end @@ -76,6 +76,7 @@ class AccountFlowTest < ActiveSupport::TestCase      assert_raises RECORD_NOT_FOUND do        server_auth = srp.authenticate(self)      end +    assert !last_response.successful?      assert_nil server_auth    end | 
