summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-03-02 11:25:19 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-03-02 11:25:19 +0000
commit8fda77dc4022bec7b87874de3b7c36291642416c (patch)
tree78da25b903dbb3038edd72e205c29aa377d6a0b0
parent4eb7ac11076ffebdb35c2b4a231a9768e50a27a1 (diff)
downloadredmine-8fda77dc4022bec7b87874de3b7c36291642416c.tar.gz
redmine-8fda77dc4022bec7b87874de3b7c36291642416c.zip
Adds functional tests for LdapAuthSourcesController.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9052 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--test/functional/ldap_auth_sources_controller.rb36
-rw-r--r--test/functional/ldap_auth_sources_controller_test.rb96
2 files changed, 96 insertions, 36 deletions
diff --git a/test/functional/ldap_auth_sources_controller.rb b/test/functional/ldap_auth_sources_controller.rb
deleted file mode 100644
index 2d6405f84..000000000
--- a/test/functional/ldap_auth_sources_controller.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-# Redmine - project management software
-# Copyright (C) 2006-2012 Jean-Philippe Lang
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-require File.expand_path('../../test_helper', __FILE__)
-
-class LdapAuthSourcesControllerTest < ActionController::TestCase
-
- def setup
- @request.session[:user_id] = 1
- end
-
- def test_new
- get :new
-
- assert_response :success
- assert_template 'new'
-
- source = assigns(:auth_source)
- assert_equal AuthSourceLdap, source.class
- assert source.new_record?
- end
-end
diff --git a/test/functional/ldap_auth_sources_controller_test.rb b/test/functional/ldap_auth_sources_controller_test.rb
new file mode 100644
index 000000000..b24cbc281
--- /dev/null
+++ b/test/functional/ldap_auth_sources_controller_test.rb
@@ -0,0 +1,96 @@
+# Redmine - project management software
+# Copyright (C) 2006-2012 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+require File.expand_path('../../test_helper', __FILE__)
+
+class LdapAuthSourcesControllerTest < ActionController::TestCase
+ fixtures :auth_sources, :users
+
+ def setup
+ @request.session[:user_id] = 1
+ end
+
+ def test_new
+ get :new
+
+ assert_response :success
+ assert_template 'new'
+
+ source = assigns(:auth_source)
+ assert_equal AuthSourceLdap, source.class
+ assert source.new_record?
+ end
+
+ def test_create
+ assert_difference 'AuthSourceLdap.count' do
+ post :create, :auth_source => {:name => 'Test', :host => '127.0.0.1', :port => '389', :attr_login => 'cn'}
+ assert_redirected_to '/ldap_auth_sources'
+ end
+
+ source = AuthSourceLdap.first(:order => 'id DESC')
+ assert_equal 'Test', source.name
+ assert_equal '127.0.0.1', source.host
+ assert_equal 389, source.port
+ assert_equal 'cn', source.attr_login
+ end
+
+ def test_create_with_failure
+ assert_no_difference 'AuthSourceLdap.count' do
+ post :create, :auth_source => {:name => 'Test', :host => '', :port => '389', :attr_login => 'cn'}
+ assert_response :success
+ assert_template 'new'
+ end
+ assert_error_tag :content => /host can't be blank/i
+ end
+
+ def test_edit
+ get :edit, :id => 1
+
+ assert_response :success
+ assert_template 'edit'
+ end
+
+ def test_update
+ post :update, :id => 1, :auth_source => {:name => 'Renamed', :host => '192.168.0.10', :port => '389', :attr_login => 'uid'}
+ assert_redirected_to '/ldap_auth_sources'
+
+ source = AuthSourceLdap.find(1)
+ assert_equal 'Renamed', source.name
+ assert_equal '192.168.0.10', source.host
+ end
+
+ def test_update_with_failure
+ post :update, :id => 1, :auth_source => {:name => 'Renamed', :host => '', :port => '389', :attr_login => 'uid'}
+ assert_response :success
+ assert_template 'edit'
+ assert_error_tag :content => /host can't be blank/i
+ end
+
+ def test_destroy
+ assert_difference 'AuthSourceLdap.count', -1 do
+ post :destroy, :id => 1
+ end
+ end
+
+ def test_destroy_auth_source_in_use
+ User.find(2).update_attribute :auth_source_id, 1
+
+ assert_no_difference 'AuthSourceLdap.count' do
+ post :destroy, :id => 1
+ end
+ end
+end