cirandas.net

ref: master

plugins/ldap/test/functional/ldap_plugin_admin_controller_test.rb


  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
require 'test_helper'
require_relative '../../controllers/ldap_plugin_admin_controller'

class LdapPluginAdminControllerTest < ActionController::TestCase

  def setup
    @environment = Environment.default
    user_login = create_admin_user(@environment)
    login_as(user_login)
    @admin = User[user_login].person
    @environment.enabled_plugins = ['LdapPlugin']
    @environment.ldap_plugin_host="http://somehost"
    @environment.save!
  end

  attr_accessor :admin

  should 'access index action' do
    get :index
    assert_template 'index'
    assert_response :success
  end

  should 'update ldap successfully display a message successfully' do
    @environment.ldap_plugin_host = nil
    @environment.save
    assert_nil @environment.ldap_plugin_host
    post :update, :environment => { :ldap_plugin_host => 'http://something' }
    assert_equal 'Ldap configuration updated successfully.', @request.session[:notice]
  end

  should 'wrong ldap update display a message unsuccessfully' do
    @environment.ldap_plugin_host = nil
    @environment.save
    assert_nil @environment.ldap_plugin_host
    post :update, :environment => { :ldap_plugin_host => '' }
    assert_equal 'Ldap configuration could not be saved.', @request.session[:notice]
  end

  should 'update ldap successfully render index template' do
    post :update, :environment => { :ldap_plugin_host => 'http://something' }

    assert_template 'index'
  end

  should 'update ldap unsuccessfully render index template' do
    post :update, :environment => { :ldap_plugin_port => '3434' }

    assert_template 'index'
  end

  should 'update ldap host' do
    @environment.ldap_plugin_host = nil
    @environment.save
    assert_nil @environment.ldap_plugin_host
    post :update, :environment => { :ldap_plugin_host => 'http://something' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_host
  end

  should 'update ldap port' do
    post :update, :environment => { :ldap_plugin_port => '245' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_port
  end

  should 'update ldap account' do
    assert_nil @environment.ldap_plugin_account
    post :update, :environment => { :ldap_plugin_account => 'uid=sector,ou=Service,ou=corp,dc=company,dc=com,dc=br' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_account
  end

  should 'update ldap acccount_password' do
    assert_nil @environment.ldap_plugin_account_password
    post :update, :environment => { :ldap_plugin_account_password => 'password' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_account_password
  end

  should 'update ldap base_dn' do
    assert_nil @environment.ldap_plugin_base_dn
    post :update, :environment => { :ldap_plugin_base_dn => 'dc=company,dc=com,dc=br' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_base_dn
  end

  should 'update ldap attr_login' do
    assert_nil @environment.ldap_plugin_attr_login
    post :update, :environment => { :ldap_plugin_attr_login => 'uid' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_attr_login
  end

  should 'update ldap attr_mail' do
    assert_nil @environment.ldap_plugin_attr_mail
    post :update, :environment => { :ldap_plugin_attr_mail => 'test@noosfero.com' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_attr_mail
  end

  should 'update ldap onthefly_register' do
    post :update, :environment => { :ldap_plugin_onthefly_register => '1' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_onthefly_register
  end

  should 'update ldap filter' do
    assert_nil @environment.ldap_plugin_filter
    post :update, :environment => { :ldap_plugin_filter => 'test' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_filter
  end

  should 'update ldap tls' do
    post :update, :environment => { :ldap_plugin_tls => '1' }

    @environment.reload
    assert_not_nil @environment.ldap_plugin_tls
  end

  should 'have a field to manage the host' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_host'}
  end

  should 'have a field to manage the port' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_port'}
  end

  should 'have a field to manage the account' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_account'}
  end

  should 'have a field to manage the account_password' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_account_password'}
  end

  should 'have a field to manage the base_dn' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_base_dn'}
  end

  should 'have a field to manage the attr_login' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_attr_login'}
  end

  should 'have a field to manage the attr_fullname' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_attr_fullname'}
  end

  should 'have a field to manage the attr_mail' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_attr_mail'}
  end

  should 'have a field to manage the onthefly_register' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_onthefly_register'}
  end

  should 'have a field to manage the filter' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_filter'}
  end

  should 'have a field to manage the tls' do
    get :index

    assert_tag :tag => 'input', :attributes => {:id => 'environment_ldap_plugin_tls'}
  end

end