class ActiveRecord::MySQLStructureDumpTest
Public Instance Methods
setup()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 285 def setup @configuration = { "adapter" => "mysql2", "database" => "test-db" } end
test_structure_dump()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 292 def test_structure_dump filename = "awesome-file.sql" Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "--routines", "--skip-comments", "test-db").returns(true) ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename) end
test_structure_dump_with_extra_flags()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 299 def test_structure_dump_with_extra_flags filename = "awesome-file.sql" expected_command = ["mysqldump", "--noop", "--result-file", filename, "--no-data", "--routines", "--skip-comments", "test-db"] assert_called_with(Kernel, :system, expected_command, returns: true) do with_structure_dump_flags(["--noop"]) do ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename) end end end
test_structure_dump_with_ignore_tables()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 310 def test_structure_dump_with_ignore_tables filename = "awesome-file.sql" ActiveRecord::SchemaDumper.expects(:ignore_tables).returns(["foo", "bar"]) Kernel.expects(:system).with("mysqldump", "--result-file", filename, "--no-data", "--routines", "--skip-comments", "--ignore-table=test-db.foo", "--ignore-table=test-db.bar", "test-db").returns(true) ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename) end
test_structure_dump_with_port_number()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 331 def test_structure_dump_with_port_number filename = "awesome-file.sql" Kernel.expects(:system).with("mysqldump", "--port=10000", "--result-file", filename, "--no-data", "--routines", "--skip-comments", "test-db").returns(true) ActiveRecord::Tasks::DatabaseTasks.structure_dump( @configuration.merge("port" => 10000), filename) end
test_structure_dump_with_ssl()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 340 def test_structure_dump_with_ssl filename = "awesome-file.sql" Kernel.expects(:system).with("mysqldump", "--ssl-ca=ca.crt", "--result-file", filename, "--no-data", "--routines", "--skip-comments", "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()
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 319 def test_warn_when_external_structure_dump_command_execution_fails filename = "awesome-file.sql" Kernel.expects(:system) .with("mysqldump", "--result-file", filename, "--no-data", "--routines", "--skip-comments", "test-db") .returns(false) e = assert_raise(RuntimeError) { ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename) } assert_match(/^failed to execute: `mysqldump`$/, e.message) end
Private Instance Methods
with_structure_dump_flags(flags) { || ... }
click to toggle source
# File activerecord/test/cases/tasks/mysql_rake_test.rb, line 350 def with_structure_dump_flags(flags) old = ActiveRecord::Tasks::DatabaseTasks.structure_dump_flags ActiveRecord::Tasks::DatabaseTasks.structure_dump_flags = flags yield ensure ActiveRecord::Tasks::DatabaseTasks.structure_dump_flags = old end