##// END OF EJS Templates
add test of replace port zero to 389 at unit auth_source_ldap_test....
Toshi MARUYAMA -
r6625:813f69a68984
parent child
Show More
@@ -1,80 +1,89
1 1 # Redmine - project management software
2 2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 require File.expand_path('../../test_helper', __FILE__)
19 19
20 20 class AuthSourceLdapTest < ActiveSupport::TestCase
21 21 fixtures :auth_sources
22 22
23 23 def setup
24 24 end
25 25
26 26 def test_create
27 27 a = AuthSourceLdap.new(:name => 'My LDAP', :host => 'ldap.example.net', :port => 389, :base_dn => 'dc=example,dc=net', :attr_login => 'sAMAccountName')
28 28 assert a.save
29 29 end
30 30
31 31 def test_should_strip_ldap_attributes
32 32 a = AuthSourceLdap.new(:name => 'My LDAP', :host => 'ldap.example.net', :port => 389, :base_dn => 'dc=example,dc=net', :attr_login => 'sAMAccountName',
33 33 :attr_firstname => 'givenName ')
34 34 assert a.save
35 35 assert_equal 'givenName', a.reload.attr_firstname
36 36 end
37 37
38 def test_replace_port_zero_to_389
39 a = AuthSourceLdap.new(
40 :name => 'My LDAP', :host => 'ldap.example.net', :port => 0,
41 :base_dn => 'dc=example,dc=net', :attr_login => 'sAMAccountName',
42 :attr_firstname => 'givenName ')
43 assert a.save
44 assert_equal 389, a.port
45 end
46
38 47 if ldap_configured?
39 48 context '#authenticate' do
40 49 setup do
41 50 @auth = AuthSourceLdap.find(1)
42 51 end
43 52
44 53 context 'with a valid LDAP user' do
45 54 should 'return the user attributes' do
46 55 attributes = @auth.authenticate('example1','123456')
47 56 assert attributes.is_a?(Hash), "An hash was not returned"
48 57 assert_equal 'Example', attributes[:firstname]
49 58 assert_equal 'One', attributes[:lastname]
50 59 assert_equal 'example1@redmine.org', attributes[:mail]
51 60 assert_equal @auth.id, attributes[:auth_source_id]
52 61 attributes.keys.each do |attribute|
53 62 assert User.new.respond_to?("#{attribute}="), "Unexpected :#{attribute} attribute returned"
54 63 end
55 64 end
56 65 end
57 66
58 67 context 'with an invalid LDAP user' do
59 68 should 'return nil' do
60 69 assert_equal nil, @auth.authenticate('nouser','123456')
61 70 end
62 71 end
63 72
64 73 context 'without a login' do
65 74 should 'return nil' do
66 75 assert_equal nil, @auth.authenticate('','123456')
67 76 end
68 77 end
69 78
70 79 context 'without a password' do
71 80 should 'return nil' do
72 81 assert_equal nil, @auth.authenticate('edavis','')
73 82 end
74 83 end
75 84
76 85 end
77 86 else
78 87 puts '(Test LDAP server not configured)'
79 88 end
80 89 end
General Comments 0
You need to be logged in to leave comments. Login now