tugboat 2.2.4 → 3.0.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +284 -274
  4. data/README.md +1 -1
  5. data/features/cassettes/config/Array_of_SSH_Keys_in_Config.yml +1 -1
  6. data/features/cassettes/config/Single_SSH_key_as_number_in_config.yml +1 -1
  7. data/lib/tugboat.rb +4 -0
  8. data/lib/tugboat/middleware/create_droplet.rb +1 -1
  9. data/lib/tugboat/middleware/custom_logger.rb +3 -1
  10. data/lib/tugboat/middleware/inject_client.rb +3 -0
  11. data/lib/tugboat/middleware/list_regions.rb +2 -2
  12. data/lib/tugboat/middleware/list_sizes.rb +2 -2
  13. data/lib/tugboat/version.rb +1 -1
  14. data/license/dependency_decisions.yml +6 -0
  15. data/spec/cli/authorize_cli_spec.rb +2 -2
  16. data/spec/cli/create_cli_spec.rb +10 -10
  17. data/spec/cli/debug_cli_spec.rb +4 -4
  18. data/spec/cli/destroy_cli_spec.rb +14 -14
  19. data/spec/cli/destroy_image_cli_spec.rb +8 -8
  20. data/spec/cli/droplets_cli_spec.rb +13 -13
  21. data/spec/cli/env_variable_spec.rb +2 -2
  22. data/spec/cli/halt_cli_spec.rb +15 -15
  23. data/spec/cli/images_cli_spec.rb +6 -6
  24. data/spec/cli/info_cli_spec.rb +32 -32
  25. data/spec/cli/info_image_cli_spec.rb +13 -13
  26. data/spec/cli/keys_cli_spec.rb +1 -1
  27. data/spec/cli/password_reset_cli_spec.rb +13 -13
  28. data/spec/cli/rebuild_cli_spec.rb +48 -48
  29. data/spec/cli/regions_cli_spec.rb +3 -3
  30. data/spec/cli/resize_cli_spec.rb +12 -12
  31. data/spec/cli/restart_cli_spec.rb +12 -12
  32. data/spec/cli/sizes_cli_spec.rb +2 -2
  33. data/spec/cli/snapshot_cli_spec.rb +11 -11
  34. data/spec/cli/ssh_cli_spec.rb +6 -6
  35. data/spec/cli/start_cli_spec.rb +11 -11
  36. data/spec/cli/verify_cli_spec.rb +3 -3
  37. data/spec/cli/wait_cli_spec.rb +11 -11
  38. data/spec/middleware/check_credentials_spec.rb +1 -1
  39. data/spec/middleware/inject_client_spec.rb +2 -2
  40. data/spec/spec_helper.rb +1 -0
  41. data/tugboat.gemspec +3 -1
  42. metadata +34 -6
data/README.md CHANGED
@@ -311,7 +311,7 @@ D, [2015-12-06T12:04:27.149334 #92772] DEBUG -- : Request Headers:
311
311
  ----------------
312
312
  Authorization : Bearer [TOKEN REDACTED]
313
313
  Content-Type : application/json
314
- User-Agent : Faraday v0.11.0
314
+ User-Agent : Faraday v0.9.2
315
315
 
316
316
  Request Body:
317
317
  -------------
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Content-Type:
13
13
  - application/json
14
14
  User-Agent:
15
- - Faraday v0.11.0
15
+ - Faraday v0.9.2
16
16
  Accept-Encoding:
17
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
18
  Accept:
@@ -12,7 +12,7 @@ http_interactions:
12
12
  Content-Type:
13
13
  - application/json
14
14
  User-Agent:
15
- - Faraday v0.11.0
15
+ - Faraday v0.9.2
16
16
  Accept-Encoding:
17
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
18
  Accept:
data/lib/tugboat.rb CHANGED
@@ -2,6 +2,10 @@ require 'tugboat/cli'
2
2
  require 'tugboat/config'
3
3
  require 'tugboat/version'
4
4
  require 'json'
5
+ require 'hashie'
6
+ require 'hashie/logger'
7
+
8
+ Hashie.logger = Logger.new(nil)
5
9
 
6
10
  # TODO: do this properly
7
11
  # See: https://github.com/intridea/hashie/issues/394
@@ -56,7 +56,7 @@ module Tugboat
56
56
  exit 1
57
57
  end
58
58
 
59
- say 'Droplet created!'
59
+ say "Droplet created! Droplet ID is #{response.droplet[:id]}"
60
60
 
61
61
  @app.call(env)
62
62
  end
@@ -1,5 +1,7 @@
1
+ require 'faraday'
2
+
1
3
  module Tugboat
2
- class CustomLogger < Faraday::Middleware
4
+ class CustomLogger < ::Faraday::Middleware
3
5
  extend Forwardable
4
6
  def_delegators :@logger, :debug, :info, :warn, :error, :fatal
5
7
 
@@ -1,4 +1,5 @@
1
1
  require 'barge'
2
+ require 'droplet_kit'
2
3
  require File.expand_path('../custom_logger', __FILE__)
3
4
 
4
5
  module Tugboat
@@ -11,8 +12,10 @@ module Tugboat
11
12
  @access_token = env['config'].access_token
12
13
 
13
14
  env['barge'] = Barge::Client.new(access_token: @access_token)
15
+ env['droplet_kit'] = DropletKit::Client.new(access_token: @access_token)
14
16
 
15
17
  env['barge'].faraday.use CustomLogger if ENV['DEBUG']
18
+ env['droplet_kit'].connection.use CustomLogger if ENV['DEBUG']
16
19
 
17
20
  @app.call(env)
18
21
  end
@@ -2,8 +2,8 @@ module Tugboat
2
2
  module Middleware
3
3
  class ListRegions < Base
4
4
  def call(env)
5
- ocean = env['barge']
6
- regions = ocean.region.all.regions.sort_by(&:name)
5
+ ocean = env['droplet_kit']
6
+ regions = ocean.regions.all.sort_by(&:name)
7
7
 
8
8
  say 'Regions:'
9
9
  regions.each do |region|
@@ -2,8 +2,8 @@ module Tugboat
2
2
  module Middleware
3
3
  class ListSizes < Base
4
4
  def call(env)
5
- ocean = env['barge']
6
- sizes = ocean.size.all.sizes
5
+ ocean = env['droplet_kit']
6
+ sizes = ocean.sizes.all
7
7
 
8
8
  say 'Sizes:'
9
9
  sizes.each do |size|
@@ -1,3 +1,3 @@
1
1
  module Tugboat
2
- VERSION = '2.2.4'.freeze
2
+ VERSION = '3.0.0'.freeze
3
3
  end
@@ -78,3 +78,9 @@
78
78
  :why: The OSL license is a copyleft license
79
79
  :versions: []
80
80
  :when: 2017-03-18 22:06:15.540105000 Z
81
+ - - :approve
82
+ - minitest
83
+ - :who:
84
+ :why: MIT licensed but in the README, can remove when this PR merged - https://github.com/seattlerb/minitest/pull/665
85
+ :versions: []
86
+ :when: 2017-06-22 15:25:27.212303000 Z
@@ -11,7 +11,7 @@ describe Tugboat::CLI do
11
11
 
12
12
  it 'asks the right questions and checks credentials' do
13
13
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
14
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
14
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
15
15
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
16
16
 
17
17
  expect($stdout).to receive(:print).exactly(6).times
@@ -60,7 +60,7 @@ describe Tugboat::CLI do
60
60
 
61
61
  it 'sets defaults if no input given' do
62
62
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
63
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => %r{Bearer}, 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
63
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => %r{Bearer}, 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
64
64
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
65
65
 
66
66
  expect($stdout).to receive(:print).exactly(6).times
@@ -7,55 +7,55 @@ describe Tugboat::CLI do
7
7
  it 'with a name, uses defaults from configuration' do
8
8
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets').
9
9
  with(body: '{"name":"foo","size":"512mb","image":"ubuntu-14-04-x64","region":"nyc2","ssh_keys":["1234"],"private_networking":"false","backups_enabled":"false","ipv6":"false","user_data":null}',
10
- headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
10
+ headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
11
11
  to_return(status: 200, body: fixture('create_droplet'), headers: {})
12
12
 
13
13
  cli.create(droplet_name)
14
14
 
15
15
  expect($stdout.string).to eq <<-eos
16
- Queueing creation of droplet '#{droplet_name}'...Droplet created!
16
+ Queueing creation of droplet '#{droplet_name}'...Droplet created! Droplet ID is 3164494
17
17
  eos
18
18
  end
19
19
 
20
20
  it 'with args does not use defaults from configuration' do
21
21
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets').
22
22
  with(body: '{"name":"example.com","size":"1gb","image":"ubuntu-12-04-x64","region":"nyc3","ssh_keys":["foo_bar_key"],"private_networking":"false","backups_enabled":"false","ipv6":"false","user_data":null}',
23
- headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
23
+ headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
24
24
  to_return(status: 200, body: fixture('create_droplet'), headers: {})
25
25
 
26
26
  cli.options = cli.options.merge(image: 'ubuntu-12-04-x64', size: '1gb', region: 'nyc3', keys: 'foo_bar_key')
27
27
  cli.create('example.com')
28
28
 
29
29
  expect($stdout.string).to eq <<-eos
30
- Queueing creation of droplet 'example.com'...Droplet created!
30
+ Queueing creation of droplet 'example.com'...Droplet created! Droplet ID is 3164494
31
31
  eos
32
32
  end
33
33
 
34
34
  it 'with ip6 enable args' do
35
35
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets').
36
36
  with(body: '{"name":"example.com","size":"512mb","image":"ubuntu-14-04-x64","region":"nyc2","ssh_keys":["1234"],"private_networking":"false","backups_enabled":"false","ipv6":"true","user_data":null}',
37
- headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
37
+ headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
38
38
  to_return(status: 200, body: fixture('create_droplet'), headers: {})
39
39
 
40
40
  cli.options = cli.options.merge(ip6: 'true')
41
41
  cli.create('example.com')
42
42
 
43
43
  expect($stdout.string).to eq <<-eos
44
- Queueing creation of droplet 'example.com'...Droplet created!
44
+ Queueing creation of droplet 'example.com'...Droplet created! Droplet ID is 3164494
45
45
  eos
46
46
  end
47
47
 
48
48
  it 'with user data args' do
49
49
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets').
50
50
  with(body: '{"name":"example.com","size":"512mb","image":"ubuntu-14-04-x64","region":"nyc2","ssh_keys":["1234"],"private_networking":"false","backups_enabled":"false","ipv6":"false","user_data":"#!/bin/bash\\n\\necho \\"Hello world\\""}',
51
- headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
51
+ headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
52
52
  to_return(status: 200, body: fixture('create_droplet'), headers: {})
53
53
 
54
54
  cli.options = cli.options.merge(user_data: project_path + '/spec/fixtures/user_data.sh')
55
55
  cli.create('example.com')
56
56
 
57
57
  expect($stdout.string).to eq <<-eos
58
- Queueing creation of droplet 'example.com'...Droplet created!
58
+ Queueing creation of droplet 'example.com'...Droplet created! Droplet ID is 3164494
59
59
  eos
60
60
  end
61
61
 
@@ -98,13 +98,13 @@ eos
98
98
  it 'does not clobber named droplets that contain the word help' do
99
99
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets').
100
100
  with(body: '{"name":"somethingblahblah--help","size":"512mb","image":"ubuntu-14-04-x64","region":"nyc2","ssh_keys":["1234"],"private_networking":"false","backups_enabled":"false","ipv6":"false","user_data":null}',
101
- headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
101
+ headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
102
102
  to_return(status: 200, body: fixture('create_droplet'), headers: {})
103
103
 
104
104
  cli.create('somethingblahblah--help')
105
105
 
106
106
  expect($stdout.string).to eq <<-eos
107
- Queueing creation of droplet 'somethingblahblah--help'...Droplet created!
107
+ Queueing creation of droplet 'somethingblahblah--help'...Droplet created! Droplet ID is 3164494
108
108
  eos
109
109
  end
110
110
  end
@@ -14,11 +14,11 @@ describe Tugboat::CLI do
14
14
 
15
15
  it 'gives full faraday logs' do
16
16
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
17
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
17
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
18
18
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
19
19
 
20
20
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
21
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
21
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
22
22
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
23
23
 
24
24
  cli.droplets
@@ -41,11 +41,11 @@ describe Tugboat::CLI do
41
41
 
42
42
  it 'gives full faraday logs with redacted API keys' do
43
43
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
44
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
44
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
45
45
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
46
46
 
47
47
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
48
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
48
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
49
49
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
50
50
  cli.droplets
51
51
 
@@ -6,15 +6,15 @@ describe Tugboat::CLI do
6
6
  describe 'destroy' do
7
7
  it 'destroys a droplet with a fuzzy name' do
8
8
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
9
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
9
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
10
10
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
11
11
 
12
12
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
13
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
13
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
14
14
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
15
15
 
16
16
  stub_request(:delete, 'https://api.digitalocean.com/v2/droplets/6918990').
17
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
17
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
18
18
  to_return(status: 204, body: '', headers: {})
19
19
 
20
20
  expect($stdin).to receive(:gets).and_return('y')
@@ -28,11 +28,11 @@ eos
28
28
 
29
29
  it 'destroys a droplet with an id' do
30
30
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
31
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
31
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
32
32
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
33
33
 
34
34
  stub_request(:delete, 'https://api.digitalocean.com/v2/droplets/6918990').
35
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
35
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
36
36
  to_return(status: 204, body: '', headers: {})
37
37
 
38
38
  expect($stdin).to receive(:gets).and_return('y')
@@ -47,15 +47,15 @@ Droplet id provided. Finding Droplet...done\e[0m, 6918990 (example.com)\nWarning
47
47
 
48
48
  it 'destroys a droplet with a name' do
49
49
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
50
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
50
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
51
51
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
52
52
 
53
53
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
54
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
54
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
55
55
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
56
56
 
57
57
  stub_request(:delete, 'https://api.digitalocean.com/v2/droplets/6918990').
58
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
58
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
59
59
  to_return(status: 204, body: '', headers: {})
60
60
 
61
61
  expect($stdin).to receive(:gets).and_return('y')
@@ -70,15 +70,15 @@ Droplet name provided. Finding droplet ID...done\e[0m, 6918990 (example.com)\nWa
70
70
 
71
71
  it 'destroys a droplet with confirm flag set' do
72
72
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
73
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
73
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
74
74
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
75
75
 
76
76
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
77
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
77
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
78
78
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
79
79
 
80
80
  stub_request(:delete, 'https://api.digitalocean.com/v2/droplets/6918990').
81
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
81
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
82
82
  to_return(status: 204, body: '', headers: {})
83
83
 
84
84
  cli.options = cli.options.merge(name: 'example.com', confirm: true)
@@ -92,14 +92,14 @@ Queuing destroy for 6918990 (example.com)...Deletion Successful!
92
92
 
93
93
  it 'does not destroy a droplet if no is chosen' do
94
94
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
95
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
95
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
96
96
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
97
97
 
98
98
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
99
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
99
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
100
100
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
101
101
 
102
- $stdin.should_receive(:gets).and_return('n')
102
+ expect($stdin).to receive(:gets).and_return('n')
103
103
 
104
104
  expect { cli.destroy('example.com') }.to raise_error(SystemExit)
105
105
 
@@ -6,11 +6,11 @@ describe Tugboat::CLI do
6
6
  describe 'destroy image' do
7
7
  it 'destroys an image with a fuzzy name' do
8
8
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
9
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
9
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
10
10
  to_return(status: 200, body: fixture('show_images_global'), headers: {})
11
11
 
12
12
  stub_request(:delete, 'https://api.digitalocean.com/v2/images/6376601').
13
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
13
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
14
14
  to_return(status: 204, body: '', headers: {})
15
15
 
16
16
  expect($stdin).to receive(:gets).and_return('y')
@@ -24,11 +24,11 @@ Image fuzzy name provided. Finding image ID...done\e[0m, 6376601 (My application
24
24
 
25
25
  it 'destroys an image with an id' do
26
26
  stub_request(:get, 'https://api.digitalocean.com/v2/images/6376601?per_page=200').
27
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
27
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
28
28
  to_return(status: 200, body: fixture('show_image'), headers: {})
29
29
 
30
30
  stub_request(:delete, 'https://api.digitalocean.com/v2/images/6376601').
31
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
31
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
32
32
  to_return(status: 204, body: '', headers: {})
33
33
 
34
34
  expect($stdin).to receive(:gets).and_return('y')
@@ -43,11 +43,11 @@ Image id provided. Finding Image...done\e[0m, 6376601 (My application image)\nWa
43
43
 
44
44
  it 'destroys an image with a name' do
45
45
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
46
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
46
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
47
47
  to_return(status: 200, body: fixture('show_images_global'), headers: {})
48
48
 
49
49
  stub_request(:delete, 'https://api.digitalocean.com/v2/images/6376601').
50
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
50
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
51
51
  to_return(status: 204, body: '', headers: {})
52
52
 
53
53
  expect($stdin).to receive(:gets).and_return('y')
@@ -60,11 +60,11 @@ Image id provided. Finding Image...done\e[0m, 6376601 (My application image)\nWa
60
60
 
61
61
  it 'destroys an image with confirm flag set' do
62
62
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
63
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
63
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
64
64
  to_return(status: 200, body: fixture('show_images_global'), headers: {})
65
65
 
66
66
  stub_request(:delete, 'https://api.digitalocean.com/v2/images/6376601').
67
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
67
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
68
68
  to_return(status: 204, body: '', headers: {})
69
69
 
70
70
  cli.options = cli.options.merge(name: 'My application image')
@@ -6,11 +6,11 @@ describe Tugboat::CLI do
6
6
  describe 'droplets' do
7
7
  it 'shows a list when droplets exist' do
8
8
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
9
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
9
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
10
10
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
11
11
 
12
12
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
13
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
13
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
14
14
  to_return(status: 200, body: fixture('show_droplets'), headers: { 'Content-Type' => 'application/json' })
15
15
 
16
16
  cli.droplets
@@ -26,11 +26,11 @@ example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164
26
26
 
27
27
  it 'shows a private IP if droplet in list has private IP' do
28
28
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
29
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
29
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
30
30
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
31
31
 
32
32
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
33
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
33
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
34
34
  to_return(status: 200, body: fixture('show_droplets_private_ip'), headers: { 'Content-Type' => 'application/json' })
35
35
 
36
36
  cli.droplets
@@ -46,11 +46,11 @@ example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164
46
46
 
47
47
  it 'returns an error message when no droplets exist' do
48
48
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
49
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
49
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
50
50
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
51
51
 
52
52
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
53
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
53
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
54
54
  to_return(status: 200, body: fixture('show_droplets_empty'), headers: { 'Content-Type' => 'application/json' })
55
55
 
56
56
  cli.droplets
@@ -65,11 +65,11 @@ Try creating one with \e[32m`tugboat create`\e[0m
65
65
 
66
66
  it 'shows no output when --quiet is set' do
67
67
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
68
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
68
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
69
69
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
70
70
 
71
71
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
72
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
72
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
73
73
  to_return(status: 200, body: fixture('show_droplets'), headers: { 'Content-Type' => 'application/json' })
74
74
 
75
75
  cli.options = cli.options.merge(quiet: true)
@@ -83,11 +83,11 @@ Try creating one with \e[32m`tugboat create`\e[0m
83
83
 
84
84
  it 'includes urls when --include-urls is set' do
85
85
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
86
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
86
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
87
87
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
88
88
 
89
89
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
90
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
90
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
91
91
  to_return(status: 200, body: fixture('show_droplets'), headers: { 'Content-Type' => 'application/json' })
92
92
 
93
93
  cli.options = cli.options.merge('include_urls' => true)
@@ -104,15 +104,15 @@ example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164
104
104
 
105
105
  it 'paginates when multiple pages are returned' do
106
106
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
107
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
107
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
108
108
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
109
109
 
110
110
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
111
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
111
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
112
112
  to_return(status: 200, body: fixture('show_droplets_paginated_first'), headers: { 'Content-Type' => 'application/json' })
113
113
 
114
114
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=2&per_page=200').
115
- with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.11.0' }).
115
+ with(headers: { 'Accept' => '*/*', 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'Authorization' => 'Bearer foo', 'Content-Type' => 'application/json', 'User-Agent' => 'Faraday v0.9.2' }).
116
116
  to_return(status: 200, body: fixture('show_droplets_paginated_last'), headers: { 'Content-Type' => 'application/json' })
117
117
 
118
118
  cli.options = cli.options.merge('include_urls' => true)