alf 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|