stacker_bee 2.1.1.pre324 → 2.1.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 +5 -13
- data/.rspec +0 -1
- data/.travis.yml +1 -0
- data/Gemfile +1 -8
- data/README.md +8 -43
- data/bin/stacker_bee +3 -4
- data/config.default.yml +1 -1
- data/lib/stacker_bee/client.rb +2 -8
- data/lib/stacker_bee/configuration.rb +2 -22
- data/lib/stacker_bee/middleware/adapter.rb +2 -18
- data/lib/stacker_bee/middleware/cloud_stack_api.rb +2 -1
- data/lib/stacker_bee/middleware/console_access.rb +2 -1
- data/lib/stacker_bee/rash.rb +2 -25
- data/lib/stacker_bee/request_error.rb +1 -1
- data/spec/cassettes/A_request_sent_to_CloudStack_for_console_access/returns_html_for_console_access.yml +1 -1
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/.yml +5 -5
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_nil_request_parameter/properly_executes_the_request.yml +6 -6
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_a_map/can_create_an_object.yml +60 -30
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_an_Array/.yml +9 -9
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_and_empty_string/properly_executes_the_request.yml +6 -6
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_that_triggers_an_error/properly_signs_the_request.yml +3 -3
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/.yml +37 -0
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/should_log_response_as_error.yml +37 -0
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first/.yml +33 -0
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/.yml +6 -6
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_account_type_/.yml +6 -6
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_accounttype_/.yml +6 -6
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_doesn_t_match_the_content_type/uses_the_middleware.yml +4 -4
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_matches_the_content_type/uses_the_middleware.yml +4 -4
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_log_request.yml +33 -0
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_not_log_response_as_error.yml +33 -0
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/space_character_in_a_request_parameter/properly_signs_the_request.yml +4 -4
- data/spec/integration/configure_middleware_spec.rb +2 -0
- data/spec/integration/console_spec.rb +5 -4
- data/spec/integration/request_spec.rb +10 -26
- data/spec/spec_helper.rb +7 -0
- data/spec/units/stacker_bee/api_spec.rb +2 -0
- data/spec/units/stacker_bee/client_spec.rb +1 -0
- data/spec/units/stacker_bee/configuration_spec.rb +2 -30
- data/spec/units/stacker_bee/connection_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/adapter_spec.rb +3 -9
- data/spec/units/stacker_bee/middleware/base_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/cloud_stack_api_spec.rb +15 -6
- data/spec/units/stacker_bee/middleware/console_access_spec.rb +5 -6
- data/spec/units/stacker_bee/middleware/dictionary_flattener_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/endpoint_normalizer_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/error_message_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/format_keys_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/format_values_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/http_status_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/log_response_spec.rb +1 -0
- data/spec/units/stacker_bee/middleware/raise_on_http_errors_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/remove_empty_strings_spec.rb +2 -0
- data/spec/units/stacker_bee/middleware/remove_nils_spec.rb +2 -0
- data/spec/units/stacker_bee/rash_spec.rb +4 -18
- data/spec/units/stacker_bee/request_error_spec.rb +2 -0
- data/spec/units/stacker_bee/utilities_spec.rb +2 -0
- data/spec/units/stacker_bee_spec.rb +2 -0
- data/stacker_bee.gemspec +5 -4
- metadata +41 -18
- data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/with_a_nonexistant_path/raises_a_client_error.yml +0 -47
@@ -1,20 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
1
2
|
require 'logger'
|
2
3
|
|
3
4
|
describe 'A response to a request sent to the CloudStack API', :vcr do
|
4
5
|
subject { client.list_accounts }
|
5
6
|
|
6
|
-
let(:
|
7
|
-
let(:uri) { URI.parse(config_url) }
|
8
|
-
let(:url) { uri.to_s }
|
9
|
-
let(:api_path) { CONFIG['api_path'] }
|
7
|
+
let(:url) { CONFIG['url'] }
|
10
8
|
let(:config_hash) do
|
11
9
|
{
|
12
|
-
url:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
secret_key: CONFIG['secret_key'],
|
17
|
-
middlewares: middlewares
|
10
|
+
url: url,
|
11
|
+
api_key: CONFIG['api_key'],
|
12
|
+
secret_key: CONFIG['secret_key'],
|
13
|
+
middlewares: middlewares
|
18
14
|
}
|
19
15
|
end
|
20
16
|
let(:middlewares) { proc {} }
|
@@ -33,30 +29,18 @@ describe 'A response to a request sent to the CloudStack API', :vcr do
|
|
33
29
|
end
|
34
30
|
|
35
31
|
context 'failing to connect' do
|
36
|
-
let(:url) { 'http://127.0.0.1:666' }
|
32
|
+
let(:url) { 'http://127.0.0.1:666/client/api' }
|
37
33
|
it 'raises a helpful exception' do
|
38
34
|
klass = StackerBee::ConnectionError
|
39
35
|
expect { subject }.to raise_error klass, /#{url}/
|
40
36
|
end
|
41
37
|
end
|
42
38
|
|
43
|
-
context '
|
44
|
-
let(:
|
45
|
-
it 'raises a client error' do
|
46
|
-
expect { subject }.to raise_error(StackerBee::RequestError)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
context 'trailing slash in API path', :regression do
|
51
|
-
let(:api_path) { api_path_without_slash + '/' }
|
52
|
-
let(:api_path_without_slash) { api_path_from_config.sub(/\/$/, '') }
|
53
|
-
let(:api_path_from_config) { CONFIG.fetch('api_path', '/client/api') }
|
39
|
+
context 'trailing slash in URL', :regression do
|
40
|
+
let(:url) { CONFIG['url'].gsub(/\/$/, '') + '/' }
|
54
41
|
it 'makes request with trailing slash' do
|
55
|
-
stub = stub_request(:get, /#{
|
56
|
-
.to_return(body: '{"foo": {}}')
|
57
|
-
|
42
|
+
stub = stub_request(:get, /#{url}/).to_return(body: '{"foo": {}}')
|
58
43
|
subject
|
59
|
-
|
60
44
|
expect(stub).to have_been_requested
|
61
45
|
end
|
62
46
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
require 'simplecov'
|
2
2
|
|
3
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
5
|
+
# Require this file using `require "spec_helper"` to ensure that it is only
|
6
|
+
# loaded once.
|
7
|
+
#
|
8
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
9
|
+
|
3
10
|
require File.expand_path('../../lib/stacker_bee', __FILE__)
|
4
11
|
|
5
12
|
require 'yaml'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
1
3
|
describe StackerBee::Configuration do
|
2
4
|
describe "setting an attribute that doesn't exist" do
|
3
5
|
[:ssl_verify?, :url?, :other_attr].each do |attr|
|
@@ -42,36 +44,6 @@ describe StackerBee::Configuration do
|
|
42
44
|
end
|
43
45
|
end
|
44
46
|
|
45
|
-
describe '#api_path' do
|
46
|
-
subject { configuration.api_path }
|
47
|
-
|
48
|
-
context 'when not set' do
|
49
|
-
let(:configuration) { described_class.new }
|
50
|
-
it { is_expected.to eq '/client/api' }
|
51
|
-
end
|
52
|
-
|
53
|
-
context 'when set' do
|
54
|
-
let(:configuration) { described_class.new(api_path: setting) }
|
55
|
-
let(:setting) { '/new-path/cloudstack' }
|
56
|
-
it { is_expected.to eq setting }
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
describe '#console_path' do
|
61
|
-
subject { configuration.console_path }
|
62
|
-
|
63
|
-
context 'when not set' do
|
64
|
-
let(:configuration) { described_class.new }
|
65
|
-
it { is_expected.to eq '/client/console' }
|
66
|
-
end
|
67
|
-
|
68
|
-
context 'when set' do
|
69
|
-
let(:configuration) { described_class.new(console_path: setting) }
|
70
|
-
let(:setting) { '/new-path/cloudstack' }
|
71
|
-
it { is_expected.to eq setting }
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
47
|
describe '#secret_key' do
|
76
48
|
subject { configuration.secret_key }
|
77
49
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
1
3
|
describe StackerBee::Middleware::Adapter do
|
2
4
|
let(:env) do
|
3
5
|
StackerBee::Middleware::Environment.new(
|
@@ -8,7 +10,7 @@ describe StackerBee::Middleware::Adapter do
|
|
8
10
|
end
|
9
11
|
let(:app) { double(:app, call: response) }
|
10
12
|
let(:response) { double(:response) }
|
11
|
-
let(:path) {
|
13
|
+
let(:path) { double(:path) }
|
12
14
|
|
13
15
|
let(:params) { { 'z' => 'z', 'a' => 'a' } }
|
14
16
|
let(:connection) { double(:connection, get: raw_response) }
|
@@ -43,14 +45,6 @@ describe StackerBee::Middleware::Adapter do
|
|
43
45
|
it 'sorts the paramers' do
|
44
46
|
expect(connection).to have_received(:get).with(path, [%w(a a), %w(z z)])
|
45
47
|
end
|
46
|
-
|
47
|
-
context 'when the path ends in a slash' do
|
48
|
-
let(:path) { '/my/path/' }
|
49
|
-
it 'discards the trailing slash' do
|
50
|
-
expect(connection).to \
|
51
|
-
have_received(:get).with('/my/path', [%w(a a), %w(z z)])
|
52
|
-
end
|
53
|
-
end
|
54
48
|
end
|
55
49
|
|
56
50
|
describe '#endpoint_name_for' do
|
@@ -1,13 +1,14 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
1
3
|
describe StackerBee::Middleware::CloudStackAPI do
|
2
4
|
let(:env) do
|
3
5
|
StackerBee::Middleware::Environment.new(
|
4
|
-
endpoint_name: 'endpoint-name'
|
6
|
+
endpoint_name: 'endpoint-name',
|
7
|
+
path: path
|
5
8
|
)
|
6
9
|
end
|
7
|
-
let(:middleware)
|
8
|
-
|
9
|
-
end
|
10
|
-
let(:api_path) { '/my/path' }
|
10
|
+
let(:middleware) { described_class.new(api_key: 'API-KEY', params: {}) }
|
11
|
+
let(:path) { nil }
|
11
12
|
|
12
13
|
before do
|
13
14
|
middleware.before(env)
|
@@ -16,7 +17,15 @@ describe StackerBee::Middleware::CloudStackAPI do
|
|
16
17
|
describe 'request' do
|
17
18
|
subject { env.request }
|
18
19
|
|
19
|
-
|
20
|
+
context 'when the path is not set' do
|
21
|
+
let(:path) { nil }
|
22
|
+
its(:path) { should == described_class::DEFAULT_PATH }
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'when the path is already set' do
|
26
|
+
let(:path) { 'already set' }
|
27
|
+
its(:path) { should == path }
|
28
|
+
end
|
20
29
|
end
|
21
30
|
|
22
31
|
describe 'params' do
|
@@ -1,20 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
1
3
|
describe StackerBee::Middleware::ConsoleAccess do
|
2
4
|
let(:env) do
|
3
5
|
StackerBee::Middleware::Environment.new(endpoint_name: endpoint_name)
|
4
6
|
end
|
5
7
|
|
6
|
-
let(:middleware)
|
7
|
-
described_class.new(app: app, console_path: console_path)
|
8
|
-
end
|
8
|
+
let(:middleware) { described_class.new(app: app) }
|
9
9
|
let(:app) { double(:app) }
|
10
|
-
let(:console_path) { '/path/to/console' }
|
11
10
|
|
12
11
|
context 'when it matches the endpoint' do
|
13
12
|
let(:endpoint_name) { described_class::ENDPOINT }
|
14
13
|
|
15
14
|
it 'adds its path to the env' do
|
16
15
|
middleware.before(env)
|
17
|
-
expect(env.request.path).to eq
|
16
|
+
expect(env.request.path).to eq described_class::PATH
|
18
17
|
end
|
19
18
|
|
20
19
|
it 'adds cmd to the parameters' do
|
@@ -28,7 +27,7 @@ describe StackerBee::Middleware::ConsoleAccess do
|
|
28
27
|
before { middleware.before(env) }
|
29
28
|
|
30
29
|
it "doesn't add it's path" do
|
31
|
-
expect(env.request.path).
|
30
|
+
expect(env.request.path).not_to eq described_class::PATH
|
32
31
|
end
|
33
32
|
|
34
33
|
it "doesn't add cmd to the parameters" do
|
@@ -1,9 +1,11 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
1
3
|
shared_examples_for 'a Rash' do |mapping|
|
2
4
|
mapping.each_pair { |key, value| its([key]) { should == value } }
|
3
5
|
end
|
4
6
|
|
5
7
|
describe StackerBee::Rash do
|
6
|
-
subject
|
8
|
+
subject { rash }
|
7
9
|
|
8
10
|
let(:wiz) { [{ 'aB_C' => 'abc' }, { 'X_yZ' => 'xyz' }] }
|
9
11
|
let(:ziz) do
|
@@ -28,6 +30,7 @@ describe StackerBee::Rash do
|
|
28
30
|
end
|
29
31
|
end
|
30
32
|
let(:dissimilar_hash) { hash.dup.tap { |loud| loud.delete 'foo' } }
|
33
|
+
let(:rash) { described_class.new(hash) }
|
31
34
|
|
32
35
|
it { is_expected.to include 'FOO' }
|
33
36
|
|
@@ -81,21 +84,4 @@ describe StackerBee::Rash do
|
|
81
84
|
subject { rash.values_at 'FOO', 'WIZ', 'WRONG' }
|
82
85
|
it { is_expected.to eq ['foo', wiz, nil] }
|
83
86
|
end
|
84
|
-
|
85
|
-
describe 'with preferred keys' do
|
86
|
-
subject { described_class.new(hash, preferred_keys) }
|
87
|
-
let(:preferred_keys) { [:foo, 'BAR', :b_a_z] }
|
88
|
-
let(:hash) do
|
89
|
-
{
|
90
|
-
f_o_o: 'foo',
|
91
|
-
ba_r: 'bar',
|
92
|
-
baz: 'baz',
|
93
|
-
Ot_her: 'other'
|
94
|
-
}
|
95
|
-
end
|
96
|
-
|
97
|
-
it 'is stored as preferred if mentioned, otherwise as uncased' do
|
98
|
-
expect(subject.keys).to match_array [:foo, 'BAR', :b_a_z, 'other']
|
99
|
-
end
|
100
|
-
end
|
101
87
|
end
|
data/stacker_bee.gemspec
CHANGED
@@ -26,16 +26,17 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
28
28
|
spec.add_development_dependency 'rake', '~> 10.0'
|
29
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
30
|
-
spec.add_development_dependency 'rspec-its', '~> 1.
|
29
|
+
spec.add_development_dependency 'rspec', '~> 3.0.0'
|
30
|
+
spec.add_development_dependency 'rspec-its', '~> 1.0'
|
31
31
|
spec.add_development_dependency 'webmock', '~> 1.15'
|
32
32
|
spec.add_development_dependency 'vcr', '~> 2.9'
|
33
|
+
spec.add_development_dependency 'pry'
|
33
34
|
spec.add_development_dependency 'coveralls'
|
34
35
|
|
35
36
|
# It should be consistent for Travis and all developers, since we don't check
|
36
37
|
# in the Gemfile.lock
|
37
|
-
spec.add_development_dependency 'rubocop', '0.
|
38
|
-
spec.add_development_dependency 'rubocop-rspec', '1.
|
38
|
+
spec.add_development_dependency 'rubocop', '0.24.1'
|
39
|
+
spec.add_development_dependency 'rubocop-rspec', '1.1.0'
|
39
40
|
|
40
41
|
# Release every merge to master as a prerelease
|
41
42
|
if ENV['TRAVIS']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stacker_bee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.1
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Sterndale
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-08-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -93,28 +93,28 @@ dependencies:
|
|
93
93
|
requirements:
|
94
94
|
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 3.
|
96
|
+
version: 3.0.0
|
97
97
|
type: :development
|
98
98
|
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 3.
|
103
|
+
version: 3.0.0
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: rspec-its
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
110
|
+
version: '1.0'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: '1.0'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
119
|
name: webmock
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,18 +143,32 @@ dependencies:
|
|
143
143
|
- - ~>
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '2.9'
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: pry
|
148
|
+
requirement: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
type: :development
|
154
|
+
prerelease: false
|
155
|
+
version_requirements: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
146
160
|
- !ruby/object:Gem::Dependency
|
147
161
|
name: coveralls
|
148
162
|
requirement: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- -
|
164
|
+
- - '>='
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '0'
|
153
167
|
type: :development
|
154
168
|
prerelease: false
|
155
169
|
version_requirements: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- -
|
171
|
+
- - '>='
|
158
172
|
- !ruby/object:Gem::Version
|
159
173
|
version: '0'
|
160
174
|
- !ruby/object:Gem::Dependency
|
@@ -163,28 +177,28 @@ dependencies:
|
|
163
177
|
requirements:
|
164
178
|
- - '='
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
180
|
+
version: 0.24.1
|
167
181
|
type: :development
|
168
182
|
prerelease: false
|
169
183
|
version_requirements: !ruby/object:Gem::Requirement
|
170
184
|
requirements:
|
171
185
|
- - '='
|
172
186
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.
|
187
|
+
version: 0.24.1
|
174
188
|
- !ruby/object:Gem::Dependency
|
175
189
|
name: rubocop-rspec
|
176
190
|
requirement: !ruby/object:Gem::Requirement
|
177
191
|
requirements:
|
178
192
|
- - '='
|
179
193
|
- !ruby/object:Gem::Version
|
180
|
-
version: 1.
|
194
|
+
version: 1.1.0
|
181
195
|
type: :development
|
182
196
|
prerelease: false
|
183
197
|
version_requirements: !ruby/object:Gem::Requirement
|
184
198
|
requirements:
|
185
199
|
- - '='
|
186
200
|
- !ruby/object:Gem::Version
|
187
|
-
version: 1.
|
201
|
+
version: 1.1.0
|
188
202
|
description: Ruby CloudStack client and CLI
|
189
203
|
email:
|
190
204
|
- team@promptworks.com
|
@@ -245,13 +259,17 @@ files:
|
|
245
259
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_an_Array/.yml
|
246
260
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_and_empty_string/properly_executes_the_request.yml
|
247
261
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_that_triggers_an_error/properly_signs_the_request.yml
|
262
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/.yml
|
263
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/should_log_response_as_error.yml
|
264
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first/.yml
|
248
265
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/.yml
|
249
266
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_account_type_/.yml
|
250
267
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_accounttype_/.yml
|
251
268
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_doesn_t_match_the_content_type/uses_the_middleware.yml
|
252
269
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_matches_the_content_type/uses_the_middleware.yml
|
270
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_log_request.yml
|
271
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_not_log_response_as_error.yml
|
253
272
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/space_character_in_a_request_parameter/properly_signs_the_request.yml
|
254
|
-
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/with_a_nonexistant_path/raises_a_client_error.yml
|
255
273
|
- spec/fixtures/4.2.json
|
256
274
|
- spec/fixtures/simple.json
|
257
275
|
- spec/integration/configure_middleware_spec.rb
|
@@ -293,17 +311,17 @@ require_paths:
|
|
293
311
|
- lib
|
294
312
|
required_ruby_version: !ruby/object:Gem::Requirement
|
295
313
|
requirements:
|
296
|
-
- -
|
314
|
+
- - '>='
|
297
315
|
- !ruby/object:Gem::Version
|
298
316
|
version: '0'
|
299
317
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
300
318
|
requirements:
|
301
|
-
- -
|
319
|
+
- - '>='
|
302
320
|
- !ruby/object:Gem::Version
|
303
|
-
version:
|
321
|
+
version: '0'
|
304
322
|
requirements: []
|
305
323
|
rubyforge_project:
|
306
|
-
rubygems_version: 2.
|
324
|
+
rubygems_version: 2.0.14
|
307
325
|
signing_key:
|
308
326
|
specification_version: 4
|
309
327
|
summary: Ruby CloudStack client
|
@@ -315,13 +333,17 @@ test_files:
|
|
315
333
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_an_Array/.yml
|
316
334
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_and_empty_string/properly_executes_the_request.yml
|
317
335
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_that_triggers_an_error/properly_signs_the_request.yml
|
336
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/.yml
|
337
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/should_log_response_as_error.yml
|
338
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first/.yml
|
318
339
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/.yml
|
319
340
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_account_type_/.yml
|
320
341
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_accounttype_/.yml
|
321
342
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_doesn_t_match_the_content_type/uses_the_middleware.yml
|
322
343
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_matches_the_content_type/uses_the_middleware.yml
|
344
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_log_request.yml
|
345
|
+
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_not_log_response_as_error.yml
|
323
346
|
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/space_character_in_a_request_parameter/properly_signs_the_request.yml
|
324
|
-
- spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/with_a_nonexistant_path/raises_a_client_error.yml
|
325
347
|
- spec/fixtures/4.2.json
|
326
348
|
- spec/fixtures/simple.json
|
327
349
|
- spec/integration/configure_middleware_spec.rb
|
@@ -352,3 +374,4 @@ test_files:
|
|
352
374
|
- spec/units/stacker_bee/request_error_spec.rb
|
353
375
|
- spec/units/stacker_bee/utilities_spec.rb
|
354
376
|
- spec/units/stacker_bee_spec.rb
|
377
|
+
has_rdoc:
|