Skip to content
Browse files

Ensuring that the geo spatial adapters are successfully wired up and …

…working with base import functionality.

[#47]
  • Loading branch information...
1 parent eec2035 commit 6697e2b4dbc7af8b3357917e016eebdd314556b8 @zdennis committed
View
2 Rakefile
@@ -36,7 +36,7 @@ namespace :display do
end
task :default => ["display:notice"]
-ADAPTERS = %w(mysql mysql2 jdbcmysql postgresql sqlite3 seamless_database_pool)
+ADAPTERS = %w(mysql mysql2 jdbcmysql postgresql sqlite3 seamless_database_pool mysqlspatial mysql2spatial spatialite postgis)
ADAPTERS.each do |adapter|
namespace :test do
desc "Runs #{adapter} database tests."
View
4 lib/activerecord-import/active_record/adapters/mysql2_adapter.rb
@@ -1,6 +1,6 @@
require "active_record/connection_adapters/mysql2_adapter"
-require "activerecord-import/adapters/mysql_adapter"
+require "activerecord-import/adapters/mysql2_adapter"
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
- include ActiveRecord::Import::MysqlAdapter
+ include ActiveRecord::Import::Mysql2Adapter
end
View
5 lib/activerecord-import/adapters/mysql2_adapter.rb
@@ -0,0 +1,5 @@
+require File.dirname(__FILE__) + "/mysql_adapter"
+
+module ActiveRecord::Import::Mysql2Adapter
+ include ActiveRecord::Import::MysqlAdapter
+end
View
1 lib/activerecord-import/base.rb
@@ -8,6 +8,7 @@ module ActiveRecord::Import
def self.base_adapter(adapter)
case adapter
when 'mysqlspatial' then 'mysql'
+ when 'mysql2spatial' then 'mysql2'
when 'spatialite' then 'sqlite3'
when 'postgis' then 'postgresql'
else adapter
View
1 test/adapters/mysql2spatial.rb
@@ -0,0 +1 @@
+ENV["ARE_DB"] = "mysql2spatial"
View
1 test/adapters/mysqlspatial.rb
@@ -0,0 +1 @@
+ENV["ARE_DB"] = "mysqlspatial"
View
1 test/adapters/postgis.rb
@@ -0,0 +1 @@
+ENV["ARE_DB"] = "postgis"
View
1 test/adapters/spatialite.rb
@@ -0,0 +1 @@
+ENV["ARE_DB"] = "spatialite"
View
12 test/database.yml.sample
@@ -13,6 +13,12 @@ mysql2:
<<: *common
adapter: mysql2
+mysqlspatial:
+ <<: *mysql
+
+mysqlspatial2:
+ <<: *mysql2
+
seamless_database_pool:
<<: *common
adapter: seamless_database_pool
@@ -26,6 +32,9 @@ postgresql:
adapter: postgresql
min_messages: warning
+postgis:
+ <<: *postgresql
+
oracle:
<<: *common
adapter: oracle
@@ -38,3 +47,6 @@ sqlite:
sqlite3:
adapter: sqlite3
database: test.db
+
+spatialite:
+ <<: *sqlite3
View
6 test/mysqlspatial/import_test.rb
@@ -0,0 +1,6 @@
+require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
+
+require File.expand_path(File.dirname(__FILE__) + '/../support/mysql/assertions')
+require File.expand_path(File.dirname(__FILE__) + '/../support/mysql/import_examples')
+
+should_support_mysql_import_functionality
View
6 test/mysqlspatial2/import_test.rb
@@ -0,0 +1,6 @@
+require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
+
+require File.expand_path(File.dirname(__FILE__) + '/../support/mysql/assertions')
+require File.expand_path(File.dirname(__FILE__) + '/../support/mysql/import_examples')
+
+should_support_mysql_import_functionality
View
4 test/postgis/import_test.rb
@@ -0,0 +1,4 @@
+require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
+require File.expand_path(File.dirname(__FILE__) + '/../support/postgresql/import_examples')
+
+should_support_postgresql_import_functionality
View
22 test/postgresql/import_test.rb
@@ -1,20 +1,4 @@
-require File.expand_path('../../test_helper', __FILE__)
+require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
+require File.expand_path(File.dirname(__FILE__) + '/../support/postgresql/import_examples')
-describe "#supports_imports?" do
- it "should support import" do
- assert ActiveRecord::Base.supports_import?
- end
-end
-
-describe "#import" do
- it "should import with a single insert" do
- # see ActiveRecord::ConnectionAdapters::AbstractAdapter test for more specifics
- assert_difference "Topic.count", +10 do
- result = Topic.import Build(3, :topics)
- assert_equal 1, result.num_inserts
-
- result = Topic.import Build(7, :topics)
- assert_equal 1, result.num_inserts
- end
- end
-end
+should_support_postgresql_import_functionality
View
21 test/support/postgresql/import_examples.rb
@@ -0,0 +1,21 @@
+# encoding: UTF-8
+def should_support_postgresql_import_functionality
+ describe "#supports_imports?" do
+ it "should support import" do
+ assert ActiveRecord::Base.supports_import?
+ end
+ end
+
+ describe "#import" do
+ it "should import with a single insert" do
+ # see ActiveRecord::ConnectionAdapters::AbstractAdapter test for more specifics
+ assert_difference "Topic.count", +10 do
+ result = Topic.import Build(3, :topics)
+ assert_equal 1, result.num_inserts
+
+ result = Topic.import Build(7, :topics)
+ assert_equal 1, result.num_inserts
+ end
+ end
+ end
+end

0 comments on commit 6697e2b

Please sign in to comment.
Something went wrong with that request. Please try again.