alf 0.14.0 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +6 -3
- data/Gemfile.lock +65 -19
- data/README.md +77 -183
- data/Rakefile +25 -0
- data/alf.gemspec +5 -3
- data/alf.noespec +8 -6
- data/lib/alf/loader.rb +1 -0
- data/lib/alf/version.rb +1 -1
- data/spec/facade/test_query.rb +12 -0
- data/spec/key-inference/queries.yml +10 -0
- data/spec/key-inference/test_all.rb +21 -0
- data/{test → spec}/migrations/test_folder_migration.rb +0 -0
- data/{test → spec}/migrations/test_sequel_migration.rb +1 -1
- data/spec/operators/ungroup/grouped.json +3 -0
- data/spec/operators/ungroup/test_on_json_content.rb +11 -0
- data/spec/operators/unwrap/test_on_json_content.rb +11 -0
- data/spec/operators/unwrap/wrapped.json +3 -0
- data/spec/optimizer/project/extend.yml +20 -0
- data/spec/optimizer/project/intersect.yml +10 -0
- data/spec/optimizer/project/join.yml +20 -0
- data/spec/optimizer/project/matching.yml +21 -0
- data/spec/optimizer/project/minus.yml +9 -0
- data/spec/optimizer/project/not_matching.yml +21 -0
- data/spec/optimizer/project/project.yml +88 -0
- data/spec/optimizer/project/rename.yml +30 -0
- data/spec/optimizer/project/sort.yml +45 -0
- data/spec/optimizer/project/union.yml +8 -0
- data/spec/optimizer/restrict/clip.yml +4 -0
- data/spec/optimizer/restrict/compact.yml +4 -0
- data/spec/optimizer/restrict/generator.yml +4 -0
- data/spec/optimizer/restrict/intersect.yml +4 -0
- data/spec/optimizer/restrict/leaf_operand.yml +4 -0
- data/spec/optimizer/restrict/minus.yml +4 -0
- data/spec/optimizer/restrict/page.yml +12 -0
- data/spec/optimizer/restrict/project.yml +4 -0
- data/spec/optimizer/restrict/sort.yml +4 -0
- data/spec/optimizer/restrict/union.yml +4 -0
- data/spec/optimizer/test_all.rb +34 -0
- data/spec/sql/helpers.rb +25 -0
- data/spec/sql/queries/01-leaf-operand.yml +5 -0
- data/spec/sql/queries/02-clip.yml +12 -0
- data/spec/sql/queries/03-sort.yml +58 -0
- data/spec/sql/queries/04-frame.yml +57 -0
- data/spec/sql/queries/05-intersect.yml +23 -0
- data/spec/sql/queries/06-join.yml +207 -0
- data/spec/sql/queries/07-matching.yml +76 -0
- data/spec/sql/queries/08-minus.yml +23 -0
- data/spec/sql/queries/09-not-matching.yml +57 -0
- data/spec/sql/queries/10-page.yml +31 -0
- data/spec/sql/queries/11-project.yml +48 -0
- data/spec/sql/queries/12-rename.yml +24 -0
- data/spec/sql/queries/13-restrict.yml +114 -0
- data/spec/sql/queries/15-union.yml +90 -0
- data/spec/sql/queries/16-wrap.yml +3 -0
- data/spec/sql/queries/91-reuse.yml +28 -0
- data/spec/sql/test_sequel_compiler.rb +41 -0
- data/spec/sql/test_sql_compiler.rb +52 -0
- data/{test → spec}/test_alf.rb +0 -0
- data/spec/test_helpers.rb +54 -0
- data/tasks/doc.rake +10 -0
- data/tasks/fixtures.rake +52 -0
- data/tasks/mod.rake +50 -0
- data/tasks/release.rake +34 -0
- data/tasks/test.rake +2 -2
- metadata +150 -19
- data/test/seeding/test_seeding.rb +0 -49
- data/test/test_helpers.rb +0 -24
@@ -1,49 +0,0 @@
|
|
1
|
-
require 'test_helpers'
|
2
|
-
describe "Seeding with a complete folder" do
|
3
|
-
pending do
|
4
|
-
let(:db_opts){
|
5
|
-
opts.merge(migrations_folder: fixtures_folder/"suppliers-and-parts/migrations")
|
6
|
-
}
|
7
|
-
|
8
|
-
let(:db){
|
9
|
-
Alf.database(victim.conn_spec,db_opts)
|
10
|
-
}
|
11
|
-
|
12
|
-
let(:conn){
|
13
|
-
db.connection
|
14
|
-
}
|
15
|
-
|
16
|
-
before do
|
17
|
-
conn.migrate!
|
18
|
-
conn.knows?(:suppliers).should be_true
|
19
|
-
end
|
20
|
-
|
21
|
-
after do
|
22
|
-
conn.close if conn
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'when no seeds folder is set' do
|
26
|
-
|
27
|
-
let(:opts){ {} }
|
28
|
-
|
29
|
-
it 'fails with a clear message' do
|
30
|
-
lambda{
|
31
|
-
db.connect{|conn| conn.seed!(:base) }
|
32
|
-
}.should raise_error(Alf::ConfigError, /No seeds folder set/)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
context 'when a seeds folder is set' do
|
37
|
-
|
38
|
-
let(:opts){
|
39
|
-
{ seeds_folder: fixtures_folder/"suppliers-and-parts/seeds" }
|
40
|
-
}
|
41
|
-
|
42
|
-
it 'seeds the database when a seed name is provided' do
|
43
|
-
conn.seed!
|
44
|
-
conn.query{ suppliers }.size.should eq(5)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
end
|
data/test/test_helpers.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'alf'
|
2
|
-
require 'rspec'
|
3
|
-
|
4
|
-
module Alf::IntegrationTestHelpers
|
5
|
-
|
6
|
-
def fixtures_folder
|
7
|
-
Path.backfind("fixtures")
|
8
|
-
end
|
9
|
-
|
10
|
-
class Victim
|
11
|
-
|
12
|
-
def conn_spec
|
13
|
-
ENV['ALF_VICTIM_CONN_SPEC'] || "#{Alf::Sequel::Adapter.sqlite_protocol}:memory"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def victim
|
18
|
-
@victim ||= Victim.new
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
RSpec.configure do |c|
|
23
|
-
c.include(Alf::IntegrationTestHelpers)
|
24
|
-
end
|