Methods
S
T
Instance Public methods
setup()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 6
def setup
  @connection    = stub(:create_database => true)
  @configuration = {
    'adapter'  => 'postgresql',
    'database' => 'my-app-db'
  }

  ActiveRecord::Base.stubs(:connection).returns(@connection)
  ActiveRecord::Base.stubs(:establish_connection).returns(true)
end
test_create_when_database_exists_outputs_info_to_stderr()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 66
def test_create_when_database_exists_outputs_info_to_stderr
  $stderr.expects(:puts).with("my-app-db already exists").once

  ActiveRecord::Base.connection.stubs(:create_database).raises(
    ActiveRecord::StatementInvalid.new('database "my-app-db" already exists')
  )

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_creates_database_with_default_encoding()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 27
def test_creates_database_with_default_encoding
  @connection.expects(:create_database).
    with('my-app-db', @configuration.merge('encoding' => 'utf8'))

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_creates_database_with_given_collation_and_ctype()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 42
def test_creates_database_with_given_collation_and_ctype
  @connection.expects(:create_database).
    with('my-app-db', @configuration.merge('encoding' => 'utf8', 'collation' => 'ja_JP.UTF8', 'ctype' => 'ja_JP.UTF8'))

  ActiveRecord::Tasks::DatabaseTasks.create @configuration.
    merge('collation' => 'ja_JP.UTF8', 'ctype' => 'ja_JP.UTF8')
end
test_creates_database_with_given_encoding()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 34
def test_creates_database_with_given_encoding
  @connection.expects(:create_database).
    with('my-app-db', @configuration.merge('encoding' => 'latin'))

  ActiveRecord::Tasks::DatabaseTasks.create @configuration.
    merge('encoding' => 'latin')
end
test_db_create_with_error_prints_message()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 56
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}")

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_establishes_connection_to_new_database()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 50
def test_establishes_connection_to_new_database
  ActiveRecord::Base.expects(:establish_connection).with(@configuration)

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_establishes_connection_to_postgresql_database()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 17
def test_establishes_connection_to_postgresql_database
  ActiveRecord::Base.expects(:establish_connection).with(
    'adapter'            => 'postgresql',
    'database'           => 'postgres',
    'schema_search_path' => 'public'
  )

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end