2007-12-21 08:48:59 +01:00
|
|
|
require 'test/unit'
|
|
|
|
|
|
|
|
# Must set before requiring generator libs.
|
|
|
|
if defined?(RAILS_ROOT)
|
|
|
|
RAILS_ROOT.replace "#{File.dirname(__FILE__)}/fixtures"
|
|
|
|
else
|
|
|
|
RAILS_ROOT = "#{File.dirname(__FILE__)}/fixtures"
|
|
|
|
end
|
|
|
|
|
|
|
|
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
|
|
|
|
|
2008-05-18 06:22:34 +02:00
|
|
|
require 'initializer'
|
|
|
|
|
|
|
|
# Mocks out the configuration
|
|
|
|
module Rails
|
|
|
|
def self.configuration
|
|
|
|
Rails::Configuration.new
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2007-12-21 08:48:59 +01:00
|
|
|
require 'rails_generator'
|
|
|
|
require 'rails_generator/secret_key_generator'
|
|
|
|
require 'rails_generator/generators/applications/app/app_generator'
|
|
|
|
|
|
|
|
class SecretKeyGenerationTest < Test::Unit::TestCase
|
|
|
|
SECRET_KEY_MIN_LENGTH = 128
|
|
|
|
APP_NAME = "foo"
|
|
|
|
|
|
|
|
def setup
|
|
|
|
@generator = Rails::SecretKeyGenerator.new(APP_NAME)
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_secret_key_generation
|
|
|
|
assert @generator.generate_secret.length >= SECRET_KEY_MIN_LENGTH
|
|
|
|
end
|
|
|
|
|
|
|
|
Rails::SecretKeyGenerator::GENERATORS.each do |generator|
|
|
|
|
if Rails::SecretKeyGenerator.send("supports_#{generator}?")
|
|
|
|
define_method("test_secret_key_generation_with_#{generator}") do
|
|
|
|
assert @generator.send("generate_secret_with_#{generator}").length >= SECRET_KEY_MIN_LENGTH
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|