mack-data_mapper 0.5.5 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +6 -0
- data/lib/database.rb +94 -0
- data/lib/dm_patches/confirmation_validation.rb +19 -0
- data/lib/dm_patches/dm-cli.rb +1 -0
- data/lib/dm_patches/migrations.rb +23 -0
- data/lib/dm_patches/pooling.rb +229 -0
- data/lib/genosaurus_helpers.rb +40 -0
- data/lib/helpers/orm_helpers.rb +50 -21
- data/lib/mack-data_mapper.rb +43 -16
- data/lib/migration_generator/migration_generator.rb +28 -17
- data/lib/migration_generator/templates/db/migrations/%=@migration_name%.rb.template +6 -6
- data/lib/model_column.rb +42 -0
- data/lib/model_generator/manifest.yml +9 -2
- data/lib/model_generator/model_generator.rb +25 -20
- data/lib/model_generator/templates/model.rb.template +4 -4
- data/lib/model_generator/templates/rspec.rb.template +7 -0
- data/lib/model_generator/templates/{test.rb.template → test_case.rb.template} +0 -0
- data/lib/resource.rb +17 -0
- data/lib/runner.rb +17 -0
- data/lib/scaffold_generator/manifest.yml +14 -3
- data/lib/scaffold_generator/scaffold_generator.rb +4 -4
- data/lib/scaffold_generator/templates/app/controllers/controller.rb.template +10 -9
- data/lib/scaffold_generator/templates/app/helpers/controllers/helper.rb.template +7 -0
- data/lib/scaffold_generator/templates/app/views/edit.html.erb.template +1 -1
- data/lib/scaffold_generator/templates/app/views/new.html.erb.template +1 -1
- data/lib/scaffold_generator/templates/test/functional/rspec.rb.template +47 -0
- data/lib/scaffold_generator/templates/{test.rb.template → test/functional/test_case.rb.template} +0 -0
- data/lib/tasks/db_create_drop_tasks.rake +43 -62
- data/lib/tasks/db_migration_tasks.rake +25 -62
- data/lib/tasks/test_tasks.rake +12 -0
- data/lib/test_extensions.rb +90 -0
- metadata +28 -52
- data/lib/configuration.rb +0 -22
- data/lib/persistence.rb +0 -9
- data/test/database.yml +0 -3
- data/test/fixtures/add_users_migration.rb.fixture +0 -9
- data/test/fixtures/album.rb.fixture +0 -4
- data/test/fixtures/album_unit_test.rb.fixture +0 -9
- data/test/fixtures/album_with_cols.rb.fixture +0 -7
- data/test/fixtures/create_users_migration.rb.fixture +0 -12
- data/test/fixtures/routes.rb.fixture +0 -3
- data/test/fixtures/zoo_no_cols/edit.html.erb.fixture +0 -11
- data/test/fixtures/zoo_no_cols/index.html.erb.fixture +0 -20
- data/test/fixtures/zoo_no_cols/new.html.erb.fixture +0 -11
- data/test/fixtures/zoo_no_cols/show.html.erb.fixture +0 -6
- data/test/fixtures/zoo_with_cols/edit.html.erb.fixture +0 -19
- data/test/fixtures/zoo_with_cols/index.html.erb.fixture +0 -26
- data/test/fixtures/zoo_with_cols/new.html.erb.fixture +0 -19
- data/test/fixtures/zoo_with_cols/show.html.erb.fixture +0 -22
- data/test/fixtures/zoo_with_cols/zoo.rb.fixture +0 -4
- data/test/fixtures/zoo_with_cols/zoos_controller.rb.fixture +0 -50
- data/test/generators/migration_generator_test.rb +0 -71
- data/test/generators/model_generator_test.rb +0 -37
- data/test/generators/scaffold_generator_test.rb +0 -61
- data/test/lib/user.rb +0 -6
- data/test/tasks/db_migration_tasks_test.rb +0 -57
- data/test/test_helper.rb +0 -77
data/test/lib/user.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper.rb'
|
2
|
-
|
3
|
-
class DbMigrationTasksTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
$current_rake_task = File.join(File.dirname(__FILE__), "..", "..", "lib", "tasks", "db_migration_tasks.rake")
|
6
|
-
|
7
|
-
def test_db_rollback
|
8
|
-
test_db_migrate
|
9
|
-
si = SchemaInfo.first
|
10
|
-
assert_equal 2, si.version
|
11
|
-
assert_equal 1, User.count
|
12
|
-
rake_task("db:rollback")
|
13
|
-
si = SchemaInfo.first
|
14
|
-
assert_equal 1, si.version
|
15
|
-
assert_equal 0, User.count
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_db_rollback_two_steps
|
19
|
-
test_db_migrate
|
20
|
-
si = SchemaInfo.first
|
21
|
-
assert_equal 2, si.version
|
22
|
-
rake_task("db:rollback", "STEP" => "2")
|
23
|
-
si = SchemaInfo.first
|
24
|
-
assert_equal 0, si.version
|
25
|
-
assert !User.table.exists?
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_db_rollback_unrun_migrations
|
29
|
-
test_db_migrate
|
30
|
-
MigrationGenerator.run("name" => "create_comments")
|
31
|
-
si = SchemaInfo.first
|
32
|
-
assert_equal 2, si.version
|
33
|
-
assert_raise(Mack::Errors::UnrunMigrations) { rake_task("db:rollback") }
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_db_migrate
|
37
|
-
assert !SchemaInfo.table.exists?
|
38
|
-
rake_task("db:migrate") do
|
39
|
-
assert SchemaInfo.table.exists?
|
40
|
-
si = SchemaInfo.first
|
41
|
-
assert_equal 0, si.version
|
42
|
-
end
|
43
|
-
FileUtils.cp(fixture_path("create_users_migration.rb"), File.join(migrations_directory, "001_create_users.rb"))
|
44
|
-
assert !User.table.exists?
|
45
|
-
rake_task("db:migrate")
|
46
|
-
assert User.table.exists?
|
47
|
-
si = SchemaInfo.first
|
48
|
-
assert_equal 1, si.version
|
49
|
-
FileUtils.cp(fixture_path("add_users_migration.rb"), File.join(migrations_directory, "002_add_users.rb"))
|
50
|
-
assert_equal 0, User.count
|
51
|
-
rake_task("db:migrate")
|
52
|
-
assert_equal 1, User.count
|
53
|
-
si = SchemaInfo.first
|
54
|
-
assert_equal 2, si.version
|
55
|
-
end
|
56
|
-
|
57
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
require "test/unit"
|
2
|
-
require File.join(File.dirname(__FILE__), "..", "..", "test_helpers")
|
3
|
-
require 'rubygems'
|
4
|
-
require 'genosaurus'
|
5
|
-
module Mack
|
6
|
-
module Configuration
|
7
|
-
def self.method_missing(sym, *args)
|
8
|
-
ev = "_mack_#{sym}".downcase
|
9
|
-
return ENV[ev]
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.set(name, value)
|
13
|
-
ENV["_mack_#{name.to_s.downcase}"] = value
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
$genosaurus_output_directory = File.join(File.dirname(__FILE__), "..", "tmp")
|
19
|
-
|
20
|
-
ENV["_mack_config_directory"] = File.dirname(__FILE__)
|
21
|
-
ENV["_mack_root"] = $genosaurus_output_directory
|
22
|
-
ENV["_mack_app_directory"] = File.join($genosaurus_output_directory, "app")
|
23
|
-
ENV["_mack_env"] = "test"
|
24
|
-
ENV["_mack_views_directory"] = File.join(ENV["_mack_app_directory"], "views")
|
25
|
-
|
26
|
-
require File.join(File.dirname(__FILE__), "..", "..", "mack-orm_common", "lib", "mack-orm_common")
|
27
|
-
require File.join(File.dirname(__FILE__), "..", "lib", "mack-data_mapper")
|
28
|
-
|
29
|
-
load File.join(File.dirname(__FILE__), "lib", "user.rb")
|
30
|
-
|
31
|
-
class Test::Unit::TestCase
|
32
|
-
|
33
|
-
# place common methods, assertions, and other type things in this file so
|
34
|
-
# other tests will have access to them.
|
35
|
-
|
36
|
-
def cleanup
|
37
|
-
database.adapter.flush_connections!
|
38
|
-
FileUtils.rm_rf($genosaurus_output_directory)
|
39
|
-
FileUtils.rm_rf(File.join(Mack::Configuration.config_directory, "routes.rb"))
|
40
|
-
end
|
41
|
-
|
42
|
-
def teardown
|
43
|
-
cleanup
|
44
|
-
end
|
45
|
-
|
46
|
-
def setup
|
47
|
-
database.adapter.flush_connections!
|
48
|
-
[$genosaurus_output_directory, migrations_directory, models_directory].each do |d|
|
49
|
-
FileUtils.mkdir_p(d)
|
50
|
-
end
|
51
|
-
FileUtils.cp(fixture_path("routes.rb"), File.join(Mack::Configuration.config_directory, "routes.rb"))
|
52
|
-
end
|
53
|
-
|
54
|
-
def migrations_directory
|
55
|
-
File.join($genosaurus_output_directory, "db", "migrations")
|
56
|
-
end
|
57
|
-
|
58
|
-
def models_directory
|
59
|
-
File.join($genosaurus_output_directory, "app", "models")
|
60
|
-
end
|
61
|
-
|
62
|
-
def test_directory
|
63
|
-
File.join($genosaurus_output_directory, "test")
|
64
|
-
end
|
65
|
-
|
66
|
-
def fixture_path(*name)
|
67
|
-
path = [File.dirname(__FILE__), "fixtures"]
|
68
|
-
path << name
|
69
|
-
path.flatten!
|
70
|
-
File.join(path) + ".fixture"
|
71
|
-
end
|
72
|
-
|
73
|
-
def fixture(*name)
|
74
|
-
File.open(fixture_path(name)).read
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|