Bug #18489
closedauth_source_ldaps controller test sets account_password to nil to test missing parameter
Description
The test "AuthSourceLdapsControllerTest#test_0001_blank account_password submitted does not erase existing account_password" wasn't updated in commit 2348fc8e (#2943, #11387) to test the difference between a missing account_password parameter and an empty string parameter.
It passes account_password => nil
into parameters and then tests that the password is unchanged. Under Rails 5.0, nil is changed to an empty string (because it's form encoded) but under 4.2 it's passed through as nil
(which isn't really possible in form encoding). This causes a failure on 5.0 as it resets the password from the original nil
to ""
:
AuthSourceLdapsControllerTest#test_0001_blank account_password submitted does not erase existing account_password [test/controllers/auth_source_ldaps_controller_test.rb:82]:
Expected: nil
Actual: ""
The test should have been updated like other controllers to test with a missing account_password (which should not change the password) and an empty string account_password (which should set it to an empty string). It shouldn't test a nil
value.