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
@@ -6,7 +6,7 @@ describe Tugboat::CLI do
6
6
  describe 'DO_API_TOKEN=foobar' do
7
7
  it 'verifies with the ENV variable DO_API_TOKEN' 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 env_variable', '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 env_variable', '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
  allow(ENV).to receive(:[]).with('HOME').and_return('/tmp/fake_home')
@@ -22,7 +22,7 @@ describe Tugboat::CLI do
22
22
 
23
23
  it 'does not use ENV variable DO_API_TOKEN if empty' do
24
24
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
25
- 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' }).
25
+ 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' }).
26
26
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
27
27
 
28
28
  allow(ENV).to receive(:[]).with('HOME').and_return('/tmp/fake_home')
@@ -6,16 +6,16 @@ describe Tugboat::CLI do
6
6
  describe 'halt' do
7
7
  it 'halts 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(:post, 'https://api.digitalocean.com/v2/droplets/6918990/actions').
17
17
  with(body: '{"type":"shutdown"}',
18
- 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' }).
18
+ 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' }).
19
19
  to_return(status: 200, body: fixture('shutdown_response'), headers: {})
20
20
 
21
21
  cli.halt('example.com')
@@ -28,16 +28,16 @@ Queuing shutdown for 6918990 (example.com)...Halt successful!
28
28
 
29
29
  it 'halts a droplet hard when the hard option is used' do
30
30
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
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_droplets'), headers: {})
33
33
 
34
34
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
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: 200, body: fixture('show_droplets'), headers: {})
37
37
 
38
38
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets/6918990/actions').
39
39
  with(body: '{"type":"power_off"}',
40
- 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' }).
40
+ 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' }).
41
41
  to_return(status: 200, body: '', headers: {})
42
42
 
43
43
  cli.options = cli.options.merge(hard: true)
@@ -51,20 +51,20 @@ Queuing hard shutdown for 6918990 (example.com)...Halt successful!
51
51
 
52
52
  it 'halts a droplet with an id' do
53
53
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
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(:get, 'https://api.digitalocean.com/v2/droplets/?per_page=200').
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: 200, body: fixture('show_droplets'), headers: { 'Content-Type' => 'application/json' })
60
60
 
61
61
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
62
- 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' }).
62
+ 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' }).
63
63
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
64
64
 
65
65
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets/6918990/actions').
66
66
  with(body: '{"type":"shutdown"}',
67
- 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
+ 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: 200, body: fixture('shutdown_response'), headers: {})
69
69
 
70
70
  cli.options = cli.options.merge(id: '6918990')
@@ -78,16 +78,16 @@ Queuing shutdown for 6918990 (example.com)...Halt successful!
78
78
 
79
79
  it 'halts a droplet with a name' do
80
80
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
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: 200, body: fixture('show_droplets'), headers: {})
83
83
 
84
84
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
85
- 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' }).
85
+ 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' }).
86
86
  to_return(status: 200, body: fixture('show_droplets'), headers: { 'Content-Type' => 'application/json' })
87
87
 
88
88
  stub_request(:post, 'https://api.digitalocean.com/v2/droplets/6918990/actions').
89
89
  with(body: '{"type":"shutdown"}',
90
- 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
+ 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('shutdown_response'), headers: {})
92
92
 
93
93
  cli.options = cli.options.merge(name: 'example.com')
@@ -101,11 +101,11 @@ Queuing shutdown for 6918990 (example.com)...Halt successful!
101
101
 
102
102
  it 'does not halt a droplet that is off' do
103
103
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
104
- 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' }).
104
+ 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' }).
105
105
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
106
106
 
107
107
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
108
- 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' }).
108
+ 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' }).
109
109
  to_return(status: 200, body: fixture('show_droplets'), headers: { 'Content-Type' => 'application/json' })
110
110
 
111
111
  cli.options = cli.options.merge(name: 'example3.com')
@@ -6,11 +6,11 @@ describe Tugboat::CLI do
6
6
  describe 'images' do
7
7
  it 'shows all images by default' 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'), headers: {})
11
11
 
12
12
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200&private=true').
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_images_global'), headers: {})
15
15
 
16
16
  cli.images
@@ -75,11 +75,11 @@ Redmine on 14.04 (slug: redmine, id: 12438838, distro: Ubuntu)
75
75
 
76
76
  it 'acknowledges when personal images are empty when showing default full list' do
77
77
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
78
- 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' }).
78
+ 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' }).
79
79
  to_return(status: 200, body: fixture('show_images'), headers: {})
80
80
 
81
81
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200&private=true').
82
- 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' }).
82
+ 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' }).
83
83
  to_return(status: 200, body: fixture('show_images_empty'), headers: {})
84
84
 
85
85
  cli.options = cli.options.merge(show_private_images: true)
@@ -145,11 +145,11 @@ Redmine on 14.04 (slug: redmine, id: 12438838, distro: Ubuntu)
145
145
 
146
146
  it 'acknowledges when personal images are empty when just show private images flag given' do
147
147
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
148
- 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' }).
148
+ 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' }).
149
149
  to_return(status: 200, body: fixture('show_images'), headers: {})
150
150
 
151
151
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200&private=true').
152
- 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' }).
152
+ 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' }).
153
153
  to_return(status: 200, body: fixture('show_images_empty'), headers: {})
154
154
 
155
155
  cli.options = cli.options.merge(show_just_private_images: true)
@@ -6,11 +6,11 @@ describe Tugboat::CLI do
6
6
  describe 'info' do
7
7
  it 'shows an error if response is not successful' 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/6918990?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: 404, body: fixture('not_found'), headers: {})
15
15
 
16
16
  cli.options = cli.options.merge(id: 6_918_990)
@@ -26,15 +26,15 @@ Droplet id provided. Finding Droplet...Failed to find Droplet: The resource you
26
26
 
27
27
  it 'shows a droplet with a fuzzy name' 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'), headers: {})
35
35
 
36
36
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
37
- 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' }).
37
+ 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' }).
38
38
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
39
39
 
40
40
  cli.info('example.com')
@@ -56,11 +56,11 @@ Backups Active: false
56
56
 
57
57
  it 'shows a droplet made from a user image' do
58
58
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
59
- 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' }).
59
+ 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' }).
60
60
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
61
61
 
62
62
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?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_droplet_user_image'), headers: {})
65
65
 
66
66
  cli.options = cli.options.merge(id: 6_918_990)
@@ -83,11 +83,11 @@ Backups Active: false
83
83
 
84
84
  it 'shows a droplet with an id' 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/6918990?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_droplet'), headers: {})
92
92
 
93
93
  cli.options = cli.options.merge(id: 6_918_990)
@@ -110,15 +110,15 @@ Backups Active: false
110
110
 
111
111
  it 'shows a droplet with a name' do
112
112
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
113
- 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' }).
113
+ 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' }).
114
114
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
115
115
 
116
116
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
117
- 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' }).
117
+ 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' }).
118
118
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
119
119
 
120
120
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
121
- 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' }).
121
+ 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' }).
122
122
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
123
123
 
124
124
  cli.options = cli.options.merge(name: 'example.com')
@@ -141,18 +141,18 @@ Backups Active: false
141
141
 
142
142
  it 'allows choice of multiple droplets' do
143
143
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
144
- 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' }).
144
+ 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' }).
145
145
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
146
146
 
147
147
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
148
- 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' }).
148
+ 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' }).
149
149
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
150
150
 
151
151
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
152
- 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' }).
152
+ 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' }).
153
153
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
154
154
 
155
- $stdin.should_receive(:gets).and_return('0')
155
+ expect($stdin).to receive(:gets).and_return('0')
156
156
 
157
157
  cli.info('examp')
158
158
 
@@ -179,11 +179,11 @@ Backups Active: false
179
179
 
180
180
  it 'shows a droplet with an id under porcelain mode' do
181
181
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
182
- 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' }).
182
+ 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' }).
183
183
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
184
184
 
185
185
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
186
- 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' }).
186
+ 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' }).
187
187
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
188
188
 
189
189
  cli.options = cli.options.merge(id: '6918990', porcelain: true)
@@ -204,15 +204,15 @@ backups_active false
204
204
 
205
205
  it 'shows a droplet with a name under porcelain mode' do
206
206
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
207
- 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' }).
207
+ 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' }).
208
208
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
209
209
 
210
210
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
211
- 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' }).
211
+ 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' }).
212
212
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
213
213
 
214
214
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
215
- 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' }).
215
+ 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' }).
216
216
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
217
217
 
218
218
  cli.options = cli.options.merge(name: 'example.com', porcelain: true)
@@ -233,11 +233,11 @@ backups_active false
233
233
 
234
234
  it 'shows a droplet attribute with an id' do
235
235
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
236
- 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' }).
236
+ 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' }).
237
237
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
238
238
 
239
239
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
240
- 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' }).
240
+ 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' }).
241
241
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
242
242
 
243
243
  cli.options = cli.options.merge(id: '6918990', attribute: 'ip4')
@@ -251,15 +251,15 @@ Droplet id provided. Finding Droplet...done\e[0m, 6918990 (example.com)
251
251
 
252
252
  it 'shows a droplet attribute with a name' do
253
253
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
254
- 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' }).
254
+ 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' }).
255
255
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
256
256
 
257
257
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
258
- 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' }).
258
+ 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' }).
259
259
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
260
260
 
261
261
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
262
- 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' }).
262
+ 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' }).
263
263
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
264
264
 
265
265
  cli.options = cli.options.merge(name: 'example.com', attribute: 'ip4')
@@ -273,11 +273,11 @@ Droplet name provided. Finding droplet ID...done\e[0m, 6918990 (example.com)
273
273
 
274
274
  it 'gives error if invalid attribute given' do
275
275
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
276
- 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' }).
276
+ 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' }).
277
277
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
278
278
 
279
279
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
280
- 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' }).
280
+ 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' }).
281
281
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
282
282
 
283
283
  cli.options = cli.options.merge(id: 6_918_990, porcelain: true, attribute: 'foo')
@@ -301,7 +301,7 @@ Provide one of the following:
301
301
 
302
302
  it 'shows a droplet attribute with an id under porcelain mode' do
303
303
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
304
- 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' }).
304
+ 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' }).
305
305
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
306
306
 
307
307
  cli.options = cli.options.merge(id: '6918990', porcelain: true, attribute: 'ip4')
@@ -314,15 +314,15 @@ Provide one of the following:
314
314
 
315
315
  it 'shows a droplet attribute with a name under porcelain mode' do
316
316
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=1').
317
- 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' }).
317
+ 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' }).
318
318
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
319
319
 
320
320
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets?page=1&per_page=200').
321
- 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' }).
321
+ 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' }).
322
322
  to_return(status: 200, body: fixture('show_droplets'), headers: {})
323
323
 
324
324
  stub_request(:get, 'https://api.digitalocean.com/v2/droplets/6918990?per_page=200').
325
- 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' }).
325
+ 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' }).
326
326
  to_return(status: 200, body: fixture('show_droplet'), headers: {})
327
327
 
328
328
  cli.options = cli.options.merge(name: 'example.com', porcelain: true, attribute: 'ip4')
@@ -6,11 +6,11 @@ describe Tugboat::CLI do
6
6
  describe 'info_image' do
7
7
  it 'shows 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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
11
11
 
12
12
  stub_request(:get, 'https://api.digitalocean.com/v2/images/12789325?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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_coreos_image'))
15
15
 
16
16
  cli.info_image('745.1.0 (alpha)')
@@ -28,11 +28,11 @@ Regions: nyc1,sfo1,nyc2,ams2,sgp1,lon1,nyc3,ams3,fra1
28
28
 
29
29
  it 'shows an image with an id' do
30
30
  stub_request(:get, 'https://api.digitalocean.com/v2/images?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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
33
33
 
34
34
  stub_request(:get, 'https://api.digitalocean.com/v2/images/12438838?per_page=200').
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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_redmine_image'))
37
37
 
38
38
  cli.options = cli.options.merge(id: 12_438_838)
@@ -51,11 +51,11 @@ Regions: nyc1,ams1,sfo1,nyc2,ams2,sgp1,lon1,nyc3,ams3,fra1
51
51
 
52
52
  it 'shows an image with a name' do
53
53
  stub_request(:get, 'https://api.digitalocean.com/v2/images?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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
56
56
 
57
57
  stub_request(:get, 'https://api.digitalocean.com/v2/images/12438838?per_page=200').
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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_redmine_image'))
60
60
 
61
61
  cli.options = cli.options.merge(name: 'Redmine on 14.04')
@@ -74,11 +74,11 @@ Regions: nyc1,ams1,sfo1,nyc2,ams2,sgp1,lon1,nyc3,ams3,fra1
74
74
 
75
75
  it 'errors if no image with matching id is found' do
76
76
  stub_request(:get, 'https://api.digitalocean.com/v2/images?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(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
79
79
 
80
80
  stub_request(:get, 'https://api.digitalocean.com/v2/images/123?per_page=200').
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: 404, body: fixture('not_found'), headers: {})
83
83
 
84
84
  cli.options = cli.options.merge(id: '123')
@@ -91,7 +91,7 @@ Image id provided. Finding Image...Failed to find Image: The resource you were a
91
91
 
92
92
  it 'errors if no image with matching name is found' do
93
93
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
94
- 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' }).
94
+ 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' }).
95
95
  to_return(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
96
96
 
97
97
  cli.options = cli.options.merge(name: 'foobarbaz')
@@ -105,7 +105,7 @@ Unable to find an image named 'foobarbaz'.
105
105
 
106
106
  it 'errors if no image with matching fuzzy name is found' do
107
107
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
108
- 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' }).
108
+ 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' }).
109
109
  to_return(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
110
110
 
111
111
  expect { cli.info_image('foobarbaz') }.to raise_error(SystemExit)
@@ -118,14 +118,14 @@ Unable to find an image named 'foobarbaz'.
118
118
 
119
119
  it 'allows choice of multiple images' do
120
120
  stub_request(:get, 'https://api.digitalocean.com/v2/images?per_page=200').
121
- 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' }).
121
+ 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' }).
122
122
  to_return(headers: { 'Content-Type' => 'application/json' }, status: 200, body: fixture('show_images'))
123
123
 
124
124
  stub_request(:get, 'https://api.digitalocean.com/v2/images/9801951?per_page=200').
125
- 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' }).
125
+ 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' }).
126
126
  to_return(status: 200, body: fixture('ubuntu_image_9801951'), headers: {})
127
127
 
128
- $stdin.should_receive(:gets).and_return('0')
128
+ expect($stdin).to receive(:gets).and_return('0')
129
129
 
130
130
  cli.info_image('ubun')
131
131