Methods
S
T
Instance Public methods
setup()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 71
def setup
  @connection    = stub("Connection", create_database: true)
  @error         = Mysql::Error.new "Invalid permissions"
  @configuration = {
    'adapter'  => 'mysql',
    'database' => 'my-app-db',
    'username' => 'pat',
    'password' => 'wossname'
  }

  $stdin.stubs(:gets).returns("secret\n")
  $stdout.stubs(:print).returns(nil)
  @error.stubs(:errno).returns(1045)
  ActiveRecord::Base.stubs(:connection).returns(@connection)
  ActiveRecord::Base.stubs(:establish_connection).
    raises(@error).
    then.returns(true)
end
test_connection_established_as_normal_user()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 130
def test_connection_established_as_normal_user
  assert_permissions_granted_for "pat"
  ActiveRecord::Base.expects(:establish_connection).returns do
    ActiveRecord::Base.expects(:establish_connection).with(
      'adapter'  => 'mysql',
      'database' => 'my-app-db',
      'username' => 'pat',
      'password' => 'secret'
    )

    raise @error
  end

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_connection_established_as_root()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 99
def test_connection_established_as_root
  assert_permissions_granted_for "pat"
  ActiveRecord::Base.expects(:establish_connection).with(
    'adapter'  => 'mysql',
    'database' => nil,
    'username' => 'root',
    'password' => 'secret'
  )

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_database_created_by_root()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 111
def test_database_created_by_root
  assert_permissions_granted_for "pat"
  @connection.expects(:create_database).
    with('my-app-db', :charset => 'utf8', :collation => 'utf8_unicode_ci')

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_do_not_grant_privileges_for_root_user()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 124
def test_do_not_grant_privileges_for_root_user
  @configuration['username'] = 'root'
  @configuration['password'] = ''
  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_grant_privileges_for_normal_user()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 119
def test_grant_privileges_for_normal_user
  assert_permissions_granted_for "pat"
  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_root_password_is_requested()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 91
def test_root_password_is_requested
  assert_permissions_granted_for "pat"
  $stdin.expects(:gets).returns("secret\n")

  ActiveRecord::Tasks::DatabaseTasks.create @configuration
end
test_sends_output_to_stderr_when_other_errors()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 146
def test_sends_output_to_stderr_when_other_errors
  @error.stubs(:errno).returns(42)

  $stderr.expects(:puts).at_least_once.returns(nil)

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