Sha256: 962096597dfaa0bc4e60065e949ae43c39ae38c3a38f19329944dc969d61d305

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

$:.push File.join(File.dirname(__FILE__), '..', 'lib')
require "rubygems"
require "action_controller"
require "action_controller/test_process"
require "spec"
#require "spec/rails"
require "rails-auth"

module StrategyHelper
  
  def clear_strategies!
    Rails::Authentication.strategies.each do |s|
      begin
        Object.class_eval{ remove_const(s.name) if defined?(s)}
      rescue
      end
    end
    Rails::Authentication.strategies.clear
    Rails::Authentication.default_strategy_order.clear
  end

end

module TestRequestHelper
  
  def fake_request(env = {})
    ActionController::TestRequest.new(env)
  end
  
end

Spec::Runner.configure do |config|
  config.include(TestRequestHelper)
  config.include(StrategyHelper)
end

class User
  attr_accessor :name, :age, :id
  
  def initialize(opts = {})
    @name = opts.fetch(:name, "NAME")
    @age = opts.fetch(:age, 30)
    @id = opts.fetch(:id, 23)
  end
end

class Application < ActionController::Base
end

class UsersController < Application
  before_filter :ensure_authenticated
  
  def index
    "You made it pal!"
  end
end

class DingbatsController < Application
  skip_before_filter :ensure_authenticated
  
  def index
    "You made it buddy!"
  end
end

class Rails::Authentication
  def fetch_user(id=23)
    if id.nil?
      nil
    else
      u = User.new(:id => id)
    end
  end
  
  def store_user(user)
    user.nil? ? nil : 23
  end
  
end

Rails::Authentication.user_class = 'User'

class Viking
  def self.captures
    @captures ||= []
  end
  
  def self.capture(klass)
    @captures ||= []
    case klass
    when Class
      @captures << klass.name
    else
      @captures << klass
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
myobie-rails-auth-0.0.4 spec/spec_helper.rb