class ActiveRecord::SqliteDBCreateTest

Public Instance Methods

setup() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 10
def setup
  @database      = "db_create.sqlite3"
  @connection    = stub :connection
  @configuration = {
    "adapter"  => "sqlite3",
    "database" => @database
  }

  File.stubs(:exist?).returns(false)
  ActiveRecord::Base.stubs(:connection).returns(@connection)
  ActiveRecord::Base.stubs(:establish_connection).returns(true)

  $stdout, @original_stdout = StringIO.new, $stdout
  $stderr, @original_stderr = StringIO.new, $stderr
end
teardown() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 26
def teardown
  $stdout, $stderr = @original_stdout, @original_stderr
end
test_db_checks_database_exists() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 30
def test_db_checks_database_exists
  File.expects(:exist?).with(@database).returns(false)

  ActiveRecord::Tasks::DatabaseTasks.create @configuration, "/quails/root"
end
test_db_create_establishes_a_connection() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 59
def test_db_create_establishes_a_connection
  ActiveRecord::Base.expects(:establish_connection).with(@configuration)

  ActiveRecord::Tasks::DatabaseTasks.create @configuration, "/quails/root"
end
test_db_create_when_file_exists() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 42
def test_db_create_when_file_exists
  File.stubs(:exist?).returns(true)

  ActiveRecord::Tasks::DatabaseTasks.create @configuration, "/quails/root"

  assert_equal "Database '#{@database}' already exists\n", $stderr.string
end
test_db_create_with_error_prints_message() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 65
def test_db_create_with_error_prints_message
  ActiveRecord::Base.stubs(:establish_connection).raises(Exception)

  $stderr.stubs(:puts).returns(true)
  $stderr.expects(:puts).
    with("Couldn't create database for #{@configuration.inspect}")

  assert_raises(Exception) { ActiveRecord::Tasks::DatabaseTasks.create @configuration, "/quails/root" }
end
test_db_create_with_file_does_nothing() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 50
def test_db_create_with_file_does_nothing
  File.stubs(:exist?).returns(true)
  $stderr.stubs(:puts).returns(nil)

  ActiveRecord::Base.expects(:establish_connection).never

  ActiveRecord::Tasks::DatabaseTasks.create @configuration, "/quails/root"
end
test_when_db_created_successfully_outputs_info_to_stdout() click to toggle source
# File activerecord/test/cases/tasks/sqlite_rake_test.rb, line 36
def test_when_db_created_successfully_outputs_info_to_stdout
  ActiveRecord::Tasks::DatabaseTasks.create @configuration, "/quails/root"

  assert_equal "Created database '#{@database}'\n", $stdout.string
end