jets 1.4.10 → 1.4.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitmodules +0 -3
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +6 -2
- data/lib/jets/application.rb +4 -0
- data/lib/jets/commands/templates/skeleton/Gemfile.tt +1 -0
- data/lib/jets/db.rb +11 -5
- data/lib/jets/resource/lambda/function.rb +7 -1
- data/lib/jets/version.rb +1 -1
- data/lib/jets.rb +0 -7
- data/vendor/jets-gems/lib/jets/gems/check.rb +2 -2
- metadata +2 -41
- data/vendor/dynomite/CHANGELOG.md +0 -45
- data/vendor/dynomite/Gemfile +0 -6
- data/vendor/dynomite/Gemfile.lock +0 -61
- data/vendor/dynomite/README.md +0 -141
- data/vendor/dynomite/Rakefile +0 -2
- data/vendor/dynomite/bin/console +0 -14
- data/vendor/dynomite/bin/setup +0 -8
- data/vendor/dynomite/docs/migrations/long-example.rb +0 -123
- data/vendor/dynomite/docs/migrations/short-example.rb +0 -40
- data/vendor/dynomite/dynomite.gemspec +0 -29
- data/vendor/dynomite/lib/dynomite/core.rb +0 -25
- data/vendor/dynomite/lib/dynomite/db_config.rb +0 -107
- data/vendor/dynomite/lib/dynomite/erb.rb +0 -53
- data/vendor/dynomite/lib/dynomite/item.rb +0 -292
- data/vendor/dynomite/lib/dynomite/log.rb +0 -15
- data/vendor/dynomite/lib/dynomite/migration/common.rb +0 -86
- data/vendor/dynomite/lib/dynomite/migration/dsl/base_secondary_index.rb +0 -73
- data/vendor/dynomite/lib/dynomite/migration/dsl/global_secondary_index.rb +0 -4
- data/vendor/dynomite/lib/dynomite/migration/dsl/local_secondary_index.rb +0 -8
- data/vendor/dynomite/lib/dynomite/migration/dsl.rb +0 -194
- data/vendor/dynomite/lib/dynomite/migration/executor.rb +0 -38
- data/vendor/dynomite/lib/dynomite/migration/generator.rb +0 -68
- data/vendor/dynomite/lib/dynomite/migration/templates/create_table.rb +0 -32
- data/vendor/dynomite/lib/dynomite/migration/templates/update_table.rb +0 -26
- data/vendor/dynomite/lib/dynomite/migration.rb +0 -27
- data/vendor/dynomite/lib/dynomite/version.rb +0 -3
- data/vendor/dynomite/lib/dynomite.rb +0 -23
- data/vendor/dynomite/pkg/dynomite-1.0.8.gem +0 -0
- data/vendor/dynomite/pkg/dynomite-1.0.9.gem +0 -0
- data/vendor/dynomite/pkg/dynomite-1.1.0.gem +0 -0
- data/vendor/dynomite/spec/fixtures/app_root/config/dynamodb.yml +0 -7
- data/vendor/dynomite/spec/fixtures/dynamodb/migrate/20190108061826-comments_migration.rb +0 -30
- data/vendor/dynomite/spec/lib/dynomite/item_spec.rb +0 -102
- data/vendor/dynomite/spec/lib/dynomite/migration/dsl/global_secondary_index_spec.rb +0 -106
- data/vendor/dynomite/spec/lib/dynomite/migration/dsl/local_secondary_index_spec.rb +0 -71
- data/vendor/dynomite/spec/lib/dynomite/migration/dsl_spec.rb +0 -76
- data/vendor/dynomite/spec/lib/dynomite/migration/generator_spec.rb +0 -23
- data/vendor/dynomite/spec/lib/dynomite/migration_spec.rb +0 -60
- data/vendor/dynomite/spec/spec_helper.rb +0 -110
@@ -1,106 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
GSI = Dynomite::Migration::Dsl::GlobalSecondaryIndex
|
4
|
-
|
5
|
-
describe GSI do
|
6
|
-
context "create index" do
|
7
|
-
let(:index) do
|
8
|
-
Dynomite::Migration::Dsl.db = double("db").as_null_object
|
9
|
-
GSI.new(:create)
|
10
|
-
end
|
11
|
-
|
12
|
-
# Supports this DSL, the `i` variable passed to the block is the
|
13
|
-
# Dsl::GlobalSecondaryIndex instance
|
14
|
-
#
|
15
|
-
# class UpdateCommentsMigration < Dynomite::Migration
|
16
|
-
# def up
|
17
|
-
# update_table :comments do |t|
|
18
|
-
# t.partition_key "post_id:string" # required
|
19
|
-
# t.sort_key "created_at:string" # optional
|
20
|
-
# t.provisioned_throughput(5) # sets both read and write
|
21
|
-
# end
|
22
|
-
# end
|
23
|
-
# end
|
24
|
-
it "build up the dsl in memory" do
|
25
|
-
index.partition_key "id:string" # required
|
26
|
-
index.sort_key "created_at:string" # optional
|
27
|
-
index.provisioned_throughput(30)
|
28
|
-
|
29
|
-
expect(index.key_schema).to eq([
|
30
|
-
{:attribute_name=>"id", :key_type=>"HASH"},
|
31
|
-
{:attribute_name=>"created_at", :key_type=>"RANGE"}])
|
32
|
-
expect(index.attribute_definitions).to eq([
|
33
|
-
{:attribute_name=>"id", :attribute_type=>"S"},
|
34
|
-
{:attribute_name=>"created_at", :attribute_type=>"S"}])
|
35
|
-
expect(index.provisioned_throughput).to eq(
|
36
|
-
:read_capacity_units=>30,
|
37
|
-
:write_capacity_units=>30
|
38
|
-
)
|
39
|
-
end
|
40
|
-
|
41
|
-
context "parititon_key provided only" do
|
42
|
-
it "index_name" do
|
43
|
-
index.partition_key "post_id:string" # required
|
44
|
-
expect(index.params[:index_name]).to eq("post_id-index")
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
context "parititon_key and sort_key provided" do
|
49
|
-
it "index_name" do
|
50
|
-
index.partition_key "post_id:string" # required
|
51
|
-
index.sort_key "created_at:string" # optional
|
52
|
-
expect(index.params[:index_name]).to eq("post_id-created_at-index")
|
53
|
-
|
54
|
-
expect(index.params).to eq({
|
55
|
-
:index_name=>"post_id-created_at-index",
|
56
|
-
:key_schema=>[
|
57
|
-
{:attribute_name=>"post_id", :key_type=>"HASH"},
|
58
|
-
{:attribute_name=>"created_at", :key_type=>"RANGE"}],
|
59
|
-
:projection=>{:projection_type=>"ALL"},
|
60
|
-
:provisioned_throughput=> {:read_capacity_units=>5, :write_capacity_units=>5}
|
61
|
-
})
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
it "execute uses what the dsl methods built up in memory and translates it dynmaodb params that then get used to execute and run the command" do
|
66
|
-
index.partition_key "id:string" # required
|
67
|
-
index.sort_key "created_at:string" # optional
|
68
|
-
index.provisioned_throughput(30)
|
69
|
-
# index.execute # TODO: index.execute in here
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
context "update index" do
|
74
|
-
let(:index) do
|
75
|
-
Dynomite::Migration::Dsl.db = double("db").as_null_object
|
76
|
-
GSI.new(:update) do |i|
|
77
|
-
i.index_name = "update-me-index"
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
it "only sets the index_name and provisioned_throughput params keys" do
|
82
|
-
index.provisioned_throughput(8)
|
83
|
-
params = index.params
|
84
|
-
expect(params[:provisioned_throughput]).to eq({:read_capacity_units=>8, :write_capacity_units=>8})
|
85
|
-
expect(params[:index_name]).not_to be nil
|
86
|
-
expect(params[:key_schema]).to be nil
|
87
|
-
expect(params[:projection]).to be nil
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
context "delete index" do
|
92
|
-
let(:index) do
|
93
|
-
Dynomite::Migration::Dsl.db = double("db").as_null_object
|
94
|
-
GSI.new(:delete, "delete-me-index")
|
95
|
-
end
|
96
|
-
|
97
|
-
it "only sets the index_name" do
|
98
|
-
index.provisioned_throughput(8)
|
99
|
-
params = index.params
|
100
|
-
expect(params[:index_name]).not_to be nil
|
101
|
-
expect(params[:provisioned_throughput]).to be nil
|
102
|
-
expect(params[:key_schema]).to be nil
|
103
|
-
expect(params[:projection]).to be nil
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
@@ -1,71 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
LSI = Dynomite::Migration::Dsl::LocalSecondaryIndex
|
4
|
-
|
5
|
-
describe LSI do
|
6
|
-
context "create index" do
|
7
|
-
let(:index) do
|
8
|
-
Dynomite::Migration::Dsl.db = double("db").as_null_object
|
9
|
-
LSI.new
|
10
|
-
end
|
11
|
-
|
12
|
-
# Supports this DSL, the `i` variable passed to the block is the
|
13
|
-
# Dsl::GlobalSecondaryIndex instance
|
14
|
-
#
|
15
|
-
# class UpdateCommentsMigration < Dynomite::Migration
|
16
|
-
# def up
|
17
|
-
# update_table :comments do |t|
|
18
|
-
# t.partition_key "post_id:string" # required
|
19
|
-
# t.sort_key "created_at:string" # optional
|
20
|
-
# t.provisioned_throughput(5) # sets both read and write
|
21
|
-
# end
|
22
|
-
# end
|
23
|
-
# end
|
24
|
-
it "build up the dsl in memory" do
|
25
|
-
index.partition_key "id:string" # required
|
26
|
-
index.sort_key "created_at:string" # optional
|
27
|
-
index.provisioned_throughput(30)
|
28
|
-
|
29
|
-
expect(index.key_schema).to eq([
|
30
|
-
{:attribute_name=>"id", :key_type=>"HASH"},
|
31
|
-
{:attribute_name=>"created_at", :key_type=>"RANGE"}])
|
32
|
-
expect(index.attribute_definitions).to eq([
|
33
|
-
{:attribute_name=>"id", :attribute_type=>"S"},
|
34
|
-
{:attribute_name=>"created_at", :attribute_type=>"S"}])
|
35
|
-
expect(index.provisioned_throughput).to eq(
|
36
|
-
:read_capacity_units=>30,
|
37
|
-
:write_capacity_units=>30
|
38
|
-
)
|
39
|
-
end
|
40
|
-
|
41
|
-
context "parititon_key provided only" do
|
42
|
-
it "index_name" do
|
43
|
-
index.partition_key "post_id:string" # required
|
44
|
-
expect(index.params[:index_name]).to eq("post_id-index")
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
context "parititon_key and sort_key provided" do
|
49
|
-
it "index_name" do
|
50
|
-
index.partition_key "post_id:string" # required
|
51
|
-
index.sort_key "created_at:string" # optional
|
52
|
-
expect(index.params[:index_name]).to eq("post_id-created_at-index")
|
53
|
-
|
54
|
-
expect(index.params).to eq({
|
55
|
-
:index_name=>"post_id-created_at-index",
|
56
|
-
:key_schema=>[
|
57
|
-
{:attribute_name=>"post_id", :key_type=>"HASH"},
|
58
|
-
{:attribute_name=>"created_at", :key_type=>"RANGE"}],
|
59
|
-
:projection=>{:projection_type=>"ALL"}
|
60
|
-
})
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
it "execute uses what the dsl methods built up in memory and translates it dynmaodb params that then get used to execute and run the command" do
|
65
|
-
index.partition_key "id:string" # required
|
66
|
-
index.sort_key "created_at:string" # optional
|
67
|
-
index.provisioned_throughput(30)
|
68
|
-
# index.execute # TODO: index.execute in here
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Dynomite::Migration::Dsl do
|
4
|
-
# Supports this DSL, the `t` variable passed to the block is the Dsl instance
|
5
|
-
#
|
6
|
-
# class CreateCommentsMigration < Dynomite::Migration
|
7
|
-
# def up
|
8
|
-
# create_table :comments do |t|
|
9
|
-
# t.partition_key "post_id:string" # required
|
10
|
-
# t.sort_key "created_at:string" # optional
|
11
|
-
# t.provisioned_throughput(5) # sets both read and write, defaults to 5 when not set
|
12
|
-
# end
|
13
|
-
# end
|
14
|
-
# end
|
15
|
-
context "create_table" do
|
16
|
-
let(:dsl) do
|
17
|
-
Dynomite::Migration::Dsl.db = double("db").as_null_object
|
18
|
-
Dynomite::Migration::Dsl.new(:create_table, "posts")
|
19
|
-
end
|
20
|
-
|
21
|
-
it "build up the dsl in memory" do
|
22
|
-
dsl.partition_key "id:string" # required
|
23
|
-
dsl.sort_key "created_at:string" # optional
|
24
|
-
dsl.provisioned_throughput(25)
|
25
|
-
|
26
|
-
expect(dsl.key_schema).to eq([
|
27
|
-
{:attribute_name=>"id", :key_type=>"HASH"},
|
28
|
-
{:attribute_name=>"created_at", :key_type=>"RANGE"}])
|
29
|
-
expect(dsl.attribute_definitions).to eq([
|
30
|
-
{:attribute_name=>"id", :attribute_type=>"S"},
|
31
|
-
{:attribute_name=>"created_at", :attribute_type=>"S"}])
|
32
|
-
expect(dsl.provisioned_throughput).to eq(
|
33
|
-
:read_capacity_units=>25,
|
34
|
-
:write_capacity_units=>25
|
35
|
-
)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
context "update_table" do
|
40
|
-
let(:dsl) do
|
41
|
-
Dynomite::Migration::Dsl.new(:update_table, "comments")
|
42
|
-
end
|
43
|
-
|
44
|
-
it "builds up the gsi index params" do
|
45
|
-
dsl.provisioned_throughput(18)
|
46
|
-
allow(dsl).to receive(:gsi_attribute_definitions).and_return([])
|
47
|
-
|
48
|
-
dsl.gsi(:create) do |i|
|
49
|
-
i.partition_key "post_id:string"
|
50
|
-
i.sort_key "updated_at:string" # optional
|
51
|
-
end
|
52
|
-
dsl.gsi(:update, "another-index") do |i|
|
53
|
-
i.provisioned_throughput(8)
|
54
|
-
end
|
55
|
-
dsl.gsi(:delete, "old-index")
|
56
|
-
|
57
|
-
params = dsl.params
|
58
|
-
# pp params # uncomment out to inspect params
|
59
|
-
# attribute_definitions is a Double because we've mocked out:
|
60
|
-
# Dynomite::Migration::Dsl.db = double("db").as_null_object
|
61
|
-
expect(params.key?(:attribute_definitions)).to be true
|
62
|
-
expect(params.key?(:global_secondary_index_updates)).to be true
|
63
|
-
global_secondary_index_updates = params[:global_secondary_index_updates]
|
64
|
-
index_actions = global_secondary_index_updates.map {|hash| hash.keys.first }
|
65
|
-
expect(index_actions.sort).to eq([:create, :update, :delete].sort)
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
# it "execute uses what the dsl methods built up in memory and translates it dynmaodb params that then get used to execute and run the command" do
|
70
|
-
# dsl.partition_key "id:string" # required
|
71
|
-
# dsl.sort_key "created_at:string" # optional
|
72
|
-
# dsl.provisioned_throughput(25)
|
73
|
-
# # dsl.execute # TODO: dsl.execute in here
|
74
|
-
# end
|
75
|
-
end
|
76
|
-
|
@@ -1,23 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Dynomite::Migration::Generator do
|
4
|
-
before(:each) do
|
5
|
-
FileUtils.rm_rf("#{Dynomite.app_root}dynamodb/migrate")
|
6
|
-
end
|
7
|
-
|
8
|
-
let(:generator) do
|
9
|
-
Dynomite::Migration::Generator.new("comments",
|
10
|
-
partition_key: "post_id:string",
|
11
|
-
sort_key: "created_at:string",
|
12
|
-
quiet: true
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
it "generates migration file in dynamodb/migrate" do
|
17
|
-
generator.generate
|
18
|
-
|
19
|
-
migration_path = Dir.glob("#{Dynomite.app_root}dynamodb/migrate/*").first
|
20
|
-
migration_exist = File.exist?(migration_path)
|
21
|
-
expect(migration_exist).to be true
|
22
|
-
end
|
23
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
class CreateCommentsMigration < Dynomite::Migration
|
4
|
-
def up
|
5
|
-
create_table :comments do |t|
|
6
|
-
t.partition_key "post_id:string" # required
|
7
|
-
t.sort_key "created_at:string" # optional
|
8
|
-
t.provisioned_throughput(5) # sets both read and write, defaults to 5 when not set
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
class UpdateCommentsMigration < Dynomite::Migration
|
14
|
-
def up
|
15
|
-
update_table :comments do |t|
|
16
|
-
# NOTE: You cannot update provisioned_throughput at the same time as creating
|
17
|
-
# an GSI
|
18
|
-
# t.provisioned_throughput(7) # sets both read and write, defaults to 5 when not set
|
19
|
-
t.gsi(:create) do |i|
|
20
|
-
i.partition_key "post_id:string"
|
21
|
-
i.sort_key "updated_at:string" # optional
|
22
|
-
i.provisioned_throughput(8)
|
23
|
-
end
|
24
|
-
# t.gsi(:update, "update-me-index") do |i|
|
25
|
-
# i.provisioned_throughput(9)
|
26
|
-
# end
|
27
|
-
# t.gsi(:delete, "delete-me-index")
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe Dynomite::Migration do
|
33
|
-
context "mocked db" do
|
34
|
-
before(:each) { Dynomite::Migration::Dsl.db = db }
|
35
|
-
let(:db) { double(:db) }
|
36
|
-
let(:null) { double(:null).as_null_object }
|
37
|
-
|
38
|
-
it "executes the migration" do
|
39
|
-
allow(db).to receive(:create_table).and_return(null)
|
40
|
-
|
41
|
-
CreateCommentsMigration.new.up
|
42
|
-
|
43
|
-
expect(db).to have_received(:create_table)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
# To test dynamodb endpoint configured in config/dynamodb.yml uncomment the code
|
48
|
-
# you want to test and run:
|
49
|
-
#
|
50
|
-
# LIVE=1 rspec spec/lib/dynomite/migration_spec.rb -e 'live db'
|
51
|
-
#
|
52
|
-
context "live db" do
|
53
|
-
before(:each) { Dynomite::Item.db = nil } # setting to nil will clear out mock and force it to load AWS
|
54
|
-
it "executes the migration" do
|
55
|
-
CreateCommentsMigration.new.up # uncomment to test
|
56
|
-
# UpdateCommentsMigration.new.up # uncomment to test
|
57
|
-
end
|
58
|
-
end if ENV['LIVE']
|
59
|
-
end
|
60
|
-
|
@@ -1,110 +0,0 @@
|
|
1
|
-
ENV['DYNOMITE_ENV'] = 'test'
|
2
|
-
ENV['DYNOMITE_CONFIG'] = 'spec/fixtures/app_root/config/dynamodb.yml'
|
3
|
-
ENV['JETS_ROOT'] = 'spec/fixtures'
|
4
|
-
|
5
|
-
root = File.expand_path("../../", __FILE__)
|
6
|
-
require "#{root}/lib/dynomite"
|
7
|
-
|
8
|
-
require "pp"
|
9
|
-
require "fileutils"
|
10
|
-
|
11
|
-
# This file was generated by the `rspec --init` command. Conventionally, all
|
12
|
-
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
13
|
-
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
14
|
-
# this file to always be loaded, without a need to explicitly require it in any
|
15
|
-
# files.
|
16
|
-
#
|
17
|
-
# Given that it is always loaded, you are encouraged to keep this file as
|
18
|
-
# light-weight as possible. Requiring heavyweight dependencies from this file
|
19
|
-
# will add to the boot time of your test suite on EVERY test run, even for an
|
20
|
-
# individual file that may not need all of that loaded. Instead, consider making
|
21
|
-
# a separate helper file that requires the additional dependencies and performs
|
22
|
-
# the additional setup, and require it from the spec files that actually need
|
23
|
-
# it.
|
24
|
-
#
|
25
|
-
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
26
|
-
RSpec.configure do |config|
|
27
|
-
# rspec-expectations config goes here. You can use an alternate
|
28
|
-
# assertion/expectation library such as wrong or the stdlib/minitest
|
29
|
-
# assertions if you prefer.
|
30
|
-
config.expect_with :rspec do |expectations|
|
31
|
-
# This option will default to `true` in RSpec 4. It makes the `description`
|
32
|
-
# and `failure_message` of custom matchers include text for helper methods
|
33
|
-
# defined using `chain`, e.g.:
|
34
|
-
# be_bigger_than(2).and_smaller_than(4).description
|
35
|
-
# # => "be bigger than 2 and smaller than 4"
|
36
|
-
# ...rather than:
|
37
|
-
# # => "be bigger than 2"
|
38
|
-
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
39
|
-
end
|
40
|
-
|
41
|
-
# rspec-mocks config goes here. You can use an alternate test double
|
42
|
-
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
43
|
-
config.mock_with :rspec do |mocks|
|
44
|
-
# Prevents you from mocking or stubbing a method that does not exist on
|
45
|
-
# a real object. This is generally recommended, and will default to
|
46
|
-
# `true` in RSpec 4.
|
47
|
-
mocks.verify_partial_doubles = true
|
48
|
-
end
|
49
|
-
|
50
|
-
# This option will default to `:apply_to_host_groups` in RSpec 4 (and will
|
51
|
-
# have no way to turn it off -- the option exists only for backwards
|
52
|
-
# compatibility in RSpec 3). It causes shared context metadata to be
|
53
|
-
# inherited by the metadata hash of host groups and examples, rather than
|
54
|
-
# triggering implicit auto-inclusion in groups with matching metadata.
|
55
|
-
config.shared_context_metadata_behavior = :apply_to_host_groups
|
56
|
-
|
57
|
-
# The settings below are suggested to provide a good initial experience
|
58
|
-
# with RSpec, but feel free to customize to your heart's content.
|
59
|
-
=begin
|
60
|
-
# This allows you to limit a spec run to individual examples or groups
|
61
|
-
# you care about by tagging them with `:focus` metadata. When nothing
|
62
|
-
# is tagged with `:focus`, all examples get run. RSpec also provides
|
63
|
-
# aliases for `it`, `describe`, and `context` that include `:focus`
|
64
|
-
# metadata: `fit`, `fdescribe` and `fcontext`, respectively.
|
65
|
-
config.filter_run_when_matching :focus
|
66
|
-
|
67
|
-
# Allows RSpec to persist some state between runs in order to support
|
68
|
-
# the `--only-failures` and `--next-failure` CLI options. We recommend
|
69
|
-
# you configure your source control system to ignore this file.
|
70
|
-
config.example_status_persistence_file_path = "spec/examples.txt"
|
71
|
-
|
72
|
-
# Limits the available syntax to the non-monkey patched syntax that is
|
73
|
-
# recommended. For more details, see:
|
74
|
-
# - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/
|
75
|
-
# - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
|
76
|
-
# - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode
|
77
|
-
config.disable_monkey_patching!
|
78
|
-
|
79
|
-
# This setting enables warnings. It's recommended, but in some cases may
|
80
|
-
# be too noisy due to issues in dependencies.
|
81
|
-
config.warnings = true
|
82
|
-
|
83
|
-
# Many RSpec users commonly either run the entire suite or an individual
|
84
|
-
# file, and it's useful to allow more verbose output when running an
|
85
|
-
# individual spec file.
|
86
|
-
if config.files_to_run.one?
|
87
|
-
# Use the documentation formatter for detailed output,
|
88
|
-
# unless a formatter has already been configured
|
89
|
-
# (e.g. via a command-line flag).
|
90
|
-
config.default_formatter = "doc"
|
91
|
-
end
|
92
|
-
|
93
|
-
# Print the 10 slowest examples and example groups at the
|
94
|
-
# end of the spec run, to help surface which specs are running
|
95
|
-
# particularly slow.
|
96
|
-
config.profile_examples = 10
|
97
|
-
|
98
|
-
# Run specs in random order to surface order dependencies. If you find an
|
99
|
-
# order dependency and want to debug it, you can fix the order by providing
|
100
|
-
# the seed, which is printed after each run.
|
101
|
-
# --seed 1234
|
102
|
-
config.order = :random
|
103
|
-
|
104
|
-
# Seed global randomization in this process using the `--seed` CLI option.
|
105
|
-
# Setting this allows you to use `--seed` to deterministically reproduce
|
106
|
-
# test failures related to randomization by passing the same `--seed` value
|
107
|
-
# as the one that triggered the failure.
|
108
|
-
Kernel.srand config.seed
|
109
|
-
=end
|
110
|
-
end
|