ardb 0.28.3 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- data/Gemfile +4 -9
- data/README.md +252 -3
- data/ardb.gemspec +8 -7
- data/bin/ardb +1 -1
- data/lib/ardb.rb +35 -34
- data/lib/ardb/adapter/base.rb +34 -30
- data/lib/ardb/adapter/mysql.rb +2 -17
- data/lib/ardb/adapter/postgresql.rb +24 -30
- data/lib/ardb/adapter/sqlite.rb +4 -8
- data/lib/ardb/adapter_spy.rb +2 -16
- data/lib/ardb/cli.rb +15 -15
- data/lib/ardb/cli/clirb.rb +14 -17
- data/lib/ardb/cli/commands.rb +204 -114
- data/lib/ardb/db_tests.rb +2 -4
- data/lib/ardb/default_order_by.rb +3 -13
- data/lib/ardb/migration.rb +9 -13
- data/lib/ardb/record_spy.rb +7 -26
- data/lib/ardb/relation_spy.rb +0 -6
- data/lib/ardb/require_autoloaded_active_record_files.rb +103 -58
- data/lib/ardb/test_helpers.rb +2 -5
- data/lib/ardb/use_db_default.rb +4 -15
- data/lib/ardb/version.rb +1 -1
- data/script/determine_autoloaded_active_record_files.rb +11 -8
- data/test/helper.rb +4 -13
- data/test/support/factory.rb +2 -2
- data/test/support/postgresql/migrations/{.gitkeep → .keep} +0 -0
- data/test/support/postgresql/schema.rb +0 -1
- data/test/support/postgresql/setup_test_db.rb +14 -15
- data/test/system/.keep +0 -0
- data/test/unit/adapter/base_tests.rb +73 -53
- data/test/unit/adapter/mysql_tests.rb +2 -19
- data/test/unit/adapter/postgresql_tests.rb +14 -23
- data/test/unit/adapter/sqlite_tests.rb +3 -11
- data/test/unit/adapter_spy_tests.rb +2 -16
- data/test/unit/ardb_tests.rb +43 -43
- data/test/unit/cli_tests.rb +220 -158
- data/test/unit/db_tests_tests.rb +3 -6
- data/test/unit/default_order_by_tests.rb +4 -8
- data/test/unit/migration_tests.rb +11 -15
- data/test/unit/record_spy_tests.rb +17 -22
- data/test/unit/relation_spy_tests.rb +17 -46
- data/test/unit/test_helpers_tests.rb +3 -14
- data/test/unit/use_db_default_tests.rb +7 -11
- metadata +100 -84
- data/lib/ardb/has_slug.rb +0 -107
- data/lib/ardb/migration_helpers.rb +0 -77
- data/lib/ardb/pg_json.rb +0 -90
- data/test/support/postgresql/pg_json_migrations/20160519133432_create_pg_json_migrate_test.rb +0 -13
- data/test/system/pg_json_tests.rb +0 -85
- data/test/unit/has_slug_tests.rb +0 -341
- data/test/unit/migration_helpers_tests.rb +0 -65
- data/test/unit/pg_json_tests.rb +0 -39
@@ -1,65 +0,0 @@
|
|
1
|
-
require 'assert'
|
2
|
-
require 'ardb/migration_helpers'
|
3
|
-
|
4
|
-
require 'ardb/adapter_spy'
|
5
|
-
|
6
|
-
module Ardb::MigrationHelpers
|
7
|
-
|
8
|
-
class UnitTests < Assert::Context
|
9
|
-
desc "Ardb migration helpers"
|
10
|
-
subject{ Ardb::MigrationHelpers }
|
11
|
-
|
12
|
-
should have_imeths :foreign_key, :drop_foreign_key, :remove_column_with_fk
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
class ForeignKeyTests < UnitTests
|
17
|
-
desc "ForeignKey handler"
|
18
|
-
setup do
|
19
|
-
@adapter_spy = nil
|
20
|
-
Assert.stub(Ardb::Adapter, :new) do |*args|
|
21
|
-
@adapter_spy = Ardb::AdapterSpy.new(*args)
|
22
|
-
end
|
23
|
-
|
24
|
-
@fk = ForeignKey.new('fromtbl', 'fromcol', 'totbl')
|
25
|
-
end
|
26
|
-
subject{ @fk }
|
27
|
-
|
28
|
-
should have_readers :from_table, :from_column, :to_table, :to_column
|
29
|
-
should have_readers :name, :adapter
|
30
|
-
should have_imeths :add_sql, :drop_sql
|
31
|
-
|
32
|
-
should "know its from table/column and to table" do
|
33
|
-
assert_equal 'fromtbl', subject.from_table
|
34
|
-
assert_equal 'fromcol', subject.from_column
|
35
|
-
assert_equal 'totbl', subject.to_table
|
36
|
-
end
|
37
|
-
|
38
|
-
should "default its to column" do
|
39
|
-
assert_equal 'id', subject.to_column
|
40
|
-
end
|
41
|
-
|
42
|
-
should "default its name" do
|
43
|
-
exp_name = "fk_fromtbl_fromcol"
|
44
|
-
assert_equal exp_name, subject.name
|
45
|
-
end
|
46
|
-
|
47
|
-
should "know its adapter" do
|
48
|
-
assert_not_nil @adapter_spy
|
49
|
-
assert_equal Ardb.config, @adapter_spy.config
|
50
|
-
assert_equal @adapter_spy, subject.adapter
|
51
|
-
end
|
52
|
-
|
53
|
-
should "generate appropriate foreign key sql" do
|
54
|
-
exp = "FAKE ADD FOREIGN KEY SQL fromtbl fromcol " \
|
55
|
-
"totbl id fk_fromtbl_fromcol"
|
56
|
-
assert_equal exp, subject.add_sql
|
57
|
-
|
58
|
-
exp = "FAKE DROP FOREIGN KEY SQL fromtbl fromcol " \
|
59
|
-
"totbl id fk_fromtbl_fromcol"
|
60
|
-
assert_equal exp, subject.drop_sql
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
data/test/unit/pg_json_tests.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'assert'
|
2
|
-
require 'ardb/pg_json'
|
3
|
-
|
4
|
-
module Ardb; end
|
5
|
-
module Ardb::PgJson
|
6
|
-
|
7
|
-
class UnitTests < Assert::Context
|
8
|
-
desc "Ardb postgresql json shim"
|
9
|
-
setup do
|
10
|
-
@connection_adapters = ActiveRecord::ConnectionAdapters
|
11
|
-
end
|
12
|
-
subject{ @connection_adapters }
|
13
|
-
|
14
|
-
should "update active record postgres adapter to support json columns" do
|
15
|
-
adapter_class = subject::PostgreSQLAdapter
|
16
|
-
exp = { :name => 'json' }
|
17
|
-
assert_equal exp, adapter_class::NATIVE_DATABASE_TYPES[:json]
|
18
|
-
exp = { :name => 'jsonb' }
|
19
|
-
assert_equal exp, adapter_class::NATIVE_DATABASE_TYPES[:jsonb]
|
20
|
-
end
|
21
|
-
|
22
|
-
should "update active record postgres column to support json columns" do
|
23
|
-
column_class = subject::PostgreSQLColumn
|
24
|
-
default = Factory.boolean ? "'{}'::json" : "'{}'::jsonb"
|
25
|
-
assert_equal '{}', column_class.extract_value_from_default(default)
|
26
|
-
default = Factory.boolean ? "'[]'::json" : "'[]'::jsonb"
|
27
|
-
assert_equal '[]', column_class.extract_value_from_default(default)
|
28
|
-
|
29
|
-
column = column_class.new(Factory.string, Factory.string)
|
30
|
-
assert_equal :json, column.send(:simplified_type, 'json')
|
31
|
-
assert_equal :jsonb, column.send(:simplified_type, 'jsonb')
|
32
|
-
end
|
33
|
-
|
34
|
-
# Note: The rest of the postgresql json shim logic is tested in the pg json
|
35
|
-
# system tests
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|