##// END OF EJS Templates
Speeds up rendering of the project list for users who belong to hundreds of projects....
Speeds up rendering of the project list for users who belong to hundreds of projects. git-svn-id: http://svn.redmine.org/redmine/trunk@16123 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r15313:ec31b616982f
r15741:f8df935dcada
Show More
auth_sources_controller_test.rb
160 lines | 5.0 KiB | text/x-ruby | RubyLexer
/ test / functional / auth_sources_controller_test.rb
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 # Redmine - project management software
Jean-Philippe Lang
Updates copyright for 2016....
r14856 # Copyright (C) 2006-2016 Jean-Philippe Lang
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 #
# 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__)
Jean-Philippe Lang
Adds our own class for controller tests....
r15279 class AuthSourcesControllerTest < Redmine::ControllerTest
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 fixtures :users, :auth_sources
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346
def setup
@request.session[:user_id] = 1
end
def test_index
get :index
assert_response :success
end
def test_new
get :new
assert_response :success
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112
Jean-Philippe Lang
Code cleanup in AuthSource controller and views....
r10767 assert_select 'form#auth_source_form' do
assert_select 'input[name=type][value=AuthSourceLdap]'
assert_select 'input[name=?]', 'auth_source[host]'
end
end
def test_new_with_invalid_type_should_respond_with_404
get :new, :type => 'foo'
assert_response 404
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
def test_create
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 assert_difference 'AuthSourceLdap.count' do
post :create, :type => 'AuthSourceLdap', :auth_source => {:name => 'Test', :host => '127.0.0.1', :port => '389', :attr_login => 'cn'}
assert_redirected_to '/auth_sources'
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
Jean-Philippe Lang
Code cleanup in AuthSource controller and views....
r10767 source = AuthSourceLdap.order('id DESC').first
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 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
Toshi MARUYAMA
code format clean up AuthSourcesControllerTest...
r12520 post :create, :type => 'AuthSourceLdap',
:auth_source => {:name => 'Test', :host => '',
:port => '389', :attr_login => 'cn'}
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 assert_response :success
end
Jean-Philippe Lang
Replaced "can't" with "cannot" in error messages....
r13399 assert_select_error /host cannot be blank/i
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
def test_edit
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 get :edit, :id => 1
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 assert_response :success
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112
Jean-Philippe Lang
Code cleanup in AuthSource controller and views....
r10767 assert_select 'form#auth_source_form' do
assert_select 'input[name=?]', 'auth_source[host]'
end
end
def test_edit_should_not_contain_password
AuthSource.find(1).update_column :account_password, 'secret'
get :edit, :id => 1
assert_response :success
assert_select 'input[value=secret]', 0
Jean-Philippe Lang
Upgrade to Rails 4.2.0 (#14534)....
r13510 assert_select 'input[name=dummy_password][value^=xxxxxx]'
Jean-Philippe Lang
Code cleanup in AuthSource controller and views....
r10767 end
def test_edit_invalid_should_respond_with_404
get :edit, :id => 99
assert_response 404
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
def test_update
Toshi MARUYAMA
code format clean up AuthSourcesControllerTest...
r12520 put :update, :id => 1,
:auth_source => {:name => 'Renamed', :host => '192.168.0.10',
:port => '389', :attr_login => 'uid'}
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 assert_redirected_to '/auth_sources'
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 source = AuthSourceLdap.find(1)
assert_equal 'Renamed', source.name
assert_equal '192.168.0.10', source.host
end
def test_update_with_failure
Toshi MARUYAMA
code format clean up AuthSourcesControllerTest...
r12520 put :update, :id => 1,
:auth_source => {:name => 'Renamed', :host => '',
:port => '389', :attr_login => 'uid'}
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 assert_response :success
Jean-Philippe Lang
Replaced "can't" with "cannot" in error messages....
r13399 assert_select_error /host cannot be blank/i
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 end
def test_destroy
assert_difference 'AuthSourceLdap.count', -1 do
Jean-Philippe Lang
Resourcified auth_sources....
r9113 delete :destroy, :id => 1
Jean-Philippe Lang
Code cleanup in AuthSource controller and views....
r10767 assert_redirected_to '/auth_sources'
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 end
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 def test_destroy_auth_source_in_use
User.find(2).update_attribute :auth_source_id, 1
assert_no_difference 'AuthSourceLdap.count' do
Jean-Philippe Lang
Resourcified auth_sources....
r9113 delete :destroy, :id => 1
Jean-Philippe Lang
Code cleanup in AuthSource controller and views....
r10767 assert_redirected_to '/auth_sources'
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 end
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 def test_test_connection
AuthSourceLdap.any_instance.stubs(:test_connection).returns(true)
get :test_connection, :id => 1
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 assert_redirected_to '/auth_sources'
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 assert_not_nil flash[:notice]
assert_match /successful/i, flash[:notice]
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 def test_test_connection_with_failure
Jean-Philippe Lang
Fixed that LDAP error is not displayed when testing connection....
r9114 AuthSourceLdap.any_instance.stubs(:initialize_ldap_con).raises(Net::LDAP::LdapError.new("Something went wrong"))
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 get :test_connection, :id => 1
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 assert_redirected_to '/auth_sources'
Jean-Philippe Lang
Merged LdapAuthSourceController into AuthSourceController....
r9112 assert_not_nil flash[:error]
Jean-Philippe Lang
Fixed that LDAP error is not displayed when testing connection....
r9114 assert_include 'Something went wrong', flash[:error]
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end
Jean-Philippe Lang
Auto-populate fields while creating a new user with LDAP (#10286)....
r10850
def test_autocomplete_for_new_user
AuthSource.expects(:search).with('foo').returns([
{:login => 'foo1', :firstname => 'John', :lastname => 'Smith', :mail => 'foo1@example.net', :auth_source_id => 1},
{:login => 'Smith', :firstname => 'John', :lastname => 'Doe', :mail => 'foo2@example.net', :auth_source_id => 1}
])
get :autocomplete_for_new_user, :term => 'foo'
assert_response :success
assert_equal 'application/json', response.content_type
json = ActiveSupport::JSON.decode(response.body)
assert_kind_of Array, json
assert_equal 2, json.size
assert_equal 'foo1', json.first['value']
assert_equal 'foo1 (John Smith)', json.first['label']
end
Toshi MARUYAMA
svn propset "svn:eol-style" native test/functional/auth_sources_controller_test.rb...
r8346 end