Methods
S
T
Instance Public methods
setup()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 7
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)

  $stdout, @original_stdout = StringIO.new, $stdout
  $stderr, @original_stderr = StringIO.new, $stderr
end
teardown()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 21
def teardown
  $stdout, $stderr = @original_stdout, @original_stderr
end
test_create_when_database_exists_outputs_info_to_stderr()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 80
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 $stderr.string, "Database 'my-app-db' already exists\n"
end
test_creates_database_with_default_encoding()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 35
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 50
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 42
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 64
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 }
end
test_establishes_connection_to_new_database()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 58
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 25
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
test_when_database_created_successfully_outputs_info_to_stdout()
# File activerecord/test/cases/tasks/postgresql_rake_test.rb, line 74
def test_when_database_created_successfully_outputs_info_to_stdout
  ActiveRecord::Tasks::DatabaseTasks.create @configuration

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