migration_test_helper 1.3.2 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,39 @@
1
+ .
2
+ ./generators
3
+ ./generators/full_migration_test
4
+ ./generators/full_migration_test/full_migration_test_generator.rb
5
+ ./generators/full_migration_test/templates
6
+ ./generators/full_migration_test/templates/full_migration_test.rb
7
+ ./generators/full_migration_test/USAGE
8
+ ./generators/migration_test
9
+ ./generators/migration_test/migration_test_generator.rb
10
+ ./generators/migration_test/templates
11
+ ./generators/migration_test/templates/migration_test.rb
12
+ ./init.rb
13
+ ./install.rb
14
+ ./lib
15
+ ./lib/migration_test_helper.rb
16
+ ./LICENSE
17
+ ./Manifest.txt
18
+ ./Rakefile
19
+ ./README
20
+ ./tasks
21
+ ./tasks/migration_test_helper_tasks.rake
22
+ ./test
23
+ ./test/config
24
+ ./test/config/database.yml
25
+ ./test/db
26
+ ./test/db/migrate_bad
27
+ ./test/db/migrate_bad/001_create_top_dogs.rb
28
+ ./test/db/migrate_good
29
+ ./test/db/migrate_good/001_create_top_dogs.rb
30
+ ./test/db/migrate_good/002_create_bottom_dogs.rb
31
+ ./test/db/migrate_good/003_create_cats.rb
32
+ ./test/db/schema.rb
33
+ ./test/foundry_only_helper.rb
34
+ ./test/full_migration_test_generator_test.rb
35
+ ./test/helper.rb
36
+ ./test/log
37
+ ./test/migration_test_generator_test.rb
38
+ ./test/migration_test_helper_test.rb
39
+ ./uninstall.rb
data/README CHANGED
@@ -41,11 +41,12 @@ If you're using it outside of a Rails environment (for whatever reason) include
41
41
  t.column :book_id, :integer
42
42
  t.column :body, :text
43
43
  t.column :rating, :integer, :default => 0
44
+ t.index :book_id, :name => 'index_book_id_on_reviews'
44
45
  end
45
46
  end
46
47
  end
47
48
 
48
- This would verify there are only two tables defined in the test database: _books_ and _reviews_ (schema_info is ignored). It will also verify that the _book_ table has the three columns, _id_, _title_ and _author_, each with their respective types.
49
+ This would verify there are only two tables defined in the test database: _books_ and _reviews_ (schema_info is ignored). It will also verify that the _book_ table has the three columns, _id_, _title_ and _author_, each with their respective types. Indexes are verified too.
49
50
 
50
51
 
51
52
  *assert_table*: verify a table is found exactly as specified:
@@ -54,6 +55,7 @@ This would verify there are only two tables defined in the test database: _books
54
55
  t.column :id, :integer
55
56
  t.column :title, :string, :limit => 5
56
57
  t.column :author, :string
58
+ t.index :author, :name => 'index_author_on_books'
57
59
  end
58
60
 
59
61
 
@@ -101,6 +103,7 @@ By combining the two helpers you can write a test that shows you can run all you
101
103
  t.column :book_id, :integer
102
104
  t.column :body, :text
103
105
  t.column :rating, :integer
106
+ t.index :book_id, :name => 'index_book_id_on_reviews'
104
107
  end
105
108
  end
106
109
  end
data/Rakefile CHANGED
@@ -16,7 +16,7 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
16
16
  rdoc.rdoc_files.include('lib/**/*.rb')
17
17
  end
18
18
 
19
- GEM_VERSION = '1.3.2'
19
+ GEM_VERSION = '1.3.3'
20
20
 
21
21
  Hoe.new('migration_test_helper',GEM_VERSION) do |p|
22
22
  p.author = "Micah Alles"
@@ -30,8 +30,6 @@ current state of the schema and executing migrations against the
30
30
  test database.
31
31
  EOS
32
32
 
33
- p.gem_files = FileList["{test,lib,tasks}/**/*"] + %w|LICENSE README Rakefile init.rb install.rb uninstall.rb|
34
-
35
33
  p.changes = <<-EOS
36
34
  * fixed bug where test:migration was calling itself, thanks Patrick ;)
37
35
  EOS
@@ -52,13 +50,13 @@ task :plugin_release do
52
50
  status = `svn status`
53
51
  raise "Please clean up before releasing.\n#{status}" unless status == ""
54
52
 
55
- unless `svn ls svn+ssh://alles@rubyforge.org/var/svn/migrationtest/tags/rel-#{GEM_VERSION} -m`.strip.empty?
56
- sh "svn del svn+ssh://alles@rubyforge.org/var/svn/migrationtest/tags/rel-#{GEM_VERSION} -m 'Preparing to update stable release tag'"
53
+ unless `svn ls svn+ssh://swieton@rubyforge.org/var/svn/migrationtest/tags/rel-#{GEM_VERSION} -m`.strip.empty?
54
+ sh "svn del svn+ssh://swieton@rubyforge.org/var/svn/migrationtest/tags/rel-#{GEM_VERSION} -m 'Preparing to update stable release tag'"
57
55
  end
58
- sh "svn cp . svn+ssh://alles@rubyforge.org/var/svn/migrationtest/tags/rel-#{GEM_VERSION} -m 'Releasing version #{GEM_VERSION}'"
59
- unless `svn ls svn+ssh://alles@rubyforge.org/var/svn/migrationtest/tags/migration_test_helper`.strip.empty?
60
- sh "svn del svn+ssh://alles@rubyforge.org/var/svn/migrationtest/tags/migration_test_helper -m 'Preparing to update stable release tag'"
56
+ sh "svn cp . svn+ssh://swieton@rubyforge.org/var/svn/migrationtest/tags/rel-#{GEM_VERSION} -m 'Releasing version #{GEM_VERSION}'"
57
+ unless `svn ls svn+ssh://swieton@rubyforge.org/var/svn/migrationtest/tags/migration_test_helper`.strip.empty?
58
+ sh "svn del svn+ssh://swieton@rubyforge.org/var/svn/migrationtest/tags/migration_test_helper -m 'Preparing to update stable release tag'"
61
59
  end
62
- sh "svn cp . svn+ssh://alles@rubyforge.org/var/svn/migrationtest/tags/migration_test_helper -m 'Updating stable tag to version #{GEM_VERSION}'"
60
+ sh "svn cp . svn+ssh://swieton@rubyforge.org/var/svn/migrationtest/tags/migration_test_helper -m 'Updating stable tag to version #{GEM_VERSION}'"
63
61
  end
64
62
  end
@@ -0,0 +1,30 @@
1
+ Description:
2
+ The controller generator creates stubs for a new controller and its views.
3
+
4
+ The generator takes a controller name and a list of views as arguments.
5
+ The controller name may be given in CamelCase or under_score and should
6
+ not be suffixed with 'Controller'. To create a controller within a
7
+ module, specify the controller name as 'module/controller'.
8
+
9
+ The generator creates a controller class in app/controllers with view
10
+ templates in app/views/controller_name, a helper class in app/helpers,
11
+ and a functional test suite in test/functional.
12
+
13
+ Example:
14
+ ./script/generate controller CreditCard open debit credit close
15
+
16
+ Credit card controller with URLs like /credit_card/debit.
17
+ Controller: app/controllers/credit_card_controller.rb
18
+ Views: app/views/credit_card/debit.rhtml [...]
19
+ Helper: app/helpers/credit_card_helper.rb
20
+ Test: test/functional/credit_card_controller_test.rb
21
+
22
+ Modules Example:
23
+ ./script/generate controller 'admin/credit_card' suspend late_fee
24
+
25
+ Credit card admin controller with URLs /admin/credit_card/suspend.
26
+ Controller: app/controllers/admin/credit_card_controller.rb
27
+ Views: app/views/admin/credit_card/debit.rhtml [...]
28
+ Helper: app/helpers/admin/credit_card_helper.rb
29
+ Test: test/functional/admin/credit_card_controller_test.rb
30
+
@@ -0,0 +1,10 @@
1
+ class FullMigrationTestGenerator < Rails::Generator::Base
2
+ def manifest
3
+ record do |m|
4
+
5
+ m.directory 'test/migration'
6
+ m.template 'full_migration_test.rb',
7
+ 'test/migration/full_migration_test.rb'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,89 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ #
4
+ # This excercises the full set of migrations for your Rails app.
5
+ # It proves:
6
+ # - After full migration, the database is in the expected state, including:
7
+ # - All table structure
8
+ # - Default data (if any)
9
+ # - Full downward (version 0) migration functions correctly.
10
+ #
11
+ # YOU NEED TO:
12
+ # - Update "see_full_schema"
13
+ # - Update "see_data"
14
+ #
15
+ class FullMigrationTest < ActionController::IntegrationTest
16
+
17
+ #
18
+ # Transactional fixtures can, on occasion, cause migration tests to hang.
19
+ # Applying this setting here will turn transactional fixtures off for THIS
20
+ # SUITE ONLY
21
+ #
22
+ # self.use_transactional_fixtures = false
23
+
24
+ def conn
25
+ ActiveRecord::Base.connection
26
+ end
27
+
28
+ def see_empty_schema
29
+ assert_schema do |s|
30
+ # is nothing
31
+ end
32
+ end
33
+
34
+ #
35
+ # Structure and Content assertions
36
+ #
37
+
38
+ # Fully assert db structure after full migration
39
+ def see_full_schema
40
+ # TODO: add assertions here to verify your schema was built
41
+ flunk "implement me"
42
+
43
+ #
44
+ # Something like this can be used to see the entire schema
45
+ # is as expeted.
46
+ #
47
+ # assert_schema do |s|
48
+ # s.table :cat_tails do |t|
49
+ # t.column :id, :integer
50
+ # t.column :name, :string
51
+ # end
52
+ #
53
+ # s.table :dogs do |t|
54
+ # t.column :id, :integer
55
+ # t.column :name, :string
56
+ # end
57
+ # end
58
+
59
+ #
60
+ # Alternatively individual tables can be checked.
61
+ #
62
+ # assert_table :cats_tails do |s|
63
+ # t.column :id, :integer
64
+ # t.column :name, :string
65
+ # end
66
+ end
67
+
68
+ # Make sure data you expect your migrations to load are in there:
69
+ def see_default_data
70
+ # TODO: add assertions here to verify any default data was loaded
71
+ end
72
+
73
+ #
74
+ # TESTS
75
+ #
76
+
77
+ def test_full_migration
78
+ drop_all_tables
79
+
80
+ see_empty_schema
81
+
82
+ migrate
83
+
84
+ see_full_schema
85
+
86
+ see_default_data
87
+ end
88
+
89
+ end
@@ -0,0 +1,33 @@
1
+ class MigrationTestGenerator < Rails::Generator::NamedBase
2
+ def manifest
3
+ schema_version = class_name.to_i
4
+ raise "Invalid schema version '#{class_name}'" unless schema_version > 0
5
+
6
+ schema_version_string = schema_version.to_s.rjust(3,'0')
7
+
8
+ migration = Dir["db/migrate/#{schema_version_string}*.rb"].first
9
+ raise "No migration found for schema version #{schema_version_string}" unless migration
10
+
11
+ migration_name = File.basename(migration,'.rb').sub(/^\d+_/,'')
12
+ test_class_name = migration_name.camelize + "Test"
13
+ test_file = "test/migration/#{schema_version_string}_#{migration_name}_test.rb"
14
+
15
+ record do |m|
16
+ m.directory 'test/migration'
17
+ m.template 'migration_test.rb', test_file, :assigns => {
18
+ :test_class_name => test_class_name,
19
+ :migration_name => migration_name,
20
+ :schema_version => schema_version,
21
+ :previous_schema_version => previous_schema_version(schema_version_string)
22
+ }
23
+ end
24
+ end
25
+
26
+ def previous_schema_version(current_version_string)
27
+ versions = Dir["db/migrate/*.rb"].map do |migration_file|
28
+ migration_file.match(/db\/migrate\/(\d+)_.*\.rb/)[1]
29
+ end.sort
30
+ prev_index = versions.index(current_version_string) - 1
31
+ prev_index < 0 ? -1 : versions[prev_index].to_i
32
+ end
33
+ end
@@ -0,0 +1,25 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+
3
+ class <%= test_class_name %> < Test::Unit::TestCase
4
+
5
+ def teardown
6
+ migrate
7
+ end
8
+
9
+ def test_migration_should_<%= migration_name %>
10
+ drop_all_tables
11
+
12
+ migrate :version => <%= previous_schema_version %>
13
+
14
+ flunk "TODO: setup test data"
15
+
16
+ migrate :version => <%= schema_version %>
17
+
18
+ flunk "TODO: examine results"
19
+
20
+ migrate :version => <%= previous_schema_version %>
21
+
22
+ flunk "TODO: examine results"
23
+ end
24
+
25
+ end
@@ -114,7 +114,7 @@ module MigrationTestHelper
114
114
  end
115
115
 
116
116
  def verify #:nodoc:
117
- actual_tables = conn.tables.reject {|t| t == 'schema_info' }
117
+ actual_tables = conn.tables.reject {|t| t == 'schema_info' || t == 'schema_migrations' }
118
118
  expected_tables = @tables.map {|t| t.name }
119
119
  assert_equal expected_tables.sort, actual_tables.sort, 'wrong tables in schema'
120
120
  end
@@ -128,6 +128,7 @@ module MigrationTestHelper
128
128
  def initialize(name) #:nodoc:
129
129
  @name = name.to_s
130
130
  @columns = []
131
+ @indexes = []
131
132
  assert conn.tables.include?(@name), "table <#{@name}> not found in schema"
132
133
  end
133
134
 
@@ -138,14 +139,21 @@ module MigrationTestHelper
138
139
  assert_not_nil col, "column <#{colname}> not found in table <#{self.name}>"
139
140
  assert_equal type, col.type, "wrong type for column <#{colname}> in table <#{name}>"
140
141
  options.each do |k,v|
141
- k = k.to_sym
142
- assert_equal v, col.send(k), "column <#{colname}> in table <#{name}> has wrong :#{k}"
142
+ k = k.to_sym; actual = col.send(k); actual = actual.is_a?(String) ? actual.sub(/'$/,'').sub(/^'/,'') : actual
143
+ assert_equal v, actual, "column <#{colname}> in table <#{name}> has wrong :#{k}"
143
144
  end
144
145
  end
145
146
 
147
+ def index(column_name, options = {})
148
+ @indexes << "name <#{options[:name]}> columns <#{Array(column_name).join(",")}> unique <#{options[:unique] == true}>"
149
+ end
150
+
146
151
  def verify #:nodoc:
147
152
  actual_columns = conn.columns(name).map {|c| c.name }
148
153
  assert_equal @columns.sort, actual_columns.sort, "wrong columns for table: <#{name}>"
154
+
155
+ actual_indexes = conn.indexes(@name).collect { |i| "name <#{i.name}> columns <#{i.columns.join(",")}> unique <#{i.unique}>" }
156
+ assert_equal @indexes.sort, actual_indexes.sort, "wrong indexes for table: <#{name}>"
149
157
  end
150
158
  end
151
159
  end
@@ -2,4 +2,5 @@ ActiveRecord::Schema.define(:version => 1) do
2
2
  create_table "dogs", :force => true do |t|
3
3
  t.column "tail", :string, :default => 'top dog', :limit => 187
4
4
  end
5
+ add_index :dogs, :tail, :name => 'index_tail_on_dogs'
5
6
  end
@@ -12,6 +12,4 @@ class Test::Unit::TestCase
12
12
  should(behave,&block) if running_in_foundry
13
13
  end
14
14
 
15
- def test_PLACEHOLDER; end
16
-
17
15
  end
@@ -20,15 +20,17 @@ class MigrationTestGeneratorTest < Test::Unit::TestCase
20
20
  # HELPERS
21
21
  #
22
22
 
23
- def generate_migration(expected_version, name)
23
+ def generate_migration(name)
24
24
  run_in_rails_root "script/generate migration #{name}"
25
- migration_file = "db/migrate/#{expected_version}_#{name}.rb"
25
+ @output =~ /create db\/migrate\/(\d+)_.*\.rb/
26
+ migration = $1
27
+ migration_file = "db/migrate/#{migration}_#{name}.rb"
26
28
  assert File.exists?(migration_file), "Migration not there: #{migration_file}"
29
+ migration
27
30
  end
28
31
 
29
32
  def generate_migration_test(version)
30
33
  run_in_rails_root "script/generate migration_test #{version}"
31
-
32
34
  end
33
35
 
34
36
  def rm_migrations
@@ -40,11 +42,11 @@ class MigrationTestGeneratorTest < Test::Unit::TestCase
40
42
  #
41
43
 
42
44
  in_foundry_should "generate a migration test for schema 1" do
43
- generate_migration '001', 'create_the_dogs_table'
45
+ migration = generate_migration 'create_the_dogs_table'
44
46
 
45
- generate_migration_test '1'
47
+ generate_migration_test migration
46
48
 
47
- migration_test_file = "test/migration/001_create_the_dogs_table_test.rb"
49
+ migration_test_file = "test/migration/#{migration}_create_the_dogs_table_test.rb"
48
50
  assert File.exists?(migration_test_file), "Migration test not there: #{migration_test_file}"
49
51
 
50
52
  run_in_rails_root "ruby #{migration_test_file}"
@@ -55,10 +57,10 @@ class MigrationTestGeneratorTest < Test::Unit::TestCase
55
57
  end
56
58
 
57
59
  in_foundry_should "generate a migration test for schema 2" do
58
- generate_migration '001', 'create_the_dogs_table'
59
- generate_migration '002', 'transfer_cats_data'
60
- generate_migration_test '002'
61
- migration_test_file = "test/migration/002_transfer_cats_data_test.rb"
60
+ generate_migration 'create_the_dogs_table'
61
+ migration = generate_migration 'transfer_cats_data'
62
+ generate_migration_test migration
63
+ migration_test_file = "test/migration/#{migration}_transfer_cats_data_test.rb"
62
64
  assert File.exists?(migration_test_file), "Migration test not there: #{migration_test_file}"
63
65
 
64
66
  run_in_rails_root "ruby #{migration_test_file}"
@@ -69,19 +71,19 @@ class MigrationTestGeneratorTest < Test::Unit::TestCase
69
71
  end
70
72
 
71
73
  in_foundry_should "fail if no schema version is provided" do
72
- generate_migration '001', 'create_the_dogs_table'
74
+ generate_migration 'create_the_dogs_table'
73
75
  generate_migration_test ''
74
76
  check_output 'Usage: script/generate migration_test MigrationTestName [options]'
75
77
  end
76
78
 
77
79
  in_foundry_should "fail if bad schema version is provided" do
78
- generate_migration '001', 'create_the_dogs_table'
80
+ generate_migration 'create_the_dogs_table'
79
81
  generate_migration_test 'oops'
80
82
  check_output(/Invalid schema version 'oops'/i)
81
83
  end
82
84
 
83
85
  in_foundry_should "fail if schema version does not correspond to existing migration" do
84
- generate_migration '001', 'create_the_dogs_table'
86
+ migration = generate_migration 'create_the_dogs_table'
85
87
  generate_migration_test '2'
86
88
  check_output "No migration found for schema version 002"
87
89
  end
@@ -22,6 +22,11 @@ class MigrationTestHelperTest < Test::Unit::TestCase
22
22
  yield
23
23
  end
24
24
  end
25
+
26
+ def declare_columns_on_table(t)
27
+ t.column :id, :integer
28
+ t.column :tail, :string, :default => 'top dog', :limit => 187
29
+ end
25
30
 
26
31
  #
27
32
  # TESTS
@@ -30,9 +35,10 @@ class MigrationTestHelperTest < Test::Unit::TestCase
30
35
  see_no_failure do
31
36
  assert_schema do |s|
32
37
  s.table :dogs do |t|
33
- t.column :id, :integer
34
- t.column :tail, :string, :default => 'top dog', :limit => 187
38
+ declare_columns_on_table(t)
39
+ t.index :tail, :name => 'index_tail_on_dogs'
35
40
  end
41
+
36
42
  end
37
43
  end
38
44
  end
@@ -88,8 +94,8 @@ class MigrationTestHelperTest < Test::Unit::TestCase
88
94
  def test_assert_table_should_not_fail_if_table_is_matched
89
95
  see_no_failure do
90
96
  assert_table :dogs do |t|
91
- t.column :id, :integer
92
- t.column :tail, :string, :default => 'top dog', :limit => 187
97
+ declare_columns_on_table(t)
98
+ t.index :tail, :name => 'index_tail_on_dogs'
93
99
  end
94
100
  end
95
101
  end
@@ -129,8 +135,39 @@ class MigrationTestHelperTest < Test::Unit::TestCase
129
135
  end
130
136
  end
131
137
 
138
+ def test_assert_table_should_fail_if_an_index_is_not_specified
139
+ see_failure 'wrong indexes for table: <dogs>' do
140
+ assert_table :dogs do |t|
141
+ declare_columns_on_table(t)
142
+ end
143
+ end
144
+ end
145
+
146
+ def test_assert_schema_should_fail_if_a_column_in_an_index_is_not_found
147
+ see_failure 'wrong indexes for table: <dogs>' do
148
+ assert_table :dogs do |t|
149
+ declare_columns_on_table(t)
150
+ t.index :legs, :name => 'index_legs_on_dogs'
151
+ end
152
+ end
153
+ end
154
+
155
+ def test_assert_schema_should_fail_if_wrong_options_on_an_index
156
+ see_failure 'wrong indexes for table: <dogs>' do
157
+ assert_table :dogs do |t|
158
+ declare_columns_on_table(t)
159
+ t.index :tail, :name => 'index_tail_on_dogs', :unique => true
160
+ end
161
+ end
162
+ end
163
+
132
164
  def test_should_drop_all_tables
133
- assert_equal ['dogs','schema_info'].sort, ActiveRecord::Base.connection.tables.sort
165
+ if Rails::VERSION::MAJOR >= 2 && Rails::VERSION::MINOR >= 1
166
+ schema_table = 'schema_migrations'
167
+ else
168
+ schema_table = 'schema_info'
169
+ end
170
+ assert_equal ['dogs', schema_table].sort, ActiveRecord::Base.connection.tables.sort
134
171
  drop_all_tables
135
172
  assert_equal [], ActiveRecord::Base.connection.tables
136
173
  drop_all_tables
metadata CHANGED
@@ -1,77 +1,94 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
4
2
  name: migration_test_helper
5
3
  version: !ruby/object:Gem::Version
6
- version: 1.3.2
7
- date: 2007-03-31 00:00:00 -04:00
8
- summary: A Rails plugin for testing migrations
9
- require_paths:
10
- - lib
11
- email: micah@atomicobject.com
12
- homepage: http://migrationtest.rubyforge.org
13
- rubyforge_project: migrationtest
14
- description: migration_test_helper makes testing your migrations easier by adding helper methods to Test::Unit::TestCase for asserting the current state of the schema and executing migrations against the test database.
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 1.3.3
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Micah Alles
31
- files:
32
- - test/config
33
- - test/db
34
- - test/foundry_only_helper.rb
35
- - test/full_migration_test_generator_test.rb
36
- - test/helper.rb
37
- - test/log
38
- - test/migration_test_generator_test.rb
39
- - test/migration_test_helper_test.rb
40
- - test/config/database.yml
41
- - test/db/migrate_bad
42
- - test/db/migrate_good
43
- - test/db/schema.rb
44
- - test/db/migrate_bad/001_create_top_dogs.rb
45
- - test/db/migrate_good/001_create_top_dogs.rb
46
- - test/db/migrate_good/002_create_bottom_dogs.rb
47
- - test/db/migrate_good/003_create_cats.rb
48
- - lib/migration_test_helper.rb
49
- - tasks/migration_test_helper_tasks.rake
50
- - LICENSE
51
- - README
52
- - Rakefile
53
- - init.rb
54
- - install.rb
55
- - uninstall.rb
56
- test_files: []
57
-
58
- rdoc_options: []
59
-
60
- extra_rdoc_files: []
61
-
62
- executables: []
63
-
64
- extensions: []
65
-
66
- requirements: []
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
67
11
 
12
+ date: 2009-12-04 00:00:00 -05:00
13
+ default_executable:
68
14
  dependencies:
69
15
  - !ruby/object:Gem::Dependency
70
16
  name: hoe
17
+ type: :development
71
18
  version_requirement:
72
- version_requirements: !ruby/object:Gem::Version::Requirement
19
+ version_requirements: !ruby/object:Gem::Requirement
73
20
  requirements:
74
21
  - - ">="
75
22
  - !ruby/object:Gem::Version
76
- version: 1.1.7
23
+ version: 2.3.3
77
24
  version:
25
+ description: |
26
+ migration_test_helper makes testing your migrations easier by
27
+ adding helper methods to Test::Unit::TestCase for asserting the
28
+ current state of the schema and executing migrations against the
29
+ test database.
30
+
31
+ email: micah@atomicobject.com
32
+ executables: []
33
+
34
+ extensions: []
35
+
36
+ extra_rdoc_files:
37
+ - ./Manifest.txt
38
+ files:
39
+ - ./generators/full_migration_test/full_migration_test_generator.rb
40
+ - ./generators/full_migration_test/templates/full_migration_test.rb
41
+ - ./generators/full_migration_test/USAGE
42
+ - ./generators/migration_test/migration_test_generator.rb
43
+ - ./generators/migration_test/templates/migration_test.rb
44
+ - ./init.rb
45
+ - ./install.rb
46
+ - ./lib/migration_test_helper.rb
47
+ - ./LICENSE
48
+ - ./Manifest.txt
49
+ - ./Rakefile
50
+ - ./README
51
+ - ./tasks/migration_test_helper_tasks.rake
52
+ - ./test/config/database.yml
53
+ - ./test/db/migrate_bad/001_create_top_dogs.rb
54
+ - ./test/db/migrate_good/001_create_top_dogs.rb
55
+ - ./test/db/migrate_good/002_create_bottom_dogs.rb
56
+ - ./test/db/migrate_good/003_create_cats.rb
57
+ - ./test/db/schema.rb
58
+ - ./test/foundry_only_helper.rb
59
+ - ./test/full_migration_test_generator_test.rb
60
+ - ./test/helper.rb
61
+ - ./test/migration_test_generator_test.rb
62
+ - ./test/migration_test_helper_test.rb
63
+ - ./uninstall.rb
64
+ has_rdoc: true
65
+ homepage: http://migrationtest.rubyforge.org
66
+ licenses: []
67
+
68
+ post_install_message:
69
+ rdoc_options:
70
+ - --main
71
+ - README.txt
72
+ require_paths:
73
+ - lib
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ version:
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: "0"
85
+ version:
86
+ requirements: []
87
+
88
+ rubyforge_project: migrationtest
89
+ rubygems_version: 1.3.5
90
+ signing_key:
91
+ specification_version: 3
92
+ summary: A Rails plugin for testing migrations
93
+ test_files: []
94
+