brightbox-cli 2.11.0 → 3.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 +4 -4
- data/.travis.yml +0 -1
- data/CHANGELOG.md +52 -0
- data/Gemfile.lock +24 -19
- data/Jenkinsfile +17 -18
- data/Rakefile +2 -12
- data/brightbox-cli.gemspec +6 -3
- data/lib/brightbox-cli/api.rb +1 -1
- data/lib/brightbox-cli/cloud_ips.rb +1 -1
- data/lib/brightbox-cli/collaboration.rb +1 -1
- data/lib/brightbox-cli/commands/firewall/policies-update.rb +1 -1
- data/lib/brightbox-cli/commands/token.rb +16 -1
- data/lib/brightbox-cli/version.rb +1 -1
- data/spec/commands/cloudips/update_spec.rb +65 -0
- data/spec/commands/sql/instances/create_spec.rb +26 -0
- data/spec/support/shared/collaborating_accounts_context.rb +3 -3
- data/spec/unit/brightbox/account/all_spec.rb +2 -2
- data/spec/unit/brightbox/account/get_spec.rb +2 -2
- data/spec/unit/brightbox/api/conn_spec.rb +1 -1
- data/spec/unit/brightbox/collaborating_account_spec.rb +1 -1
- data/spec/unit/brightbox/connection_manager/fetch_connection_spec.rb +1 -1
- data/spec/unit/brightbox/database_server/cloud_ips_spec.rb +1 -1
- data/spec/unit/brightbox/database_server/maintenance_window_spec.rb +1 -1
- data/spec/unit/brightbox/user_collaboration/get_for_account_spec.rb +1 -1
- data/spec/unit/brightbox/user_collaboration/remove_spec.rb +1 -1
- metadata +24 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1cc8d372e2c0c019461ab6f5302f71d9a5241646d57cc91eaba2be3033794012
|
|
4
|
+
data.tar.gz: 95314299e02e4d28ea02467a00eb5093f7e74c9dbc561459ea892175edc08043
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e32fdba2d13ad2917a7200f5cba06223ec2fcf059dc3404685b790f81b64c009857e7f984e9c9a7e01f06d55db31f00820413c77ff1570ed5a934c78cc9c03a2
|
|
7
|
+
data.tar.gz: 1d7c5414f09b8b1ffba4a3a00792dacb5555b0b2da38da9044591d8ab6ddbcc36dcb7a35e700ad61a839f414f26f9b7d5fe04210221438e82b864eb5a607a3cc
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,55 @@
|
|
|
1
|
+
### v3.0.1 / 2020-07-01
|
|
2
|
+
|
|
3
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v3.0.0...v3.0.1)
|
|
4
|
+
|
|
5
|
+
Bug fixes:
|
|
6
|
+
|
|
7
|
+
* Fix `cloudips update --name` to correctly set blank names
|
|
8
|
+
|
|
9
|
+
### v3.0.0 / 2020-07-01
|
|
10
|
+
|
|
11
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v2.12.0...v3.0.0)
|
|
12
|
+
|
|
13
|
+
Backwards incompatible changes:
|
|
14
|
+
|
|
15
|
+
* Dropped support for Ruby 1.9
|
|
16
|
+
|
|
17
|
+
Changes:
|
|
18
|
+
|
|
19
|
+
* Update `fog-brightbox` to v1.1.0
|
|
20
|
+
* Update `rake` to v12.3.3 to resolve CVE-2020-8130
|
|
21
|
+
* Update `rspec` to v3.9 to avoid issue when updating `rake`
|
|
22
|
+
|
|
23
|
+
Bug fixes:
|
|
24
|
+
|
|
25
|
+
* Creating an SQL instance from an existing snapshot has been fixed following
|
|
26
|
+
the update for `fog-brightbox v1.1.0`
|
|
27
|
+
|
|
28
|
+
### v2.12.0 / 2020-01-28
|
|
29
|
+
|
|
30
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v2.11.2...v2.12.0)
|
|
31
|
+
|
|
32
|
+
Enhancements:
|
|
33
|
+
|
|
34
|
+
* Adds `token create` to always attempt to reauthenticate and display a token.
|
|
35
|
+
|
|
36
|
+
### v2.11.2 / 2020-01-07
|
|
37
|
+
|
|
38
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v2.11.1...v2.11.2)
|
|
39
|
+
|
|
40
|
+
Bug fixes:
|
|
41
|
+
|
|
42
|
+
* Update `excon` to v0.71.0 to fix security issue.
|
|
43
|
+
|
|
44
|
+
### v2.11.1 / 2019-10-29
|
|
45
|
+
|
|
46
|
+
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v2.11.0...v2.11.1)
|
|
47
|
+
|
|
48
|
+
Bug fixes:
|
|
49
|
+
|
|
50
|
+
* Constrain version of `dry-inflector` to ensure gem can work with older
|
|
51
|
+
versions of Ruby.
|
|
52
|
+
|
|
1
53
|
### v2.11.0 / 2019-06-06
|
|
2
54
|
|
|
3
55
|
[Full Changelog](https://github.com/brightbox/brightbox-cli/compare/v2.10.0...v2.11.0)
|
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
brightbox-cli (
|
|
5
|
-
|
|
4
|
+
brightbox-cli (3.0.1)
|
|
5
|
+
dry-inflector (< 0.2)
|
|
6
|
+
fog-brightbox (>= 1.1.0)
|
|
6
7
|
fog-core (< 2.0)
|
|
7
8
|
gli (~> 2.12.0)
|
|
8
9
|
highline (~> 1.6.0)
|
|
@@ -15,18 +16,17 @@ GEM
|
|
|
15
16
|
remote: https://rubygems.org/
|
|
16
17
|
specs:
|
|
17
18
|
addressable (2.3.8)
|
|
18
|
-
builder (3.2.
|
|
19
|
+
builder (3.2.4)
|
|
19
20
|
coderay (1.0.9)
|
|
20
21
|
crack (0.4.2)
|
|
21
22
|
safe_yaml (~> 1.0.0)
|
|
22
|
-
diff-lcs (1.
|
|
23
|
+
diff-lcs (1.4.3)
|
|
23
24
|
dry-inflector (0.1.2)
|
|
24
|
-
excon (0.
|
|
25
|
-
fog-brightbox (
|
|
25
|
+
excon (0.75.0)
|
|
26
|
+
fog-brightbox (1.1.0)
|
|
26
27
|
dry-inflector
|
|
27
|
-
fog-core
|
|
28
|
+
fog-core (>= 1.45, < 3.0)
|
|
28
29
|
fog-json
|
|
29
|
-
mime-types
|
|
30
30
|
fog-core (1.45.0)
|
|
31
31
|
builder
|
|
32
32
|
excon (~> 0.58)
|
|
@@ -52,15 +52,20 @@ GEM
|
|
|
52
52
|
pry-remote (0.1.8)
|
|
53
53
|
pry (~> 0.9)
|
|
54
54
|
slop (~> 3.0)
|
|
55
|
-
rake (
|
|
56
|
-
rspec (
|
|
57
|
-
rspec-core (~>
|
|
58
|
-
rspec-expectations (~>
|
|
59
|
-
rspec-mocks (~>
|
|
60
|
-
rspec-core (
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
rake (12.3.3)
|
|
56
|
+
rspec (3.9.0)
|
|
57
|
+
rspec-core (~> 3.9.0)
|
|
58
|
+
rspec-expectations (~> 3.9.0)
|
|
59
|
+
rspec-mocks (~> 3.9.0)
|
|
60
|
+
rspec-core (3.9.2)
|
|
61
|
+
rspec-support (~> 3.9.3)
|
|
62
|
+
rspec-expectations (3.9.2)
|
|
63
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
64
|
+
rspec-support (~> 3.9.0)
|
|
65
|
+
rspec-mocks (3.9.1)
|
|
66
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
67
|
+
rspec-support (~> 3.9.0)
|
|
68
|
+
rspec-support (3.9.3)
|
|
64
69
|
safe_yaml (1.0.4)
|
|
65
70
|
slop (3.4.5)
|
|
66
71
|
vcr (2.5.0)
|
|
@@ -76,9 +81,9 @@ DEPENDENCIES
|
|
|
76
81
|
mocha
|
|
77
82
|
pry-remote
|
|
78
83
|
rake
|
|
79
|
-
rspec
|
|
84
|
+
rspec
|
|
80
85
|
vcr (~> 2.5)
|
|
81
86
|
webmock
|
|
82
87
|
|
|
83
88
|
BUNDLED WITH
|
|
84
|
-
1.
|
|
89
|
+
1.17.3
|
data/Jenkinsfile
CHANGED
|
@@ -9,17 +9,6 @@ pipeline {
|
|
|
9
9
|
stages {
|
|
10
10
|
stage("Run tests") {
|
|
11
11
|
parallel {
|
|
12
|
-
stage("Ruby 1.9.3") {
|
|
13
|
-
agent {
|
|
14
|
-
docker {
|
|
15
|
-
image 'ruby:1.9.3'
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
steps {
|
|
19
|
-
sh 'BUNDLE_APP_CONFIG=/tmp/bundle.config BUNDLE_DISABLE_SHARED_GEMS=true bundle install --deployment'
|
|
20
|
-
sh 'BUNDLE_APP_CONFIG=/tmp/bundle.config bundle exec rake test'
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
12
|
stage("Ruby 2.0") {
|
|
24
13
|
agent {
|
|
25
14
|
docker {
|
|
@@ -28,7 +17,7 @@ pipeline {
|
|
|
28
17
|
}
|
|
29
18
|
steps {
|
|
30
19
|
sh 'bundle install --deployment'
|
|
31
|
-
sh 'bundle exec rake
|
|
20
|
+
sh 'bundle exec rake spec'
|
|
32
21
|
}
|
|
33
22
|
}
|
|
34
23
|
stage("Ruby 2.1") {
|
|
@@ -39,7 +28,7 @@ pipeline {
|
|
|
39
28
|
}
|
|
40
29
|
steps {
|
|
41
30
|
sh 'bundle install --deployment'
|
|
42
|
-
sh 'bundle exec rake
|
|
31
|
+
sh 'bundle exec rake spec'
|
|
43
32
|
}
|
|
44
33
|
}
|
|
45
34
|
stage("Ruby 2.2") {
|
|
@@ -50,7 +39,7 @@ pipeline {
|
|
|
50
39
|
}
|
|
51
40
|
steps {
|
|
52
41
|
sh 'bundle install --deployment'
|
|
53
|
-
sh 'bundle exec rake
|
|
42
|
+
sh 'bundle exec rake spec'
|
|
54
43
|
}
|
|
55
44
|
}
|
|
56
45
|
stage("Ruby 2.3") {
|
|
@@ -61,7 +50,7 @@ pipeline {
|
|
|
61
50
|
}
|
|
62
51
|
steps {
|
|
63
52
|
sh 'bundle install --deployment'
|
|
64
|
-
sh 'bundle exec rake
|
|
53
|
+
sh 'bundle exec rake spec'
|
|
65
54
|
}
|
|
66
55
|
}
|
|
67
56
|
stage("Ruby 2.4") {
|
|
@@ -72,7 +61,7 @@ pipeline {
|
|
|
72
61
|
}
|
|
73
62
|
steps {
|
|
74
63
|
sh 'bundle install --deployment'
|
|
75
|
-
sh 'bundle exec rake
|
|
64
|
+
sh 'bundle exec rake spec'
|
|
76
65
|
}
|
|
77
66
|
}
|
|
78
67
|
stage("Ruby 2.5") {
|
|
@@ -83,10 +72,20 @@ pipeline {
|
|
|
83
72
|
}
|
|
84
73
|
steps {
|
|
85
74
|
sh 'bundle install --deployment'
|
|
86
|
-
sh 'bundle exec rake
|
|
75
|
+
sh 'bundle exec rake spec'
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
stage("Ruby 2.6") {
|
|
79
|
+
agent {
|
|
80
|
+
docker {
|
|
81
|
+
image 'ruby:2.6'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
steps {
|
|
85
|
+
sh 'bundle install --deployment'
|
|
86
|
+
sh 'bundle exec rake spec'
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
|
|
90
89
|
}
|
|
91
90
|
}
|
|
92
91
|
}
|
data/Rakefile
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
require "bundler"
|
|
2
1
|
require "rspec/core/rake_task"
|
|
3
2
|
|
|
4
|
-
bbcloud_path = File.expand_path("./lib", File.dirname(__FILE__))
|
|
5
|
-
$LOAD_PATH.unshift(bbcloud_path)
|
|
6
|
-
|
|
7
|
-
task :default => [:test]
|
|
8
|
-
|
|
9
3
|
Bundler::GemHelper.install_tasks
|
|
4
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
10
5
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
desc "Runs all tests (rspec and cucumber)"
|
|
14
|
-
task :test do
|
|
15
|
-
Rake::Task["spec"].invoke
|
|
16
|
-
end
|
|
6
|
+
task :default => :spec
|
data/brightbox-cli.gemspec
CHANGED
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
|
12
12
|
s.description = %q(Scripts to interact with the Brightbox cloud API)
|
|
13
13
|
s.license = "MIT"
|
|
14
14
|
|
|
15
|
-
s.required_ruby_version = ">=
|
|
15
|
+
s.required_ruby_version = ">= 2.0"
|
|
16
16
|
|
|
17
17
|
s.rubyforge_project = "brightbox-cli"
|
|
18
18
|
|
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
22
22
|
s.require_paths = ["lib"]
|
|
23
23
|
|
|
24
|
-
s.add_dependency "fog-brightbox", ">=
|
|
24
|
+
s.add_dependency "fog-brightbox", ">= 1.1.0"
|
|
25
25
|
s.add_dependency "fog-core", "< 2.0"
|
|
26
26
|
s.add_dependency "gli", "~> 2.12.0"
|
|
27
27
|
s.add_dependency "i18n", "~> 0.6.0"
|
|
@@ -30,10 +30,13 @@ Gem::Specification.new do |s|
|
|
|
30
30
|
s.add_dependency "highline", "~> 1.6.0"
|
|
31
31
|
s.add_dependency "hirb", "~> 0.6"
|
|
32
32
|
|
|
33
|
+
# dry-inflector >= 0.2 drops supports for Ruby < 2.4
|
|
34
|
+
s.add_dependency "dry-inflector", "< 0.2"
|
|
35
|
+
|
|
33
36
|
s.add_development_dependency "mocha"
|
|
34
37
|
s.add_development_dependency "pry-remote"
|
|
35
38
|
s.add_development_dependency "rake"
|
|
36
|
-
s.add_development_dependency "rspec"
|
|
39
|
+
s.add_development_dependency "rspec"
|
|
37
40
|
s.add_development_dependency "vcr", "~> 2.5"
|
|
38
41
|
s.add_development_dependency "webmock"
|
|
39
42
|
|
data/lib/brightbox-cli/api.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Brightbox
|
|
|
16
16
|
# Returns the current connection to the Brightbox API, creating a new
|
|
17
17
|
# {ConnectionManager} and connection if necessary.
|
|
18
18
|
#
|
|
19
|
-
# @return [Fog::Compute::
|
|
19
|
+
# @return [Fog::Brightbox::Compute::Real]
|
|
20
20
|
#
|
|
21
21
|
def self.conn
|
|
22
22
|
if @@connection_manager
|
|
@@ -9,7 +9,7 @@ module Brightbox
|
|
|
9
9
|
def self.invite(email, role)
|
|
10
10
|
options = { :email => email, :role => role }
|
|
11
11
|
data = conn.create_collaboration(options)
|
|
12
|
-
model = Fog::Compute::
|
|
12
|
+
model = Fog::Brightbox::Compute::Collaboration.new(data)
|
|
13
13
|
new(model)
|
|
14
14
|
end
|
|
15
15
|
|
|
@@ -36,7 +36,7 @@ module Brightbox
|
|
|
36
36
|
# with a request, before updating the model
|
|
37
37
|
data = FirewallPolicy.conn.update_firewall_policy(policy_id, params)
|
|
38
38
|
|
|
39
|
-
model = Fog::Compute::
|
|
39
|
+
model = Fog::Brightbox::Compute::FirewallPolicy.new(data)
|
|
40
40
|
policy = FirewallPolicy.new(model)
|
|
41
41
|
|
|
42
42
|
render_table([policy], global_options)
|
|
@@ -10,10 +10,25 @@ module Brightbox
|
|
|
10
10
|
c.default_value "text"
|
|
11
11
|
c.flag [:format]
|
|
12
12
|
|
|
13
|
-
c.action do |
|
|
13
|
+
c.action do |_, options, _|
|
|
14
|
+
token = Token.show(Brightbox.config, options)
|
|
15
|
+
$stdout.puts token.format(options[:format] || "text")
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
cmd.desc "Create new OAuth2 Bearer token"
|
|
20
|
+
cmd.command [:create] do |c|
|
|
21
|
+
c.desc "Either 'text', 'token', 'json' or 'curl'"
|
|
22
|
+
c.arg_name "format"
|
|
23
|
+
c.default_value "text"
|
|
24
|
+
c.flag [:format]
|
|
25
|
+
|
|
26
|
+
c.action do |_, options, _|
|
|
27
|
+
config.reauthenticate
|
|
14
28
|
token = Token.show(Brightbox.config, options)
|
|
15
29
|
$stdout.puts token.format(options[:format])
|
|
16
30
|
end
|
|
17
31
|
end
|
|
32
|
+
|
|
18
33
|
end
|
|
19
34
|
end
|
|
@@ -7,6 +7,13 @@ describe "brightbox cloudips" do
|
|
|
7
7
|
let(:stdout) { output.stdout }
|
|
8
8
|
let(:stderr) { output.stderr }
|
|
9
9
|
|
|
10
|
+
before do
|
|
11
|
+
config_from_contents(USER_APP_CONFIG_CONTENTS)
|
|
12
|
+
|
|
13
|
+
stub_request(:post, "http://api.brightbox.dev/token").
|
|
14
|
+
to_return(status: 200, body: JSON.dump(access_token: "ACCESS-TOKEN", refresh_token: "REFRESH-TOKEN"))
|
|
15
|
+
end
|
|
16
|
+
|
|
10
17
|
context "" do
|
|
11
18
|
let(:argv) { %w(cloudips update) }
|
|
12
19
|
|
|
@@ -14,5 +21,63 @@ describe "brightbox cloudips" do
|
|
|
14
21
|
expect { output }.to_not raise_error
|
|
15
22
|
end
|
|
16
23
|
end
|
|
24
|
+
|
|
25
|
+
context "when name is updated" do
|
|
26
|
+
let(:argv) { ["cloudips", "update", "--name=#{new_name}", "cip-12345"] }
|
|
27
|
+
|
|
28
|
+
let(:json_response) do
|
|
29
|
+
<<-EOS
|
|
30
|
+
{
|
|
31
|
+
"id":"cip-12345",
|
|
32
|
+
"name":"#{new_name}"
|
|
33
|
+
}
|
|
34
|
+
EOS
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
context "--name 'New name'" do
|
|
38
|
+
let(:new_name) { "New name" }
|
|
39
|
+
let(:expected_args) { ["cip-12345", { :name => new_name }] }
|
|
40
|
+
|
|
41
|
+
before do
|
|
42
|
+
stub_request(:put, "http://api.brightbox.dev/1.0/cloud_ips/cip-12345?account_id=acc-12345")
|
|
43
|
+
.with(:headers => { "Content-Type" => "application/json" },
|
|
44
|
+
:body => hash_including("name" => "New name"))
|
|
45
|
+
.and_return(:status => 200, :body => json_response)
|
|
46
|
+
|
|
47
|
+
stub_request(:get, "http://api.brightbox.dev/1.0/cloud_ips/cip-12345?account_id=acc-12345")
|
|
48
|
+
.with(:headers => { "Content-Type" => "application/json" })
|
|
49
|
+
.and_return(:status => 200, :body => json_response)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "puts new name in update" do
|
|
53
|
+
expect(Brightbox::CloudIP.conn).to receive(:update_cloud_ip).with(*expected_args).and_call_original
|
|
54
|
+
expect(stderr).to eq("")
|
|
55
|
+
expect(stdout).to include("cip-12345")
|
|
56
|
+
expect(stdout).to include("New name")
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
context "--name ''" do
|
|
61
|
+
let(:new_name) { "" }
|
|
62
|
+
let(:expected_args) { ["cip-12345", { :name => "" }] }
|
|
63
|
+
|
|
64
|
+
before do
|
|
65
|
+
stub_request(:put, "http://api.brightbox.dev/1.0/cloud_ips/cip-12345?account_id=acc-12345")
|
|
66
|
+
.with(:headers => { "Content-Type" => "application/json" },
|
|
67
|
+
:body => hash_including("name" => ""))
|
|
68
|
+
.and_return(:status => 200, :body => json_response)
|
|
69
|
+
|
|
70
|
+
stub_request(:get, "http://api.brightbox.dev/1.0/cloud_ips/cip-12345?account_id=acc-12345")
|
|
71
|
+
.with(:headers => { "Content-Type" => "application/json" })
|
|
72
|
+
.and_return(:status => 200, :body => json_response)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it "puts new name in update" do
|
|
76
|
+
expect(Brightbox::CloudIP.conn).to receive(:update_cloud_ip).with(*expected_args).and_call_original
|
|
77
|
+
expect(stderr).to eq("")
|
|
78
|
+
expect(stdout).to include("cip-12345")
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
17
82
|
end
|
|
18
83
|
end
|
|
@@ -104,6 +104,32 @@ describe "brightbox sql instances" do
|
|
|
104
104
|
end
|
|
105
105
|
end
|
|
106
106
|
|
|
107
|
+
context "--snapshot=dbi-1493j" do
|
|
108
|
+
let(:argv) { ["sql", "instances", "create", "--snapshot=dbi-1493j"] }
|
|
109
|
+
let(:expected_args) { { :snapshot_id => "dbi-1493j" } }
|
|
110
|
+
|
|
111
|
+
let(:json_response) do
|
|
112
|
+
<<-EOS
|
|
113
|
+
{
|
|
114
|
+
"id":"dbs-12345"
|
|
115
|
+
}
|
|
116
|
+
EOS
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
before do
|
|
120
|
+
stub_request(:post, "http://api.brightbox.dev/1.0/database_servers?account_id=acc-12345")
|
|
121
|
+
.with(:headers => { "Content-Type" => "application/json" },
|
|
122
|
+
:body => hash_including("snapshot" => "dbi-1493j"))
|
|
123
|
+
.and_return(:status => 202, :body => json_response)
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
it "includes schedule fields in response" do
|
|
127
|
+
expect(Brightbox::DatabaseServer).to receive(:create).with(expected_args).and_call_original
|
|
128
|
+
expect(stdout).to include("id: dbs-12345")
|
|
129
|
+
expect(stderr).to eql("")
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
107
133
|
context "--snapshots-schedule='0 12 * * 4'" do
|
|
108
134
|
let(:argv) { ["sql", "instances", "create", "--snapshots-schedule=0 12 * * 4"] }
|
|
109
135
|
let(:expected_args) { { :snapshots_schedule => "0 12 * * 4" } }
|
|
@@ -19,7 +19,7 @@ shared_context "collaborating accounts" do
|
|
|
19
19
|
"load_balancers_limit" => 5,
|
|
20
20
|
"load_balancers_used" => 0
|
|
21
21
|
}
|
|
22
|
-
Fog::Compute::
|
|
22
|
+
Fog::Brightbox::Compute::Account.new(data)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
# As returned from conn.user_collaborations.all
|
|
@@ -35,7 +35,7 @@ shared_context "collaborating accounts" do
|
|
|
35
35
|
"status" => "active"
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
Fog::Compute::
|
|
38
|
+
Fog::Brightbox::Compute::UserCollaboration.new(data)
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
# As returned from conn.user_collaborations.all
|
|
@@ -51,6 +51,6 @@ shared_context "collaborating accounts" do
|
|
|
51
51
|
"status" => "active"
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
Fog::Compute::
|
|
54
|
+
Fog::Brightbox::Compute::UserCollaboration.new(data)
|
|
55
55
|
end
|
|
56
56
|
end
|
|
@@ -13,7 +13,7 @@ describe Brightbox::Account do
|
|
|
13
13
|
expect(Brightbox::Account.all).to be_kind_of(Array)
|
|
14
14
|
|
|
15
15
|
Brightbox::Account.all.each do |account|
|
|
16
|
-
expect(account).to be_kind_of(Fog::Compute::
|
|
16
|
+
expect(account).to be_kind_of(Fog::Brightbox::Compute::Account)
|
|
17
17
|
end
|
|
18
18
|
end
|
|
19
19
|
|
|
@@ -31,7 +31,7 @@ describe Brightbox::Account do
|
|
|
31
31
|
expect(Brightbox::Account.all).to be_kind_of(Array)
|
|
32
32
|
|
|
33
33
|
Brightbox::Account.all.each do |account|
|
|
34
|
-
expect(account).to be_kind_of(Fog::Compute::
|
|
34
|
+
expect(account).to be_kind_of(Fog::Brightbox::Compute::Account)
|
|
35
35
|
end
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -18,7 +18,7 @@ describe Brightbox::Account do
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
it "returns requested account" do
|
|
21
|
-
expect(@account).to be_kind_of(Fog::Compute::
|
|
21
|
+
expect(@account).to be_kind_of(Fog::Brightbox::Compute::Account)
|
|
22
22
|
expect(@account.id).to eql(@account_id)
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -46,7 +46,7 @@ describe Brightbox::Account do
|
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
it "returns the client's owning account" do
|
|
49
|
-
expect(@account).to be_kind_of(Fog::Compute::
|
|
49
|
+
expect(@account).to be_kind_of(Fog::Brightbox::Compute::Account)
|
|
50
50
|
expect(@account.id).to eql(@account_id)
|
|
51
51
|
end
|
|
52
52
|
|
|
@@ -7,7 +7,7 @@ describe Brightbox::Api, ".conn" do
|
|
|
7
7
|
|
|
8
8
|
context "when account is not required", vcr: true do
|
|
9
9
|
it "returns a 'real' fog compute instance" do
|
|
10
|
-
expect(Brightbox::Api.conn).to be_instance_of(Fog::Compute::
|
|
10
|
+
expect(Brightbox::Api.conn).to be_instance_of(Fog::Brightbox::Compute::Real)
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -19,7 +19,7 @@ describe Brightbox::ConnectionManager, "#fetch_connection" do
|
|
|
19
19
|
|
|
20
20
|
context "when not requesting a scoped connection" do
|
|
21
21
|
it "returns a fog compute instance" do
|
|
22
|
-
expect(connection_manager.fetch_connection(false)).to be_kind_of(Fog::Compute::
|
|
22
|
+
expect(connection_manager.fetch_connection(false)).to be_kind_of(Fog::Brightbox::Compute::Real)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
it "returns a connection without account scope" do
|
|
@@ -2,7 +2,7 @@ require "spec_helper"
|
|
|
2
2
|
require "fog/brightbox/models/compute/database_server"
|
|
3
3
|
|
|
4
4
|
describe Brightbox::DatabaseServer, "#cloud_ips" do
|
|
5
|
-
let(:fog_model) { Fog::Compute::
|
|
5
|
+
let(:fog_model) { Fog::Brightbox::Compute::DatabaseServer.new(fog_settings) }
|
|
6
6
|
let(:dbs) { described_class.new(fog_model) }
|
|
7
7
|
|
|
8
8
|
context "when attribute is missing" do
|
|
@@ -4,7 +4,7 @@ require "fog/brightbox/models/compute/database_server"
|
|
|
4
4
|
describe Brightbox::DatabaseServer do
|
|
5
5
|
|
|
6
6
|
describe "#maintenance_window" do
|
|
7
|
-
let(:fog_model) { Fog::Compute::
|
|
7
|
+
let(:fog_model) { Fog::Brightbox::Compute::DatabaseServer.new(fog_settings) }
|
|
8
8
|
let(:dbs) { Brightbox::DatabaseServer.new(fog_model) }
|
|
9
9
|
|
|
10
10
|
context "when default values" do
|
|
@@ -141,7 +141,7 @@ describe Brightbox::UserCollaboration do
|
|
|
141
141
|
# Collection#load is private in fog so we can't just pass our collection
|
|
142
142
|
# into get the correct object initialised.
|
|
143
143
|
api_response_data.map do |datum|
|
|
144
|
-
Fog::Compute::
|
|
144
|
+
Fog::Brightbox::Compute::UserCollaboration.new(datum)
|
|
145
145
|
end
|
|
146
146
|
end
|
|
147
147
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: brightbox-cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- John Leach
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 1970-01-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fog-brightbox
|
|
@@ -16,20 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
- - "<"
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: '1.0'
|
|
19
|
+
version: 1.1.0
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
24
|
- - ">="
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
30
|
-
- - "<"
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '1.0'
|
|
26
|
+
version: 1.1.0
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
28
|
name: fog-core
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -128,6 +122,20 @@ dependencies:
|
|
|
128
122
|
- - "~>"
|
|
129
123
|
- !ruby/object:Gem::Version
|
|
130
124
|
version: '0.6'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: dry-inflector
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "<"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0.2'
|
|
132
|
+
type: :runtime
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - "<"
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0.2'
|
|
131
139
|
- !ruby/object:Gem::Dependency
|
|
132
140
|
name: mocha
|
|
133
141
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -174,16 +182,16 @@ dependencies:
|
|
|
174
182
|
name: rspec
|
|
175
183
|
requirement: !ruby/object:Gem::Requirement
|
|
176
184
|
requirements:
|
|
177
|
-
- - "
|
|
185
|
+
- - ">="
|
|
178
186
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '
|
|
187
|
+
version: '0'
|
|
180
188
|
type: :development
|
|
181
189
|
prerelease: false
|
|
182
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
183
191
|
requirements:
|
|
184
|
-
- - "
|
|
192
|
+
- - ">="
|
|
185
193
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '
|
|
194
|
+
version: '0'
|
|
187
195
|
- !ruby/object:Gem::Dependency
|
|
188
196
|
name: vcr
|
|
189
197
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -749,15 +757,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
749
757
|
requirements:
|
|
750
758
|
- - ">="
|
|
751
759
|
- !ruby/object:Gem::Version
|
|
752
|
-
version:
|
|
760
|
+
version: '2.0'
|
|
753
761
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
754
762
|
requirements:
|
|
755
763
|
- - ">="
|
|
756
764
|
- !ruby/object:Gem::Version
|
|
757
765
|
version: '0'
|
|
758
766
|
requirements: []
|
|
759
|
-
|
|
760
|
-
rubygems_version: 2.7.7
|
|
767
|
+
rubygems_version: 3.0.6
|
|
761
768
|
signing_key:
|
|
762
769
|
specification_version: 4
|
|
763
770
|
summary: The Brightbox cloud management system
|