mv-core 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/LICENSE.txt +20 -0
  2. data/README.rdoc +88 -0
  3. data/lib/migration_validators/active_record/base.rb +24 -0
  4. data/lib/migration_validators/active_record/connection_adapters/abstract_adapter.rb +36 -0
  5. data/lib/migration_validators/active_record/connection_adapters/native_adapter.rb +118 -0
  6. data/lib/migration_validators/active_record/connection_adapters/table.rb +15 -0
  7. data/lib/migration_validators/active_record/connection_adapters/table_definition.rb +24 -0
  8. data/lib/migration_validators/active_record/migration.rb +29 -0
  9. data/lib/migration_validators/active_record/schema.rb +31 -0
  10. data/lib/migration_validators/active_record/schema_dumper.rb +24 -0
  11. data/lib/migration_validators/adapters/base.rb +15 -0
  12. data/lib/migration_validators/adapters/containers.rb +102 -0
  13. data/lib/migration_validators/adapters/routing.rb +104 -0
  14. data/lib/migration_validators/adapters/syntax.rb +53 -0
  15. data/lib/migration_validators/adapters/validator_definitions.rb +131 -0
  16. data/lib/migration_validators/core/adapter_wrapper.rb +88 -0
  17. data/lib/migration_validators/core/db_validator.rb +178 -0
  18. data/lib/migration_validators/core/statement_builder.rb +60 -0
  19. data/lib/migration_validators/core/validator_container.rb +110 -0
  20. data/lib/migration_validators/core/validator_definition.rb +91 -0
  21. data/lib/migration_validators/core/validator_router.rb +45 -0
  22. data/lib/mv-core.rb +100 -0
  23. data/lib/options.rb +7 -0
  24. data/spec/migration_validators/active_record/connection_adapters/abstract_adapter_spec.rb +440 -0
  25. data/spec/migration_validators/active_record/connection_adapters/table_definition_spec.rb +4 -0
  26. data/spec/migration_validators/active_record/migration.rb +82 -0
  27. data/spec/migration_validators/active_record/schema_dumper_spec.rb +44 -0
  28. data/spec/migration_validators/adapters/base_spec.rb +89 -0
  29. data/spec/migration_validators/core/adapter_wrapper_spec.rb +168 -0
  30. data/spec/migration_validators/core/db_validator_spec.rb +347 -0
  31. data/spec/migration_validators/core/statement_builder_spec.rb +36 -0
  32. data/spec/migration_validators/core/validator_container_spec.rb +121 -0
  33. data/spec/migration_validators/core/validator_definition_spec.rb +131 -0
  34. data/spec/migration_validators/core/validator_router_spec.rb +60 -0
  35. data/spec/mv-core_spec.rb +4 -0
  36. data/spec/spec_helper.rb +15 -0
  37. data/spec/support/factories/db_validator.rb +43 -0
  38. metadata +152 -0
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe MigrationValidators::Core::StatementBuilder do
4
+ before :each do
5
+ @builder = MigrationValidators::Core::StatementBuilder.new "column"
6
+ end
7
+
8
+ it "returns initial string by default" do
9
+ @builder.to_s.should == "column"
10
+ end
11
+
12
+ it "allows to define additional action" do
13
+ @builder.operation(:and) {|stmt, value| "#{stmt} and #{value}" }
14
+
15
+ @builder.and("column_1").to_s.should == "column and column_1"
16
+ end
17
+
18
+ it "might be merged with another builder" do
19
+ @builder.operation(:and) {|stmt, value| "#{stmt} and #{value}" }
20
+
21
+ builder1 = MigrationValidators::Core::StatementBuilder.new ""
22
+ builder1.operation(:and) {|stmt, value| "#{stmt} and #{value} new" }
23
+
24
+ @builder.merge!(builder1)
25
+
26
+ @builder.and("column_1").to_s.should == "column and column_1 new"
27
+ end
28
+
29
+ it "migth be initialized by another (parent) builder" do
30
+ @builder.operation(:and) {|stmt, value| "#{stmt} and #{value}" }
31
+
32
+ builder1 = MigrationValidators::Core::StatementBuilder.new "column_2", @builder
33
+
34
+ builder1.and("column_1").to_s.should == "column_2 and column_1"
35
+ end
36
+ end
@@ -0,0 +1,121 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe MigrationValidators::Core::ValidatorContainer, :type => :mv_test do
4
+ before :all do
5
+ use_memory_db
6
+ db.initialize_schema_migrations_table
7
+ end
8
+
9
+ before :each do
10
+ MigrationValidators::Core::DbValidator.clear_all
11
+
12
+ db.drop_table :test_table if db.table_exists?(:test_table)
13
+ db.create_table :test_table do |t|
14
+ t.string :str_column
15
+ t.string :str_column_1
16
+ end
17
+
18
+ @builder = MigrationValidators::Core::StatementBuilder.new
19
+
20
+ @builder.operation :and do |stmt, value|
21
+ "#{stmt} AND #{value}"
22
+ end
23
+
24
+ @builder.operation :or do |stmt, value|
25
+ "#{stmt} OR #{value}"
26
+ end
27
+
28
+ @definition = MigrationValidators::Core::ValidatorDefinition.new @builder
29
+
30
+ @definition.property :property_name do |property_value|
31
+ column.and(property_value)
32
+ end
33
+
34
+ @container = MigrationValidators::Core::ValidatorContainer.new :container, :validator_name => @definition
35
+ @validator = Factory.build :db_validator,
36
+ :validator_name => :validator_name,
37
+ :column_name => :column_name,
38
+ :options => {:property_name => :property_value}
39
+
40
+ end
41
+
42
+ describe :remove_validators do
43
+ it "regenerates constraint without specified validators" do
44
+ end
45
+ end
46
+
47
+ describe :add_validators do
48
+ it "returns definition processing result by default" do
49
+ @container.add_validators([@validator]).should == ["column_name AND property_value"]
50
+ end
51
+
52
+ it "adds constraint name to processed validators constraint list" do
53
+ @container.constraint_name {|group_key| "constraint" }
54
+ @container.add_validators([@validator]).should == ["column_name AND property_value"]
55
+
56
+ @validator.in_constraint?("constraint").should be_true
57
+ end
58
+
59
+ it "joins specified validator to existing ones within the same constraint" do
60
+ @container.constraint_name {|group_key| "constraint" }
61
+
62
+ validator1 = Factory.create :db_validator,
63
+ :validator_name => :validator_name,
64
+ :table_name => :test_table,
65
+ :column_name => :str_column,
66
+ :options => {:property_name => :property_value_1},
67
+ :constraints => ["constraint"]
68
+
69
+ @container.add_validators([@validator]).should == ["column_name AND property_value JOIN str_column AND property_value_1"]
70
+ end
71
+
72
+ it "creates drop statement if defined" do
73
+ @container.constraint_name {|group_key| "constraint" }
74
+
75
+ @container.operation :drop do |stmt, constraint_name, group_name|
76
+ "DROP ENTITY #{constraint_name}"
77
+ end
78
+
79
+ validator1 = Factory.create :db_validator,
80
+ :validator_name => :validator_name,
81
+ :table_name => :test_table,
82
+ :column_name => :str_column,
83
+ :options => {:property_name => :property_value_1},
84
+ :constraints => ["constraint"]
85
+
86
+ @container.add_validators([@validator]).should == ["DROP ENTITY constraint", "column_name AND property_value JOIN str_column AND property_value_1"]
87
+ end
88
+
89
+ #it "do not creates drop statement if such constraint does not exist" do
90
+ # @container.constraint_name {|group_key| "constraint" }
91
+
92
+ # @container.operation :drop do |stmt, constraint_name, group_name|
93
+ # "DROP ENTITY #{constraint_name}"
94
+ # end
95
+
96
+ # @container.add_validators([@validator]).should == ["column_name AND property_value"]
97
+ #end
98
+ end
99
+
100
+ describe :remove_validators do
101
+ it "regenerates constraint without specified validators" do
102
+ @container.constraint_name {|group_key| "constraint" }
103
+
104
+ validator1 = Factory.create :db_validator,
105
+ :validator_name => :validator_name,
106
+ :table_name => :test_table,
107
+ :column_name => :str_column,
108
+ :options => {:property_name => :property_value_1},
109
+ :constraints => ["constraint"]
110
+
111
+ validator2 = Factory.create :db_validator,
112
+ :validator_name => :validator_name,
113
+ :table_name => :test_table,
114
+ :column_name => :str_column_1,
115
+ :options => {:property_name => :property_value_2},
116
+ :constraints => ["constraint"]
117
+
118
+ @container.remove_validators([validator2]).should == ["str_column AND property_value_1"]
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,131 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe MigrationValidators::Core::ValidatorDefinition, :type => :mv_test do
4
+ before :all do
5
+ use_memory_db
6
+ db.initialize_schema_migrations_table
7
+ end
8
+
9
+ before :each do
10
+ @definition = MigrationValidators::Core::ValidatorDefinition.new
11
+
12
+ @definition.operation :and do |stmt, value|
13
+ "#{stmt} AND #{value}"
14
+ end
15
+
16
+ @definition.operation :or do |stmt, value|
17
+ "#{stmt} OR #{value}"
18
+ end
19
+ end
20
+
21
+ it "might be initialized by db validator" do
22
+ validator = Factory.build :db_validator
23
+
24
+ @definition.validator = validator
25
+
26
+ @definition.to_s.should == validator.column_name
27
+ end
28
+
29
+ describe "with validator" do
30
+ before :each do
31
+ @validator = Factory.build :db_validator
32
+ @definition.validator = @validator
33
+ end
34
+
35
+ it "supports invariant column property" do
36
+ @definition.column.and(@definition.column).to_s.should == "#{@validator.column_name} AND #{@validator.column_name}"
37
+ end
38
+
39
+ describe :process do
40
+ before :each do
41
+ @validator.options = { :property_name => :property_value }
42
+ end
43
+
44
+ it "returns empty array by default" do
45
+ @definition.process(@validator).should == []
46
+ end
47
+
48
+ it "allows to define property handlers" do
49
+ @definition.property :property_name do |property_value|
50
+ "#{column.and(property_value)}"
51
+ end
52
+
53
+ @definition.process(@validator).should == ["#{@validator.column_name} AND property_value"]
54
+ end
55
+
56
+ it "allows to define post processors" do
57
+ @definition.property :property_name do |property_value|
58
+ "#{column.and(property_value)}"
59
+ end
60
+
61
+ @definition.post do
62
+ self.and("some_post_value")
63
+ end
64
+
65
+ @definition.post :property_name => :property_value do
66
+ self.and("some_post_value_1")
67
+ end
68
+
69
+ @definition.post "property_name" => :property_value do
70
+ self.and("some_post_value_1")
71
+ end
72
+
73
+ @definition.post :property_name => :wrong_property_value do
74
+ self.and("some_post_value_2")
75
+ end
76
+
77
+ @definition.process(@validator).should == ["#{@validator.column_name} AND property_value AND some_post_value AND some_post_value_1"]
78
+ end
79
+
80
+ it "allows to define default property handler" do
81
+ @validator.options = {}
82
+
83
+ @definition.property do |property_value|
84
+ "#{column}"
85
+ end
86
+
87
+ @definition.process(@validator).should == ["#{@validator.column_name}"]
88
+ end
89
+
90
+
91
+
92
+ describe :bind_to_error do
93
+ before :each do
94
+ @definition.operation :bind_to_error do |stmt, error|
95
+ "SHOW '#{error}' UNLESS (#{stmt})"
96
+ end
97
+ end
98
+
99
+ it "takes :message validator property as default" do
100
+ @validator.options[:message] = :default_message
101
+
102
+ @definition.property :property_name do |property_value|
103
+ "#{column.and(property_value)}"
104
+ end
105
+
106
+ @definition.process(@validator).should == ["SHOW 'default_message' UNLESS (#{@validator.column_name} AND property_value)"]
107
+ end
108
+
109
+ it "allows to define message mapping" do
110
+ @validator.options[:message] = :default_message
111
+ @validator.options[:specific_message] = :some_specific_message
112
+
113
+ @definition.property :property_name, :message => :specific_message do |property_value|
114
+ "#{column.and(property_value)}"
115
+ end
116
+
117
+ @definition.process(@validator).should == ["SHOW 'some_specific_message' UNLESS (#{@validator.column_name} AND property_value)"]
118
+ end
119
+ end
120
+
121
+ it "allows to define options filter" do
122
+ @validator.options[:property_name_1] = :property_value_1
123
+
124
+ @definition.property(:property_name) {|property_value| "#{column.and(property_value)}"}
125
+ @definition.property(:property_name_1) {|property_value| "#{column.and(property_value)}"}
126
+
127
+ @definition.process(@validator, [:property_name]).should == ["#{@validator.column_name} AND property_value"]
128
+ end
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,60 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
+
3
+ describe MigrationValidators::Core::ValidatorRouter, :type => :mv_test do
4
+ before :all do
5
+ use_memory_db
6
+ db.initialize_schema_migrations_table
7
+ end
8
+
9
+ before :each do
10
+ @builder = MigrationValidators::Core::StatementBuilder.new
11
+
12
+ @builder.operation :and do |stmt, value|
13
+ "#{stmt} AND #{value}"
14
+ end
15
+
16
+ @builder.operation :or do |stmt, value|
17
+ "#{stmt} OR #{value}"
18
+ end
19
+
20
+ @definition = MigrationValidators::Core::ValidatorDefinition.new @builder
21
+
22
+ @definition.property :property_name do |property_value|
23
+ column
24
+ end
25
+
26
+ @container = MigrationValidators::Core::ValidatorContainer.new :container, :validator_name => @definition, :validator_name_1 => @definition
27
+ @container.operation :create do |stmt, group_name|
28
+ "CREATE ENTITY #{group_name} BEGIN #{stmt} END"
29
+ end
30
+
31
+ @container_1 = MigrationValidators::Core::ValidatorContainer.new :container, :validator_name => @definition
32
+ @container_1.operation :create do |stmt, group_name|
33
+ "CREATE ENTITY_1 #{group_name} BEGIN #{stmt} END"
34
+ end
35
+
36
+ @router = MigrationValidators::Core::ValidatorRouter.new :container => @container, :container_1 => @container_1
37
+ end
38
+
39
+ it "routes validators according to their properties" do
40
+ validator1 = Factory.build :db_validator, :validator_name => :validator_name, :options => {:property_name => :property_value, :on => :create}
41
+ validator2 = Factory.build :db_validator, :validator_name => :validator_name, :options => {:property_name => :property_value, :on => :update}
42
+
43
+ @router.to :container, :if => {:on => :create}
44
+ @router.to :container_1, :if => {:on => :update}
45
+
46
+ @router.add_validators([validator1, validator2]).should == ["CREATE ENTITY #{validator1.name} BEGIN #{validator1.column_name} END",
47
+ "CREATE ENTITY_1 #{validator2.name} BEGIN #{validator2.column_name} END"]
48
+ end
49
+
50
+ it "merges routes to the same container" do
51
+ validator1 = Factory.build :db_validator, :table_name => :table_name, :validator_name => :validator_name, :options => {:property_name => :property_value, :on => :create}
52
+ validator2 = Factory.build :db_validator, :table_name => :table_name, :validator_name => :validator_name_1, :options => {:property_name => :property_value, :on => :create}
53
+
54
+ @container.group {|validator| validator.table_name}
55
+ @container.constraint_name {|group_name| "trigger_name" }
56
+ @router.to :container, :if => {:on => :create}
57
+
58
+ @router.add_validators([validator1, validator2]).should == ["CREATE ENTITY trigger_name BEGIN #{validator1.column_name} JOIN #{validator2.column_name} END"]
59
+ end
60
+ end
@@ -0,0 +1,4 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "MvCore" do
4
+ end
@@ -0,0 +1,15 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'mv-test'
5
+ require 'mv-core'
6
+ require 'shoulda'
7
+ require 'factory_girl'
8
+
9
+ # Requires supporting files with custom matchers and macros, etc,
10
+ # in ./support/ and its subdirectories.
11
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
12
+
13
+ RSpec.configure do |config|
14
+
15
+ end
@@ -0,0 +1,43 @@
1
+ Factory.sequence :validator_table_name do |n|
2
+ "table_#{n}"
3
+ end
4
+
5
+ Factory.sequence :validator_column_name do |n|
6
+ "column_name_#{n}"
7
+ end
8
+
9
+ Factory.define :db_validator, :class => MigrationValidators::Core::DbValidator do |validator|
10
+ validator.table_name { Factory.next(:validator_table_name) }
11
+ validator.column_name Factory.next(:validator_column_name)
12
+ validator.validator_name 'presense'
13
+ end
14
+
15
+ Factory.define :db_validator_base, :parent => :db_validator do |validator|
16
+ validator.table_name 'table_name'
17
+ validator.column_name 'column_name'
18
+ end
19
+
20
+ Factory.define :uniqueness, :parent => :db_validator_base do |validator|
21
+ validator.validator_name "uniqueness"
22
+ end
23
+
24
+ Factory.define :uniqueness_check, :parent => :uniqueness do |validator|
25
+ validator.options :as => :check
26
+ end
27
+
28
+ Factory.define :uniqueness_trigger, :parent => :uniqueness do |validator|
29
+ validator.options :as => :trigger
30
+ end
31
+
32
+ Factory.define :presense, :parent => :db_validator_base do |validator|
33
+ validator.validator_name "presense"
34
+ end
35
+
36
+ Factory.define :presense_check, :parent => :presense do |validator|
37
+ validator.options :as => :check
38
+ end
39
+
40
+ Factory.define :presense_trigger, :parent => :presense do |validator|
41
+ validator.options :as => :trigger
42
+ end
43
+
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mv-core
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Valeriy Prokopchuk
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-03-22 00:00:00 +02:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: activerecord
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.3.5
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: jeweler
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.2
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: rcov
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: *id004
60
+ description: Migration Validators project core classes
61
+ email: vprokopchuk@gmail.com
62
+ executables: []
63
+
64
+ extensions: []
65
+
66
+ extra_rdoc_files:
67
+ - LICENSE.txt
68
+ - README.rdoc
69
+ files:
70
+ - lib/migration_validators/active_record/base.rb
71
+ - lib/migration_validators/active_record/connection_adapters/abstract_adapter.rb
72
+ - lib/migration_validators/active_record/connection_adapters/native_adapter.rb
73
+ - lib/migration_validators/active_record/connection_adapters/table.rb
74
+ - lib/migration_validators/active_record/connection_adapters/table_definition.rb
75
+ - lib/migration_validators/active_record/migration.rb
76
+ - lib/migration_validators/active_record/schema.rb
77
+ - lib/migration_validators/active_record/schema_dumper.rb
78
+ - lib/migration_validators/adapters/base.rb
79
+ - lib/migration_validators/adapters/containers.rb
80
+ - lib/migration_validators/adapters/routing.rb
81
+ - lib/migration_validators/adapters/syntax.rb
82
+ - lib/migration_validators/adapters/validator_definitions.rb
83
+ - lib/migration_validators/core/adapter_wrapper.rb
84
+ - lib/migration_validators/core/db_validator.rb
85
+ - lib/migration_validators/core/statement_builder.rb
86
+ - lib/migration_validators/core/validator_container.rb
87
+ - lib/migration_validators/core/validator_definition.rb
88
+ - lib/migration_validators/core/validator_router.rb
89
+ - lib/mv-core.rb
90
+ - lib/options.rb
91
+ - LICENSE.txt
92
+ - README.rdoc
93
+ - spec/migration_validators/active_record/connection_adapters/abstract_adapter_spec.rb
94
+ - spec/migration_validators/active_record/connection_adapters/table_definition_spec.rb
95
+ - spec/migration_validators/active_record/migration.rb
96
+ - spec/migration_validators/active_record/schema_dumper_spec.rb
97
+ - spec/migration_validators/adapters/base_spec.rb
98
+ - spec/migration_validators/core/adapter_wrapper_spec.rb
99
+ - spec/migration_validators/core/db_validator_spec.rb
100
+ - spec/migration_validators/core/statement_builder_spec.rb
101
+ - spec/migration_validators/core/validator_container_spec.rb
102
+ - spec/migration_validators/core/validator_definition_spec.rb
103
+ - spec/migration_validators/core/validator_router_spec.rb
104
+ - spec/mv-core_spec.rb
105
+ - spec/spec_helper.rb
106
+ - spec/support/factories/db_validator.rb
107
+ has_rdoc: true
108
+ homepage: http://github.com/vprokochuk256/mv-core
109
+ licenses:
110
+ - MIT
111
+ post_install_message:
112
+ rdoc_options: []
113
+
114
+ require_paths:
115
+ - lib
116
+ required_ruby_version: !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ hash: 2707893248662521679
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: "0"
131
+ requirements: []
132
+
133
+ rubyforge_project:
134
+ rubygems_version: 1.6.2
135
+ signing_key:
136
+ specification_version: 3
137
+ summary: Migration Validators project core classes
138
+ test_files:
139
+ - spec/migration_validators/active_record/connection_adapters/abstract_adapter_spec.rb
140
+ - spec/migration_validators/active_record/connection_adapters/table_definition_spec.rb
141
+ - spec/migration_validators/active_record/migration.rb
142
+ - spec/migration_validators/active_record/schema_dumper_spec.rb
143
+ - spec/migration_validators/adapters/base_spec.rb
144
+ - spec/migration_validators/core/adapter_wrapper_spec.rb
145
+ - spec/migration_validators/core/db_validator_spec.rb
146
+ - spec/migration_validators/core/statement_builder_spec.rb
147
+ - spec/migration_validators/core/validator_container_spec.rb
148
+ - spec/migration_validators/core/validator_definition_spec.rb
149
+ - spec/migration_validators/core/validator_router_spec.rb
150
+ - spec/mv-core_spec.rb
151
+ - spec/spec_helper.rb
152
+ - spec/support/factories/db_validator.rb