rspec-sequel 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.kateproject +5 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +47 -0
- data/Rakefile +9 -0
- data/features/migration_specs.feature +41 -0
- data/features/postgres_schema.feature +75 -0
- data/features/step_definitions/database_steps.rb +4 -0
- data/features/step_definitions/examples_passing_steps.rb +5 -0
- data/features/support/env.rb +37 -0
- data/features/support/postgres.rb +21 -0
- data/lib/rspec/sequel.rb +11 -0
- data/lib/rspec/sequel/migration_example_group.rb +43 -0
- data/lib/rspec/sequel/version.rb +5 -0
- data/rspec-sequel.gemspec +30 -0
- data/spec/rspec/sequel/migration_example_group_spec.rb +88 -0
- data/spec/rspec/sequel/test_migration.rb +9 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/support/helpers.rb +26 -0
- data/spec/support/matchers.rb +9 -0
- data/spec/support/postgres.rb +21 -0
- metadata +193 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f0ff2a3c8c1cb80b37128f84fa5708440e4c7257
|
4
|
+
data.tar.gz: b4cb8c94e9751b9f6b9c42c34bdaddb21238097c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 34dcb0569b1c3f07b4d575ccf2ee772ee1d03e332a70ccd3eb0a477b03d9ba2022fe3e1e6ff3dbebf377b88674fad9b891771167c8b02a4596040436b71ba662
|
7
|
+
data.tar.gz: 11f09fa00b5e8c3f532b1ea9455fbbc6fb16f6fe26fd492810fa55ee934d0a2244c7048acf328d01abddc406198142a85e53d286562bc9e7421e3ef26987cece
|
data/.gitignore
ADDED
data/.kateproject
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Conjur Inc.
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# RSpec::Sequel
|
2
|
+
|
3
|
+
Sometimes migrations are less than trivial, especially when they need to transform data instead of just reshaping the database.
|
4
|
+
That makes one justifiably uneasy when it comes to running them; the comfort provided by unit tests wasn't usually present or easy to attain. Until now!
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
gem 'rspec-sequel'
|
11
|
+
|
12
|
+
And then execute:
|
13
|
+
|
14
|
+
$ bundle
|
15
|
+
|
16
|
+
Or install it yourself as:
|
17
|
+
|
18
|
+
$ gem install rspec-sequel
|
19
|
+
|
20
|
+
## Usage
|
21
|
+
|
22
|
+
$ cat spec/migrations/create_users_spec.rb
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
require 'spec_helper'
|
26
|
+
|
27
|
+
describe 'db/migrations/001_create_users.rb' do
|
28
|
+
it "creates the users table" do
|
29
|
+
migrate! :up
|
30
|
+
db.table_exists?(:users).should be_true
|
31
|
+
migrate! :down
|
32
|
+
db.table_exists?(:users).should be_false
|
33
|
+
end
|
34
|
+
end
|
35
|
+
```
|
36
|
+
|
37
|
+
## Credits
|
38
|
+
|
39
|
+
`spec/support/{matchers,helpers}.rb` originally come from [rspec-rails](https://github.com/rspec/rspec-rails).
|
40
|
+
|
41
|
+
## Contributing
|
42
|
+
|
43
|
+
1. Fork it
|
44
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
45
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
46
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
47
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
Feature: migration specs
|
2
|
+
In order to make sure migrations perform as intended
|
3
|
+
The developer should be able to easily spec them
|
4
|
+
|
5
|
+
Scenario: simple passing spec
|
6
|
+
Given a file named "spec/migrations/001_create_users_spec.rb" with:
|
7
|
+
"""ruby
|
8
|
+
require 'spec_helper'
|
9
|
+
|
10
|
+
describe 'db/migrations/001_create_users.rb' do
|
11
|
+
it "creates the users table" do
|
12
|
+
db.table_exists?(:users).should be_false
|
13
|
+
migrate! :up
|
14
|
+
db.table_exists?(:users).should be_true
|
15
|
+
migrate! :down
|
16
|
+
db.table_exists?(:users).should be_false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
"""
|
20
|
+
When I run `rspec spec`
|
21
|
+
Then the example should pass
|
22
|
+
|
23
|
+
Scenario: several examples
|
24
|
+
Given a file named "spec/migrations/001_create_users_spec.rb" with:
|
25
|
+
"""ruby
|
26
|
+
require 'spec_helper'
|
27
|
+
|
28
|
+
describe 'db/migrations/001_create_users.rb' do
|
29
|
+
it "creates the users table" do
|
30
|
+
migrate! :up
|
31
|
+
db.table_exists?(:users).should be_true
|
32
|
+
end
|
33
|
+
|
34
|
+
it "makes an id column in users table" do
|
35
|
+
migrate! :up
|
36
|
+
expect { db[:users].insert(id: 42) } .to_not raise_error
|
37
|
+
end
|
38
|
+
end
|
39
|
+
"""
|
40
|
+
When I run `rspec spec`
|
41
|
+
Then the example should pass
|
@@ -0,0 +1,75 @@
|
|
1
|
+
Feature: postgres schema
|
2
|
+
In order to easily make sure the migrations work in target environment
|
3
|
+
I want to run them on a Postgres database
|
4
|
+
With an explicitly defined schema
|
5
|
+
|
6
|
+
Scenario: schema isolation
|
7
|
+
Given an empty database
|
8
|
+
And a file named "spec/migrations/001_create_users_spec.rb" with:
|
9
|
+
"""ruby
|
10
|
+
require 'spec_helper'
|
11
|
+
|
12
|
+
describe 'db/migrations/001_create_users.rb' do
|
13
|
+
postgres_schema do
|
14
|
+
create_table :users do
|
15
|
+
primary_key :id
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "down" do
|
20
|
+
it "drops the table" do
|
21
|
+
db.table_exists?(:users).should be_true
|
22
|
+
migrate! :down
|
23
|
+
db.table_exists?(:users).should be_false
|
24
|
+
end
|
25
|
+
|
26
|
+
it "drops the table even when there are still records" do
|
27
|
+
db[:users].insert id: 42
|
28
|
+
migrate! :down
|
29
|
+
db.table_exists?(:users).should be_false
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
"""
|
34
|
+
When I run `rspec spec`
|
35
|
+
Then the examples should pass
|
36
|
+
|
37
|
+
Scenario: different schemas in different contexts
|
38
|
+
Given an empty database
|
39
|
+
And a file named "spec/migrations/002_add_users_foo_spec.rb" with:
|
40
|
+
"""ruby
|
41
|
+
require 'spec_helper'
|
42
|
+
|
43
|
+
describe 'db/migrations/002_add_users_foo.rb' do
|
44
|
+
describe "up" do
|
45
|
+
postgres_schema do
|
46
|
+
create_table :users do
|
47
|
+
primary_key :id
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it "adds the foo column" do
|
52
|
+
migrate! :up
|
53
|
+
db[:users].columns.should include(:foo)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "down" do
|
58
|
+
postgres_schema do
|
59
|
+
create_table :users do
|
60
|
+
primary_key :id
|
61
|
+
String :foo
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
it "removes the foo column" do
|
66
|
+
migrate! :down
|
67
|
+
db[:users].columns.should_not include(:foo)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
"""
|
72
|
+
When I run `rspec spec`
|
73
|
+
Then the examples should pass
|
74
|
+
|
75
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'aruba/cucumber'
|
2
|
+
require_relative 'postgres'
|
3
|
+
|
4
|
+
Before do
|
5
|
+
step %q{a file named "spec/spec_helper.rb" with:}, %Q{
|
6
|
+
require 'rspec/sequel'
|
7
|
+
Sequel::connect '#{RSpec::Sequel::Test::postgres.uri}'
|
8
|
+
}
|
9
|
+
|
10
|
+
step %q{a file named "db/migrations/001_create_users.rb" with:}, %q{
|
11
|
+
Sequel.migration do
|
12
|
+
up do
|
13
|
+
create_table :users do
|
14
|
+
primary_key :id
|
15
|
+
end
|
16
|
+
end
|
17
|
+
down do
|
18
|
+
drop_table :users
|
19
|
+
end
|
20
|
+
end
|
21
|
+
}
|
22
|
+
|
23
|
+
step %q{a file named "db/migrations/002_add_users_foo.rb" with:}, %q{
|
24
|
+
Sequel.migration do
|
25
|
+
up do
|
26
|
+
alter_table :users do
|
27
|
+
add_column :foo, String
|
28
|
+
end
|
29
|
+
end
|
30
|
+
down do
|
31
|
+
alter_table :users do
|
32
|
+
drop_column :foo
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
}
|
37
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'sequel'
|
2
|
+
|
3
|
+
module RSpec::Sequel::Test
|
4
|
+
|
5
|
+
def self.postgres
|
6
|
+
@pg_db ||= connect_to_postgres
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
DEFAULT_TEST_DATABASE = 'postgres:///rspec-sequel-test'
|
11
|
+
|
12
|
+
def self.connect_to_postgres
|
13
|
+
test_database = unless ENV['TEST_DATABASE']
|
14
|
+
STDERR.puts "TEST_DATABASE environment variable not found, defaulting to #{DEFAULT_TEST_DATABASE}"
|
15
|
+
DEFAULT_TEST_DATABASE
|
16
|
+
end
|
17
|
+
|
18
|
+
Sequel::connect test_database
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
data/lib/rspec/sequel.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require "rspec/sequel/version"
|
2
|
+
|
3
|
+
require "sequel"
|
4
|
+
require "rspec/core"
|
5
|
+
|
6
|
+
require "rspec/sequel/migration_example_group"
|
7
|
+
|
8
|
+
RSpec::configure do |c|
|
9
|
+
c.include RSpec::Sequel::MigrationExampleGroup, type: :migration,
|
10
|
+
example_group: { file_path: %r{spec/migration} }
|
11
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module RSpec::Sequel
|
2
|
+
module MigrationExampleGroup
|
3
|
+
|
4
|
+
def self.included(base)
|
5
|
+
base.extend ClassMethods
|
6
|
+
base.class_eval do
|
7
|
+
let(:db) { Sequel::connect 'sqlite:/' }
|
8
|
+
let(:migration) { load_migration migration_path }
|
9
|
+
migration_example_group = self
|
10
|
+
basedir = if defined? Rails then Rails.root else Dir.pwd end
|
11
|
+
let(:migration_path) { File.expand_path(migration_example_group.description, basedir) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def migrate! direction
|
16
|
+
migration.apply db, direction
|
17
|
+
end
|
18
|
+
|
19
|
+
module ClassMethods
|
20
|
+
def postgres_schema &block
|
21
|
+
db = Sequel::DATABASES.find { |db| db.database_type == :postgres }
|
22
|
+
raise "Please connect to a Postgres database (eg. in spec_helper) before using ::postgres_schema." unless db
|
23
|
+
db = Sequel.connect(db.opts.merge search_path: ['spec'])
|
24
|
+
db.drop_schema :spec, cascade: true, if_exists: true
|
25
|
+
before(:all) do
|
26
|
+
db.create_schema :spec
|
27
|
+
db.instance_eval &block if block
|
28
|
+
end
|
29
|
+
let(:db) { db }
|
30
|
+
after(:all) { db.drop_schema :spec, cascade: true, if_exists: true }
|
31
|
+
around(:each) { |ex| db.transaction(rollback: :always) { ex.run } }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
def load_migration path
|
37
|
+
Sequel.extension :migration
|
38
|
+
load path
|
39
|
+
Sequel::Migration.descendants.pop
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rspec/sequel/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "rspec-sequel"
|
8
|
+
spec.version = RSpec::Sequel::VERSION
|
9
|
+
spec.authors = ["Rafał Rzepecki"]
|
10
|
+
spec.email = ["rafal@conjur.net"]
|
11
|
+
spec.description = %q{Ever wanted to actually test that tricky migration? rspec-sequel will make it easy.}
|
12
|
+
spec.summary = %q{Easily spec Sequel migrations}
|
13
|
+
spec.homepage = "https://github.com/conjurinc/rspec-sequel"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "sequel", "~> 4.0"
|
22
|
+
spec.add_dependency "rspec", "~> 2.13"
|
23
|
+
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
25
|
+
spec.add_development_dependency "rake", "~> 10.1"
|
26
|
+
spec.add_development_dependency "cucumber", "~> 1.3"
|
27
|
+
spec.add_development_dependency "aruba", "~> 0.5"
|
28
|
+
spec.add_development_dependency "sqlite3", "~> 1.3"
|
29
|
+
spec.add_development_dependency "pg", "~> 0.16"
|
30
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module RSpec::Sequel
|
4
|
+
describe MigrationExampleGroup do
|
5
|
+
|
6
|
+
it { should be_included_in_files_in('./spec/migrations/') }
|
7
|
+
|
8
|
+
let :group do
|
9
|
+
RSpec::Core::ExampleGroup.describe do
|
10
|
+
include MigrationExampleGroup
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:instance) { group.new }
|
15
|
+
|
16
|
+
describe '::db' do
|
17
|
+
it "is an in-memory sqlite db by default" do
|
18
|
+
instance.db.uri.should == 'sqlite:/'
|
19
|
+
end
|
20
|
+
|
21
|
+
it "can be overriden" do
|
22
|
+
group.let(:db) { 'notreallyadb' }
|
23
|
+
instance.db.should == 'notreallyadb'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#migrate!" do
|
28
|
+
it "applies the migration in the proper direction" do
|
29
|
+
migration = double "migration"
|
30
|
+
instance.stub migration: migration, db: 'notreallyadb'
|
31
|
+
|
32
|
+
migration.should_receive(:apply).with('notreallyadb', :dir)
|
33
|
+
instance.migrate! :dir
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "::migration" do
|
38
|
+
it "loads the migration from the migration_path" do
|
39
|
+
instance.stub migration_path: File.expand_path("../test_migration.rb", __FILE__)
|
40
|
+
|
41
|
+
instance.migration.up.call.should == "I'm up!"
|
42
|
+
instance.migration.down.call.should == "I'm down!"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "::migration_path" do
|
47
|
+
it "defaults to the group title" do
|
48
|
+
group.stub description: 'some/migration/path'
|
49
|
+
instance.migration_path.should == "#{Dir.pwd}/some/migration/path"
|
50
|
+
end
|
51
|
+
|
52
|
+
it "uses the Rails root if available" do
|
53
|
+
stub_const 'Rails', double(root: '/railroot')
|
54
|
+
group.stub description: 'some/migration/path'
|
55
|
+
instance.migration_path.should == "/railroot/some/migration/path"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "::postgres_schema" do
|
60
|
+
let(:postgres) { RSpec::Sequel::Test::postgres }
|
61
|
+
|
62
|
+
it "connects to the same database as the model, only with 'spec' schema" do
|
63
|
+
stub_const 'Sequel::DATABASES', [postgres]
|
64
|
+
group.postgres_schema
|
65
|
+
instance.db.opts.but(:orig_opts).should == postgres.opts.merge(search_path: %w(spec)).but(:orig_opts)
|
66
|
+
end
|
67
|
+
|
68
|
+
it "runs the code inside on the database with a clean schema before running the context" do
|
69
|
+
stub_const 'Sequel::DATABASES', [postgres]
|
70
|
+
group.postgres_schema do
|
71
|
+
create_table :some_table do
|
72
|
+
primary_key :id
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
postgres.table_exists?(:spec__some_table).should be_false
|
77
|
+
|
78
|
+
group.example { postgres.table_exists?(:spec__some_table).should be_true }
|
79
|
+
reporter = RSpec::Core::Reporter.new
|
80
|
+
reporter.should_receive :example_passed
|
81
|
+
group.run(reporter)
|
82
|
+
|
83
|
+
postgres.table_exists?(:spec__some_table).should be_false
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
module Helpers
|
2
|
+
def stub_metadata(additional_metadata)
|
3
|
+
stub_metadata = metadata_with(additional_metadata)
|
4
|
+
RSpec::Core::ExampleGroup.stub(:metadata) { stub_metadata }
|
5
|
+
end
|
6
|
+
|
7
|
+
def metadata_with(additional_metadata)
|
8
|
+
m = RSpec::Core::Metadata.new
|
9
|
+
m.process("example group")
|
10
|
+
|
11
|
+
group_metadata = additional_metadata.delete(:example_group)
|
12
|
+
if group_metadata
|
13
|
+
m[:example_group].merge!(group_metadata)
|
14
|
+
end
|
15
|
+
m.merge!(additional_metadata)
|
16
|
+
m
|
17
|
+
end
|
18
|
+
|
19
|
+
RSpec.configure {|c| c.include self}
|
20
|
+
end
|
21
|
+
|
22
|
+
class Hash
|
23
|
+
def but key
|
24
|
+
select {|k, _| k != key }
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'sequel'
|
2
|
+
|
3
|
+
module RSpec::Sequel::Test
|
4
|
+
|
5
|
+
def self.postgres
|
6
|
+
@pg_db ||= connect_to_postgres
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
DEFAULT_TEST_DATABASE = 'postgres:///rspec-sequel-test'
|
11
|
+
|
12
|
+
def self.connect_to_postgres
|
13
|
+
test_database = unless ENV['TEST_DATABASE']
|
14
|
+
STDERR.puts "TEST_DATABASE environment variable not found, defaulting to #{DEFAULT_TEST_DATABASE}"
|
15
|
+
DEFAULT_TEST_DATABASE
|
16
|
+
end
|
17
|
+
|
18
|
+
Sequel::connect test_database
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rspec-sequel
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Rafał Rzepecki
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-09-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sequel
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.13'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.13'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: cucumber
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.3'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.3'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: aruba
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.5'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.5'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sqlite3
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.3'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.3'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pg
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.16'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.16'
|
125
|
+
description: Ever wanted to actually test that tricky migration? rspec-sequel will
|
126
|
+
make it easy.
|
127
|
+
email:
|
128
|
+
- rafal@conjur.net
|
129
|
+
executables: []
|
130
|
+
extensions: []
|
131
|
+
extra_rdoc_files: []
|
132
|
+
files:
|
133
|
+
- .gitignore
|
134
|
+
- .kateproject
|
135
|
+
- .rspec
|
136
|
+
- .travis.yml
|
137
|
+
- Gemfile
|
138
|
+
- LICENSE.txt
|
139
|
+
- README.md
|
140
|
+
- Rakefile
|
141
|
+
- features/migration_specs.feature
|
142
|
+
- features/postgres_schema.feature
|
143
|
+
- features/step_definitions/database_steps.rb
|
144
|
+
- features/step_definitions/examples_passing_steps.rb
|
145
|
+
- features/support/env.rb
|
146
|
+
- features/support/postgres.rb
|
147
|
+
- lib/rspec/sequel.rb
|
148
|
+
- lib/rspec/sequel/migration_example_group.rb
|
149
|
+
- lib/rspec/sequel/version.rb
|
150
|
+
- rspec-sequel.gemspec
|
151
|
+
- spec/rspec/sequel/migration_example_group_spec.rb
|
152
|
+
- spec/rspec/sequel/test_migration.rb
|
153
|
+
- spec/spec_helper.rb
|
154
|
+
- spec/support/helpers.rb
|
155
|
+
- spec/support/matchers.rb
|
156
|
+
- spec/support/postgres.rb
|
157
|
+
homepage: https://github.com/conjurinc/rspec-sequel
|
158
|
+
licenses:
|
159
|
+
- MIT
|
160
|
+
metadata: {}
|
161
|
+
post_install_message:
|
162
|
+
rdoc_options: []
|
163
|
+
require_paths:
|
164
|
+
- lib
|
165
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - '>='
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0'
|
170
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
175
|
+
requirements: []
|
176
|
+
rubyforge_project:
|
177
|
+
rubygems_version: 2.0.3
|
178
|
+
signing_key:
|
179
|
+
specification_version: 4
|
180
|
+
summary: Easily spec Sequel migrations
|
181
|
+
test_files:
|
182
|
+
- features/migration_specs.feature
|
183
|
+
- features/postgres_schema.feature
|
184
|
+
- features/step_definitions/database_steps.rb
|
185
|
+
- features/step_definitions/examples_passing_steps.rb
|
186
|
+
- features/support/env.rb
|
187
|
+
- features/support/postgres.rb
|
188
|
+
- spec/rspec/sequel/migration_example_group_spec.rb
|
189
|
+
- spec/rspec/sequel/test_migration.rb
|
190
|
+
- spec/spec_helper.rb
|
191
|
+
- spec/support/helpers.rb
|
192
|
+
- spec/support/matchers.rb
|
193
|
+
- spec/support/postgres.rb
|