Methods
S
T
Instance Public methods
setup()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 259
def setup
  @configuration = {
    'adapter'  => 'mysql',
    'database' => 'test-db'
  }
end
test_structure_dump()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 266
def test_structure_dump
  filename = "awesome-file.sql"
  Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "test-db").returns(true)

  ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename)
end
test_structure_dump_with_port_number()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 296
def test_structure_dump_with_port_number
  filename = "awesome-file.sql"
  Kernel.expects(:system).with("mysqldump", "--port=10000", "--result-file", filename, "--no-data", "test-db").returns(true)

  ActiveRecord::Tasks::DatabaseTasks.structure_dump(
    @configuration.merge('port' => 10000),
    filename)
end
test_structure_dump_with_ssl()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 305
def test_structure_dump_with_ssl
  filename = "awesome-file.sql"
  Kernel.expects(:system).with("mysqldump", "--ssl-ca=ca.crt", "--result-file", filename, "--no-data", "test-db").returns(true)

  ActiveRecord::Tasks::DatabaseTasks.structure_dump(
    @configuration.merge("sslca" => "ca.crt"),
    filename)
end
test_warn_when_external_structure_dump_command_execution_fails()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 285
def test_warn_when_external_structure_dump_command_execution_fails
  filename = "awesome-file.sql"
  Kernel.expects(:system)
    .with("mysqldump", "--result-file", filename, "--no-data", "test-db")
    .returns(nil)

  assert_raise(RuntimeError) {
    ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename)
  }
end
test_warn_when_external_structure_dump_fails()
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 273
def test_warn_when_external_structure_dump_fails
  filename = "awesome-file.sql"
  Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "test-db").returns(false)

  # There doesn't seem to be a good way to get a handle on a Process::Status object without actually
  # creating a child process, hence this to populate $?
  system("not_a_real_program_#{SecureRandom.hex}")
  assert_raise(RuntimeError) {
    ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename)
  }
end