From 4a370f9d7cc56b03857e0d8a32f5321f911e1dfd Mon Sep 17 00:00:00 2001 From: kennyj Date: Thu, 28 Mar 2013 02:58:23 +0900 Subject: Extract Firebird database tasks. --- .../test/cases/tasks/firebird_rake_test.rb | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 activerecord/test/cases/tasks/firebird_rake_test.rb (limited to 'activerecord/test/cases/tasks/firebird_rake_test.rb') diff --git a/activerecord/test/cases/tasks/firebird_rake_test.rb b/activerecord/test/cases/tasks/firebird_rake_test.rb new file mode 100644 index 0000000000..360f321970 --- /dev/null +++ b/activerecord/test/cases/tasks/firebird_rake_test.rb @@ -0,0 +1,93 @@ +require 'cases/helper' + +unless defined?(FireRuby::Database) +module FireRuby + module Database; end +end +end + +module ActiveRecord + module FirebirdSetupper + def setup + @database = 'db.firebird' + @connection = stub :connection + @configuration = { + 'adapter' => 'firebird', + 'database' => @database + } + ActiveRecord::Base.stubs(:connection).returns(@connection) + ActiveRecord::Base.stubs(:establish_connection).returns(true) + end + end + + class FirebirdDBCreateTest < ActiveRecord::TestCase + include FirebirdSetupper + + def test_db_retrieves_create + message = capture(:stderr) do + ActiveRecord::Tasks::DatabaseTasks.create @configuration + end + assert_match(/not supported/, message) + end + end + + class FirebirdDBDropTest < ActiveRecord::TestCase + include FirebirdSetupper + + def test_db_retrieves_drop + message = capture(:stderr) do + ActiveRecord::Tasks::DatabaseTasks.drop @configuration + end + assert_match(/not supported/, message) + end + end + + class FirebirdDBCharsetAndCollationTest < ActiveRecord::TestCase + include FirebirdSetupper + + def test_db_retrieves_collation + assert_raise NoMethodError do + ActiveRecord::Tasks::DatabaseTasks.collation @configuration + end + end + + def test_db_retrieves_charset + message = capture(:stderr) do + ActiveRecord::Tasks::DatabaseTasks.charset @configuration + end + assert_match(/not supported/, message) + end + end + + class FirebirdStructureDumpTest < ActiveRecord::TestCase + include FirebirdSetupper + + def setup + super + FireRuby::Database.stubs(:db_string_for).returns(@database) + end + + def test_structure_dump + filename = "filebird.sql" + Kernel.expects(:system).with("isql -a #{@database} > #{filename}") + + ActiveRecord::Tasks::DatabaseTasks.structure_dump(@configuration, filename) + end + end + + class FirebirdStructureLoadTest < ActiveRecord::TestCase + include FirebirdSetupper + + def setup + super + FireRuby::Database.stubs(:db_string_for).returns(@database) + end + + def test_structure_load + filename = "firebird.sql" + Kernel.expects(:system).with("isql -i #{filename} #{@database}") + + ActiveRecord::Tasks::DatabaseTasks.structure_load(@configuration, filename) + end + end +end -- cgit v1.2.3 From 17c41583908e8c771a4cf7267229a9ab151e1763 Mon Sep 17 00:00:00 2001 From: kennyj Date: Sun, 31 Mar 2013 19:07:27 +0900 Subject: Suppress deprecation messages for deprecated database tasks, when executing rails's testcases. --- activerecord/test/cases/tasks/firebird_rake_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'activerecord/test/cases/tasks/firebird_rake_test.rb') diff --git a/activerecord/test/cases/tasks/firebird_rake_test.rb b/activerecord/test/cases/tasks/firebird_rake_test.rb index 360f321970..37b734605b 100644 --- a/activerecord/test/cases/tasks/firebird_rake_test.rb +++ b/activerecord/test/cases/tasks/firebird_rake_test.rb @@ -17,6 +17,13 @@ module ActiveRecord } ActiveRecord::Base.stubs(:connection).returns(@connection) ActiveRecord::Base.stubs(:establish_connection).returns(true) + + @tasks = Class.new(ActiveRecord::Tasks::FirebirdDatabaseTasks) do + def initialize(configuration) + ActiveSupport::Deprecation.silence { super } + end + end + ActiveRecord::Tasks::DatabaseTasks.stubs(:class_for_adapter).returns(@tasks) end end -- cgit v1.2.3 From 67994ef2f9d6c529ec88c28c884681eafa335309 Mon Sep 17 00:00:00 2001 From: Yasuo Honda Date: Mon, 1 Apr 2013 23:42:57 +0900 Subject: Show deprecated messages only when target database adapters defined --- activerecord/test/cases/tasks/firebird_rake_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'activerecord/test/cases/tasks/firebird_rake_test.rb') diff --git a/activerecord/test/cases/tasks/firebird_rake_test.rb b/activerecord/test/cases/tasks/firebird_rake_test.rb index 37b734605b..c54989ae34 100644 --- a/activerecord/test/cases/tasks/firebird_rake_test.rb +++ b/activerecord/test/cases/tasks/firebird_rake_test.rb @@ -23,7 +23,7 @@ module ActiveRecord ActiveSupport::Deprecation.silence { super } end end - ActiveRecord::Tasks::DatabaseTasks.stubs(:class_for_adapter).returns(@tasks) + ActiveRecord::Tasks::DatabaseTasks.stubs(:class_for_adapter).returns(@tasks) unless defined? ActiveRecord::ConnectionAdapters::FirebirdAdapter end end -- cgit v1.2.3