diff --git a/pecorino.gemspec b/pecorino.gemspec index 60d38b7..c52b452 100644 --- a/pecorino.gemspec +++ b/pecorino.gemspec @@ -30,10 +30,10 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] # Uncomment to register a new dependency of your gem - spec.add_dependency "activerecord", "~> 7" + spec.add_dependency "activerecord", ">= 7" spec.add_development_dependency "pg" spec.add_development_dependency "sqlite3" - spec.add_development_dependency "activesupport", "~> 7.0" + spec.add_development_dependency "activesupport", ">= 7" spec.add_development_dependency "rake", "~> 13.0" spec.add_development_dependency "minitest", "~> 5.0" spec.add_development_dependency "standard" diff --git a/test/adapters/postgres_adapter_test.rb b/test/adapters/postgres_adapter_test.rb index 2efab20..9d6afc8 100644 --- a/test/adapters/postgres_adapter_test.rb +++ b/test/adapters/postgres_adapter_test.rb @@ -7,6 +7,14 @@ class PostgresAdapterTest < ActiveSupport::TestCase setup { create_postgres_database_if_none } teardown { truncate_test_tables } + def self.establish_connection(**options) + ActiveRecord::Base.establish_connection( + adapter: "postgresql", + connect_timeout: 2, + **options + ) + end + def create_adapter Pecorino::Adapters::PostgresAdapter.new(ActiveRecord::Base) end @@ -14,7 +22,7 @@ def create_adapter SEED_DB_NAME = -> { "pecorino_tests_%s" % Random.new(Minitest.seed).hex(4) } def create_postgres_database_if_none - ActiveRecord::Base.establish_connection(adapter: "postgresql", encoding: "unicode", database: SEED_DB_NAME.call) + self.class.establish_connection(encoding: "unicode", database: SEED_DB_NAME.call) ActiveRecord::Base.connection.execute("SELECT 1 FROM pecorino_leaky_buckets") rescue ActiveRecord::NoDatabaseError, ActiveRecord::ConnectionNotEstablished create_postgres_database @@ -29,10 +37,10 @@ def create_postgres_database_if_none def create_postgres_database ActiveRecord::Migration.verbose = false - ActiveRecord::Base.establish_connection(adapter: "postgresql", database: "postgres") + self.class.establish_connection(database: "postgres") ActiveRecord::Base.connection.create_database(SEED_DB_NAME.call, charset: :unicode) ActiveRecord::Base.connection.close - ActiveRecord::Base.establish_connection(adapter: "postgresql", encoding: "unicode", database: SEED_DB_NAME.call) + self.class.establish_connection(encoding: "unicode", database: SEED_DB_NAME.call) end def truncate_test_tables @@ -50,11 +58,12 @@ def test_create_tables retained_adapter.create_tables(via_definer) end end + assert true end Minitest.after_run do ActiveRecord::Base.connection.close - ActiveRecord::Base.establish_connection(adapter: "postgresql", database: "postgres") + establish_connection(database: "postgres") ActiveRecord::Base.connection.drop_database(SEED_DB_NAME.call) end end diff --git a/test/adapters/redis_adapter_test.rb b/test/adapters/redis_adapter_test.rb index 20bc4c0..9ad3c0d 100644 --- a/test/adapters/redis_adapter_test.rb +++ b/test/adapters/redis_adapter_test.rb @@ -7,7 +7,7 @@ class RedisAdapterTest < ActiveSupport::TestCase teardown { delete_created_keys } def create_adapter - Pecorino::Adapters::RedisAdapter.new(Redis.new, key_prefix: key_prefix) + Pecorino::Adapters::RedisAdapter.new(new_redis, key_prefix: key_prefix) end def key_prefix @@ -15,9 +15,13 @@ def key_prefix end def delete_created_keys - r = Redis.new + r = new_redis r.del(r.keys(key_prefix + "*")) end + def new_redis + Redis.new + end + undef :test_create_tables end diff --git a/test/adapters/sqlite_adapter_test.rb b/test/adapters/sqlite_adapter_test.rb index dbf51fc..fd7c608 100644 --- a/test/adapters/sqlite_adapter_test.rb +++ b/test/adapters/sqlite_adapter_test.rb @@ -9,7 +9,7 @@ class SqliteAdapterTest < ActiveSupport::TestCase def create_sqlite_db ActiveRecord::Migration.verbose = false - ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: test_db_filename) + ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: db_filename) ActiveRecord::Schema.define(version: 1) do |via_definer| Pecorino.create_tables(via_definer) @@ -18,12 +18,12 @@ def create_sqlite_db def drop_sqlite_db ActiveRecord::Base.connection.close - FileUtils.rm_rf(test_db_filename) - FileUtils.rm_rf(test_db_filename + "-wal") - FileUtils.rm_rf(test_db_filename + "-shm") + FileUtils.rm_rf(db_filename) + FileUtils.rm_rf(db_filename + "-wal") + FileUtils.rm_rf(db_filename + "-shm") end - def test_db_filename + def db_filename "pecorino_tests_%s.sqlite3" % Random.new(Minitest.seed).hex(4) end @@ -41,5 +41,6 @@ def test_create_tables retained_adapter.create_tables(via_definer) end end + assert true end end