小编Mus*_*ify的帖子

Rails4 + Authlogic + rspec

使用Rails 4,我在让Authlogic看到我伪造的UserSession时遇到问题.

我已经设置了#whoami页面来呈现当前用户的电子邮件地址,这是一个简单的测试.

class PagesController < ApplicationController
  # before_filter :require_user

  def whoami
    render :text => current_user.try(:email) || 'anonymous'
  end
end
Run Code Online (Sandbox Code Playgroud)

在spec/spec_helper.rb中:

require "authlogic/test_case"
include Authlogic::TestCase
Run Code Online (Sandbox Code Playgroud)

和我的rspec测试:

require 'spec_helper'

describe '/whoami' do
  setup :activate_authlogic

  it "should tell me who I am" do
    user = FactoryGirl.create(:user)
    user.should be_valid

    session = UserSession.create(user)
    session.should be_valid

    get '/whoami'
    response.body.should == user.email
  end
end
Run Code Online (Sandbox Code Playgroud)

我更新了我的应用程序控制器以显示当前会话:

  def require_user
    unless current_user
raise "Current User Session is: #{ current_user_session.inspect}"
    store_location
    flash[:notice] = "You must be logged in to access …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails authlogic rspec2 ruby-on-rails-4

5
推荐指数
1
解决办法
2442
查看次数