Я новичок в написании тестов в среде Rails. Я пытаюсь написать тесты для уже написанного кода. Я пытаюсь написать простой тестовый логин, подобный показанному ниже.
test "login with invalid credentials" do
post :login, :coach => {:user_name => 'foo', :password =>'bar'}
assert_equals flash[:error] , "Authentication failed"
end
Когда я пытаюсь запустить этот тест, я получаю сообщение об ошибке аутентификации. Но вместо этого я получаю ошибку.
1) Error:
test_login_with_invalid_credentials(CPControllerTest):
RS::LDAPAuthentication::ConnectionError: Net::LDAP::LdapError: Server 127.0.0.1 refused connection on port 1389.
Это метод входа в Application Controller
def login
self.page_title = 'Sign in'
if logged_in? # already signed in
session[:return_to] = nil
redirect_to_appropriate_url
elsif params[:coach]
user_name, password = params[:coach][:user_name], params[:coach][:password]
if self.current_user = User.authenticate(user_name, password) #PLACE WHERE EXCEPTION IS RAISED
self.notice = "Signed in successfully"
redirect_to_appropriate_url
else
flash[:error] = "Authentication failed"
end
end
render :template => '/coach_portal/login' unless performed?
end
Простая причина в том, что метод входа пытается установить связь с внешним сервером LDAP, и мой тест не может подключиться к нему. Что я должен делать в этом сценарии. Должен ли я изменить свой код или имитировать соединение LDAP. Даже если бы я имитировал один, как бы я это сделал?
Указатели / помощь / ссылки очень ценятся !!