OSDN Git Service

Test that AuthSourceLdap#authenticate returns valid User attributes only.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 26 Feb 2010 08:50:37 +0000 (08:50 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 26 Feb 2010 08:50:37 +0000 (08:50 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3491 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/unit/auth_source_ldap_test.rb

index bf86892..f78d645 100644 (file)
@@ -42,25 +42,18 @@ class AuthSourceLdapTest < ActiveSupport::TestCase
       end
 
       context 'with a valid LDAP user' do
-        should 'return the firstname user attributes' do
+        should 'return the user attributes' do
           response =  @auth.authenticate('example1','123456')
           assert response.is_a?(Array), "An array was not returned"
           assert response.first.present?, "No user data returned"
-          assert_equal 'Example', response.first[:firstname]
-        end
-
-        should 'return the lastname user attributes' do
-          response =  @auth.authenticate('example1','123456')
-          assert response.is_a?(Array), "An array was not returned"
-          assert response.first.present?, "No user data returned"
-          assert_equal 'One', response.first[:lastname]
-        end
-
-        should 'return mail user attributes' do
-          response =  @auth.authenticate('example1','123456')
-          assert response.is_a?(Array), "An array was not returned"
-          assert response.first.present?, "No user data returned"
-          assert_equal 'example1@redmine.org', response.first[:mail]
+          attributes = response.first
+          assert_equal 'Example', attributes[:firstname]
+          assert_equal 'One', attributes[:lastname]
+          assert_equal 'example1@redmine.org', attributes[:mail]
+          assert_equal @auth.id, attributes[:auth_source_id]
+          attributes.keys.each do |attribute|
+            assert User.new.respond_to?("#{attribute}="), "Unexpected :#{attribute} attribute returned"
+          end
         end
       end