dredd_hooks 0.0.1 → 0.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +38 -0
- data/LICENSE.txt +3 -3
- data/README.md +100 -26
- data/Rakefile +31 -0
- data/bin/dredd-hooks-ruby +3 -13
- data/doc/README.md +26 -0
- data/features/execution_order.feature +9 -8
- data/features/failing_transaction.feature +1 -0
- data/features/hook_handlers.feature +1 -0
- data/features/multiple_hookfiles.feature +4 -1
- data/features/support/env.rb +2 -5
- data/lib/dredd_hooks.rb +4 -5
- data/lib/dredd_hooks/cli.rb +18 -0
- data/lib/dredd_hooks/definitions.rb +30 -0
- data/lib/dredd_hooks/errors.rb +15 -0
- data/lib/dredd_hooks/file_loader.rb +12 -10
- data/lib/dredd_hooks/methods.rb +43 -37
- data/lib/dredd_hooks/runner.rb +113 -56
- data/lib/dredd_hooks/server.rb +53 -63
- data/lib/dredd_hooks/server/buffer.rb +49 -0
- data/lib/dredd_hooks/server/events_handler.rb +33 -0
- data/lib/dredd_hooks/version.rb +1 -1
- data/spec/integration/definitions_consistency_spec.rb +38 -0
- data/spec/lib/dredd_hooks/methods_spec.rb +62 -0
- data/spec/lib/dredd_hooks/runner_spec.rb +41 -0
- data/spec/lib/dredd_hooks/server/buffer_spec.rb +58 -0
- data/spec/lib/dredd_hooks/server/events_handler_spec.rb +50 -0
- data/spec/spec_helper.rb +35 -0
- metadata +41 -25
- data/.gitignore +0 -15
- data/.travis.yml +0 -9
- data/dredd_hooks.gemspec +0 -25
- data/features/tcp_server.feature +0 -66
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
3
|
+
module DreddHooks
|
4
|
+
class Server
|
5
|
+
|
6
|
+
# Store JSON messages or part of them
|
7
|
+
class Buffer
|
8
|
+
|
9
|
+
def initialize(message_delimiter)
|
10
|
+
flush!
|
11
|
+
@message_delimiter = message_delimiter
|
12
|
+
end
|
13
|
+
|
14
|
+
# Empty the buffer.
|
15
|
+
#
|
16
|
+
# Returns the buffer content String.
|
17
|
+
def flush!
|
18
|
+
content = @content
|
19
|
+
@content = ""
|
20
|
+
content
|
21
|
+
end
|
22
|
+
|
23
|
+
def <<(string)
|
24
|
+
@content += string
|
25
|
+
end
|
26
|
+
|
27
|
+
def any_message?
|
28
|
+
@content.include? @message_delimiter
|
29
|
+
end
|
30
|
+
|
31
|
+
def unshift_messages
|
32
|
+
flush!.
|
33
|
+
split(@message_delimiter).
|
34
|
+
inject([]) { |messages, message|
|
35
|
+
begin
|
36
|
+
messages.push JSON.parse(message)
|
37
|
+
rescue JSON::ParserError
|
38
|
+
# If the message after the delimiter is not parseable JSON,
|
39
|
+
# then it's a chunk of the next message, and should be put back
|
40
|
+
# into the buffer.
|
41
|
+
@content += message
|
42
|
+
messages
|
43
|
+
end
|
44
|
+
}
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'dredd_hooks/definitions'
|
2
|
+
require 'dredd_hooks/errors'
|
3
|
+
require 'dredd_hooks/runner'
|
4
|
+
|
5
|
+
module DreddHooks
|
6
|
+
|
7
|
+
class Server
|
8
|
+
class EventsHandler
|
9
|
+
|
10
|
+
attr_reader :events, :runner
|
11
|
+
private :events, :runner
|
12
|
+
|
13
|
+
def initialize(events=EVENTS, runner=Runner.instance)
|
14
|
+
@events = events
|
15
|
+
@runner = runner
|
16
|
+
end
|
17
|
+
|
18
|
+
def handle(event, transaction)
|
19
|
+
|
20
|
+
events.fetch(event.to_sym, []).each do |hook_name|
|
21
|
+
begin
|
22
|
+
transaction = runner.send("run_#{hook_name}_hooks_for_transaction", transaction)
|
23
|
+
rescue NoMethodError
|
24
|
+
raise UnknownHookError.new(hook_name)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
transaction
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
data/lib/dredd_hooks/version.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module DreddHooks
|
4
|
+
describe 'All the defined hooks', protected: true do
|
5
|
+
|
6
|
+
DEFINED_HOOKS = HOOKS_ON_SINGLE_TRANSACTIONS + HOOKS_ON_MULTIPLE_TRANSACTIONS
|
7
|
+
|
8
|
+
describe 'are runned on least one event' do
|
9
|
+
|
10
|
+
let(:hooks_in_use) { Server::EVENTS.map{ |_event, hooks| hooks }.flatten.uniq }
|
11
|
+
|
12
|
+
DEFINED_HOOKS.each do |hook_name|
|
13
|
+
it ":#{hook_name} is refered to by at least one event" do
|
14
|
+
expect(hooks_in_use).to include(hook_name)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe 'DreddHooks events definition', protected: true do
|
22
|
+
|
23
|
+
describe 'only refers to hooks that are already defined' do
|
24
|
+
|
25
|
+
let(:defined_hooks) { HOOKS_ON_SINGLE_TRANSACTIONS + HOOKS_ON_MULTIPLE_TRANSACTIONS }
|
26
|
+
|
27
|
+
Server::EVENTS.each do |_event, hook_names|
|
28
|
+
hook_names.each do |hook_name|
|
29
|
+
it ":#{hook_name} is defined" do
|
30
|
+
expect(defined_hooks).to include(hook_name)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'dredd_hooks/methods'
|
4
|
+
|
5
|
+
module DreddHooks
|
6
|
+
|
7
|
+
class DummyHooksFile
|
8
|
+
include DreddHooks::Methods
|
9
|
+
end
|
10
|
+
|
11
|
+
describe Methods do
|
12
|
+
|
13
|
+
let(:hooks_file) { DummyHooksFile.new }
|
14
|
+
|
15
|
+
describe 'exposes the Ruby hooks DSL', public: true do
|
16
|
+
|
17
|
+
it 'defines #before' do
|
18
|
+
expect(hooks_file).to respond_to :before
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'defines #before_validation' do
|
22
|
+
expect(hooks_file).to respond_to :before_validation
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'defines #after' do
|
26
|
+
expect(hooks_file).to respond_to :after
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'defines #before_each' do
|
30
|
+
expect(hooks_file).to respond_to :before_each
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'defines #before_each_validation' do
|
34
|
+
expect(hooks_file).to respond_to :before_each_validation
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'defines #after_each' do
|
38
|
+
expect(hooks_file).to respond_to :after_each
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'defines #before_all' do
|
42
|
+
expect(hooks_file).to respond_to :before_all
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'defines #after_all' do
|
46
|
+
expect(hooks_file).to respond_to :after_all
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'does not expose its #runner', private: true do
|
51
|
+
expect(hooks_file).not_to respond_to :runner
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'does not expose its generator methods', private: true do
|
55
|
+
|
56
|
+
it { expect(DreddHooks::Methods).not_to respond_to :define_hooks_on_multiple_transactions }
|
57
|
+
it { expect(DreddHooks::Methods).not_to respond_to :define_hooks_on_single_transactions }
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module DreddHooks
|
4
|
+
describe Runner do
|
5
|
+
|
6
|
+
let(:runner) { Runner.instance }
|
7
|
+
|
8
|
+
describe 'exposes an interface to run hooks', protected: true do
|
9
|
+
|
10
|
+
it { expect(runner).to respond_to :run_before_hooks_for_transaction }
|
11
|
+
it { expect(runner).to respond_to :run_before_validation_hooks_for_transaction }
|
12
|
+
it { expect(runner).to respond_to :run_after_hooks_for_transaction }
|
13
|
+
it { expect(runner).to respond_to :run_before_each_hooks_for_transaction }
|
14
|
+
it { expect(runner).to respond_to :run_before_each_validation_hooks_for_transaction }
|
15
|
+
it { expect(runner).to respond_to :run_after_each_hooks_for_transaction }
|
16
|
+
it { expect(runner).to respond_to :run_before_all_hooks_for_transaction }
|
17
|
+
it { expect(runner).to respond_to :run_after_all_hooks_for_transaction }
|
18
|
+
end
|
19
|
+
|
20
|
+
describe 'exposes an interface to register hooks', private: true do
|
21
|
+
|
22
|
+
it { expect(runner).to respond_to :register_before_hook }
|
23
|
+
it { expect(runner).to respond_to :register_before_validation_hook }
|
24
|
+
it { expect(runner).to respond_to :register_after_hook }
|
25
|
+
it { expect(runner).to respond_to :register_before_each_hook }
|
26
|
+
it { expect(runner).to respond_to :register_before_each_validation_hook }
|
27
|
+
it { expect(runner).to respond_to :register_after_each_hook }
|
28
|
+
it { expect(runner).to respond_to :register_before_all_hook }
|
29
|
+
it { expect(runner).to respond_to :register_after_all_hook }
|
30
|
+
end
|
31
|
+
|
32
|
+
describe 'does not expose its generator methods', private: true do
|
33
|
+
|
34
|
+
it { expect(runner.class).not_to respond_to :define_registration_methods_for_hooks_on_single_transactions }
|
35
|
+
it { expect(runner.class).not_to respond_to :define_registration_methods_for_hooks_on_multiple_transactions }
|
36
|
+
it { expect(runner.class).not_to respond_to :define_runners_for_hooks_on_single_transactions }
|
37
|
+
it { expect(runner.class).not_to respond_to :define_runners_for_hooks_on_multiple_transactions }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module DreddHooks
|
4
|
+
describe Server::Buffer, private: true do
|
5
|
+
|
6
|
+
let(:message_delimiter) { "\t" }
|
7
|
+
let(:buffer) { described_class.new(message_delimiter) }
|
8
|
+
|
9
|
+
it { expect(buffer).to respond_to :<< }
|
10
|
+
it { expect(buffer).to respond_to :flush! }
|
11
|
+
it { expect(buffer).to respond_to :unshift_messages }
|
12
|
+
it { expect(buffer).to respond_to :any_message? }
|
13
|
+
|
14
|
+
it 'is empty by default' do
|
15
|
+
expect(buffer.any_message?).to be false
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#any_message?' do
|
19
|
+
|
20
|
+
it { expect(buffer.any_message?).to be false }
|
21
|
+
|
22
|
+
context "when the buffer contains part of a message" do
|
23
|
+
|
24
|
+
it {
|
25
|
+
buffer << '{ "note": "This string contains no message delimiter..." }'
|
26
|
+
expect(buffer.any_message?).to be false
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
context "when the buffer contains at least one message" do
|
31
|
+
|
32
|
+
it {
|
33
|
+
buffer << "{ \"note\": \"This string does contain a message delimiter...\" }\t{ \"and\": \"some\", \"more\": \"stuff which is not even valid JSON.... aAAAah! "
|
34
|
+
expect(buffer.any_message?).to be true
|
35
|
+
}
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#unshift_messages' do
|
40
|
+
|
41
|
+
before(:each) do
|
42
|
+
buffer << "{ \"A\": \"JSON message\" }\t"
|
43
|
+
buffer << "{ \"another\": \"message\" }\t{ \"and a\": \"half\","
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'returns an array of messages' do
|
47
|
+
expect(buffer.unshift_messages).to eq [{ 'A' => 'JSON message' }, { 'another' => 'message' }]
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'keeps the uncomplete messages intact' do
|
51
|
+
buffer.unshift_messages
|
52
|
+
expect(buffer.flush!).to eq '{ "and a": "half",'
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
# Runs the 'known' hook but not the 'unknown' one.
|
4
|
+
class DummyRunner
|
5
|
+
|
6
|
+
def run_known_hooks_for_transaction(transaction)
|
7
|
+
transaction
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module DreddHooks
|
12
|
+
describe Server::EventsHandler, private: true do
|
13
|
+
|
14
|
+
let(:events_handler) { described_class.new }
|
15
|
+
|
16
|
+
it { expect(events_handler).to respond_to :handle }
|
17
|
+
|
18
|
+
describe '#handle' do
|
19
|
+
|
20
|
+
it 'returns a transaction' do
|
21
|
+
event = 'doNothing'
|
22
|
+
transaction = double()
|
23
|
+
expect(events_handler.handle(event, transaction)).to eq transaction
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'when attempting to handle a hook not defined by the DSL' do
|
27
|
+
|
28
|
+
let(:events_definition) {
|
29
|
+
{
|
30
|
+
beforeAll: [
|
31
|
+
:known,
|
32
|
+
],
|
33
|
+
afterAll: [
|
34
|
+
:unknown
|
35
|
+
]
|
36
|
+
}
|
37
|
+
}
|
38
|
+
let(:transaction) { double }
|
39
|
+
let(:runner) { DummyRunner.new }
|
40
|
+
let(:events_handler) { described_class.new(events_definition, runner) }
|
41
|
+
|
42
|
+
it 'raises a UnknownHookError' do
|
43
|
+
expect{ events_handler.handle('beforeAll', transaction) }.not_to raise_error
|
44
|
+
expect{ events_handler.handle('afterAll', transaction) }.to raise_error UnknownHookError
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler.setup
|
3
|
+
|
4
|
+
require 'dredd_hooks'
|
5
|
+
|
6
|
+
Dir["./spec/support/**/*.rb"].sort.each { |f| require f; puts f }
|
7
|
+
|
8
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
9
|
+
RSpec.configure do |config|
|
10
|
+
# make sure the deprecated RSpec 2 syntax is not used
|
11
|
+
config.raise_errors_for_deprecations!
|
12
|
+
|
13
|
+
# rspec-expectations config goes here. You can use an alternate
|
14
|
+
# assertion/expectation library such as wrong or the stdlib/minitest
|
15
|
+
# assertions if you prefer.
|
16
|
+
config.expect_with :rspec do |expectations|
|
17
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
18
|
+
# and `failure_message` of custom matchers include text for helper methods
|
19
|
+
# defined using `chain`, e.g.:
|
20
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
21
|
+
# # => "be bigger than 2 and smaller than 4"
|
22
|
+
# ...rather than:
|
23
|
+
# # => "be bigger than 2"
|
24
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
25
|
+
end
|
26
|
+
|
27
|
+
# rspec-mocks config goes here. You can use an alternate test double
|
28
|
+
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
29
|
+
config.mock_with :rspec do |mocks|
|
30
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
31
|
+
# a real object. This is generally recommended, and will default to
|
32
|
+
# `true` in RSpec 4.
|
33
|
+
mocks.verify_partial_doubles = true
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,88 +1,89 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dredd_hooks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Kliment
|
8
|
+
- Gonzalo Bulnes Guilpain
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2016-08-06 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
+
name: aruba
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- - ~>
|
18
|
+
- - "~>"
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
+
version: 0.6.2
|
20
21
|
type: :development
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
|
-
- - ~>
|
25
|
+
- - "~>"
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
+
version: 0.6.2
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: rake
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- - ~>
|
32
|
+
- - "~>"
|
32
33
|
- !ruby/object:Gem::Version
|
33
34
|
version: '10.0'
|
34
35
|
type: :development
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- - ~>
|
39
|
+
- - "~>"
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: '10.0'
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
43
|
+
name: rspec
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- - ~>
|
46
|
+
- - "~>"
|
46
47
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
48
|
+
version: '3.0'
|
48
49
|
type: :development
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- - ~>
|
53
|
+
- - "~>"
|
53
54
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
55
|
+
version: '3.0'
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
57
|
name: sinatra
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
|
-
- - ~>
|
60
|
+
- - "~>"
|
60
61
|
- !ruby/object:Gem::Version
|
61
62
|
version: 1.4.5
|
62
63
|
type: :development
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
|
-
- - ~>
|
67
|
+
- - "~>"
|
67
68
|
- !ruby/object:Gem::Version
|
68
69
|
version: 1.4.5
|
69
70
|
description: Write Dredd hooks in Ruby to glue together API Blueprint with your Ruby
|
70
|
-
project
|
71
|
+
project.
|
71
72
|
email:
|
72
73
|
- adam@apiary.io
|
74
|
+
- gon.bulnes@gmail.com
|
73
75
|
executables:
|
74
76
|
- dredd-hooks-ruby
|
75
77
|
extensions: []
|
76
78
|
extra_rdoc_files: []
|
77
79
|
files:
|
78
|
-
- .
|
79
|
-
- .travis.yml
|
80
|
+
- CHANGELOG.md
|
80
81
|
- Gemfile
|
81
82
|
- LICENSE.txt
|
82
83
|
- README.md
|
83
84
|
- Rakefile
|
84
85
|
- bin/dredd-hooks-ruby
|
85
|
-
-
|
86
|
+
- doc/README.md
|
86
87
|
- features/execution_order.feature
|
87
88
|
- features/failing_transaction.feature
|
88
89
|
- features/hook_handlers.feature
|
@@ -90,13 +91,23 @@ files:
|
|
90
91
|
- features/step_definitions/dredd_steps.rb
|
91
92
|
- features/support/env.rb
|
92
93
|
- features/support/server.rb
|
93
|
-
- features/tcp_server.feature
|
94
94
|
- lib/dredd_hooks.rb
|
95
|
+
- lib/dredd_hooks/cli.rb
|
96
|
+
- lib/dredd_hooks/definitions.rb
|
97
|
+
- lib/dredd_hooks/errors.rb
|
95
98
|
- lib/dredd_hooks/file_loader.rb
|
96
99
|
- lib/dredd_hooks/methods.rb
|
97
100
|
- lib/dredd_hooks/runner.rb
|
98
101
|
- lib/dredd_hooks/server.rb
|
102
|
+
- lib/dredd_hooks/server/buffer.rb
|
103
|
+
- lib/dredd_hooks/server/events_handler.rb
|
99
104
|
- lib/dredd_hooks/version.rb
|
105
|
+
- spec/integration/definitions_consistency_spec.rb
|
106
|
+
- spec/lib/dredd_hooks/methods_spec.rb
|
107
|
+
- spec/lib/dredd_hooks/runner_spec.rb
|
108
|
+
- spec/lib/dredd_hooks/server/buffer_spec.rb
|
109
|
+
- spec/lib/dredd_hooks/server/events_handler_spec.rb
|
110
|
+
- spec/spec_helper.rb
|
100
111
|
homepage: https://github.com/apiaryio/dredd-hooks-ruby
|
101
112
|
licenses:
|
102
113
|
- MIT
|
@@ -107,17 +118,17 @@ require_paths:
|
|
107
118
|
- lib
|
108
119
|
required_ruby_version: !ruby/object:Gem::Requirement
|
109
120
|
requirements:
|
110
|
-
- -
|
121
|
+
- - ">="
|
111
122
|
- !ruby/object:Gem::Version
|
112
123
|
version: '0'
|
113
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
125
|
requirements:
|
115
|
-
- -
|
126
|
+
- - ">="
|
116
127
|
- !ruby/object:Gem::Version
|
117
128
|
version: '0'
|
118
129
|
requirements: []
|
119
130
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.
|
131
|
+
rubygems_version: 2.6.1
|
121
132
|
signing_key:
|
122
133
|
specification_version: 4
|
123
134
|
summary: Ruby Hooks Handler for Dredd API Testing Framework
|
@@ -129,4 +140,9 @@ test_files:
|
|
129
140
|
- features/step_definitions/dredd_steps.rb
|
130
141
|
- features/support/env.rb
|
131
142
|
- features/support/server.rb
|
132
|
-
-
|
143
|
+
- spec/integration/definitions_consistency_spec.rb
|
144
|
+
- spec/lib/dredd_hooks/methods_spec.rb
|
145
|
+
- spec/lib/dredd_hooks/runner_spec.rb
|
146
|
+
- spec/lib/dredd_hooks/server/buffer_spec.rb
|
147
|
+
- spec/lib/dredd_hooks/server/events_handler_spec.rb
|
148
|
+
- spec/spec_helper.rb
|