2
私はRails環境でのテストの初心者です。私はすでに書かれたコードのテストを書くことを試みています。私は以下のような簡単なログインテストを書こうとしています。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.
これは、アプリケーションのコントローラ
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サーバーと通信しようとしているされており、私のテストは、それに接続できないでloginメソッドです。このシナリオではどうすればよいですか。コードを変更する必要がありますか、またはLDAP接続をシミュレートする必要があります。たとえ私が1つをシミュレートしたとしても、どうすればいいでしょうか?
ポインタ/ヘルプ/リンクは大変感謝しています。
あなたは認証gem /フレームワークを使用していますか? – cbrulak
はい..私は1つを使用しています.. – bragboy
どちらか?あなたのLDAPサーバはテスト中に動作していますか? – cbrulak