class ActiveRecord::MysqlDBCreateTest

Public Instance Methods

setup() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 9
def setup
  @connection    = stub(create_database: true)
  @configuration = {
    "adapter"  => "mysql2",
    "database" => "my-app-db"
  }

  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/mysql_rake_test.rb, line 23
def teardown
  $stdout, $stderr = @original_stdout, @original_stderr
end
test_create_when_database_exists_outputs_info_to_stderr() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 67
def test_create_when_database_exists_outputs_info_to_stderr
  ActiveRecord::Base.connection.stubs(:create_database).raises(
    ActiveRecord::Tasks::DatabaseAlreadyExists
  )

  ActiveRecord::Tasks::DatabaseTasks.create @configuration

  assert_equal "Database 'my-app-db' already exists\n", $stderr.string
end
test_creates_database_with_given_collation() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 48
def test_creates_database_with_given_collation
  @connection.expects(:create_database).
    with("my-app-db", collation: "latin1_swedish_ci")

  ActiveRecord::Tasks::DatabaseTasks.create @configuration.merge("collation" => "latin1_swedish_ci")
end
test_creates_database_with_given_encoding() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 41
def test_creates_database_with_given_encoding
  @connection.expects(:create_database).
    with("my-app-db", charset: "latin1")

  ActiveRecord::Tasks::DatabaseTasks.create @configuration.merge("encoding" => "latin1")
end
test_creates_database_with_no_default_options() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 34
def test_creates_database_with_no_default_options
  @connection.expects(:create_database).
    with("my-app-db", {})

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_establishes_connection_to_database() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 55
def test_establishes_connection_to_database
  ActiveRecord::Base.expects(:establish_connection).with(@configuration)

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_establishes_connection_without_database() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 27
def test_establishes_connection_without_database
  ActiveRecord::Base.expects(:establish_connection).
    with("adapter" => "mysql2", "database" => nil)

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_when_database_created_successfully_outputs_info_to_stdout() click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 61
def test_when_database_created_successfully_outputs_info_to_stdout
  ActiveRecord::Tasks::DatabaseTasks.create @configuration

  assert_equal "Created database 'my-app-db'\n", $stdout.string
end