tugboat 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -3
- data/features/{vagrant-adam → tugboat}/config_current_directory.feature +0 -0
- data/lib/tugboat/cli.rb +6 -1
- data/lib/tugboat/middleware/base.rb +59 -0
- data/lib/tugboat/middleware/check_credentials.rb +1 -10
- data/lib/tugboat/middleware/find_droplet.rb +23 -18
- data/lib/tugboat/middleware/list_droplets.rb +23 -19
- data/lib/tugboat/middleware/rebuild_droplet.rb +1 -1
- data/lib/tugboat/middleware/snapshot_droplet.rb +1 -1
- data/lib/tugboat/middleware/ssh_droplet.rb +15 -2
- data/lib/tugboat/middleware/wait_for_state.rb +1 -20
- data/lib/tugboat/version.rb +1 -1
- data/spec/cli/authorize_cli_spec.rb +2 -2
- data/spec/cli/create_cli_spec.rb +10 -10
- data/spec/cli/debug_cli_spec.rb +2 -2
- data/spec/cli/destroy_cli_spec.rb +22 -6
- data/spec/cli/droplets_cli_spec.rb +72 -8
- data/spec/cli/env_variable_spec.rb +4 -4
- data/spec/cli/halt_cli_spec.rb +24 -4
- data/spec/cli/info_cli_spec.rb +55 -10
- data/spec/cli/password_reset_cli_spec.rb +20 -4
- data/spec/cli/rebuild_cli_spec.rb +59 -19
- data/spec/cli/resize_cli_spec.rb +19 -3
- data/spec/cli/restart_cli_spec.rb +19 -3
- data/spec/cli/snapshot_cli_spec.rb +19 -3
- data/spec/cli/ssh_cli_spec.rb +37 -2
- data/spec/cli/start_cli_spec.rb +19 -3
- data/spec/cli/verify_cli_spec.rb +9 -9
- data/spec/cli/wait_cli_spec.rb +19 -3
- data/spec/fixtures/401.json +4 -0
- data/spec/fixtures/show_droplets.json +0 -4
- data/spec/fixtures/show_droplets_paginated_first.json +256 -0
- data/spec/fixtures/show_droplets_paginated_last.json +253 -0
- data/spec/fixtures/show_droplets_private_ip.json +258 -0
- data/spec/middleware/check_credentials_spec.rb +3 -3
- data/spec/middleware/ssh_droplet_spec.rb +21 -3
- data/tugboat.gemspec +1 -0
- metadata +26 -4
@@ -5,7 +5,11 @@ describe Tugboat::CLI do
|
|
5
5
|
|
6
6
|
describe "destroy" do
|
7
7
|
it "destroys a droplet with a fuzzy name" do
|
8
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
10
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
|
+
|
12
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
9
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'}).
|
10
14
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
15
|
|
@@ -43,7 +47,11 @@ Droplet id provided. Finding Droplet...done\e[0m, 6918990 (example.com)\nWarning
|
|
43
47
|
|
44
48
|
|
45
49
|
it "destroys a droplet with a name" do
|
46
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
50
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
51
|
+
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'}).
|
52
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
53
|
+
|
54
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
47
55
|
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'}).
|
48
56
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
49
57
|
|
@@ -62,7 +70,11 @@ Droplet name provided. Finding droplet ID...done\e[0m, 6918990 (example.com)\nWa
|
|
62
70
|
end
|
63
71
|
|
64
72
|
it "destroys a droplet with confirm flag set" do
|
65
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
73
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
74
|
+
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'}).
|
75
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
76
|
+
|
77
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
66
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'}).
|
67
79
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
68
80
|
|
@@ -80,9 +92,13 @@ Queuing destroy for 6918990 (example.com)...Deletion Successful!
|
|
80
92
|
end
|
81
93
|
|
82
94
|
it "does not destroy a droplet if no is chosen" do
|
83
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
84
|
-
|
85
|
-
|
95
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
96
|
+
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'}).
|
97
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
98
|
+
|
99
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
100
|
+
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'}).
|
101
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
86
102
|
|
87
103
|
$stdin.should_receive(:gets).and_return("n")
|
88
104
|
|
@@ -5,7 +5,11 @@ describe Tugboat::CLI do
|
|
5
5
|
|
6
6
|
describe "droplets" do
|
7
7
|
it "shows a list when droplets exist" do
|
8
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
10
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
|
+
|
12
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
9
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'}).
|
10
14
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
11
15
|
|
@@ -17,11 +21,35 @@ example2.com (ip: 104.236.32.172, status: \e[32mactive\e[0m, region: nyc3, id: 3
|
|
17
21
|
example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164444)
|
18
22
|
eos
|
19
23
|
|
20
|
-
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=200")).to have_been_made
|
24
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200")).to have_been_made
|
25
|
+
end
|
26
|
+
|
27
|
+
it "shows a private IP if droplet in list has private IP" do
|
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.9.2'}).
|
30
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
31
|
+
|
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.9.2'}).
|
34
|
+
to_return(:status => 200, :body => fixture("show_droplets_private_ip"), :headers => {'Content-Type' => 'application/json'},)
|
35
|
+
|
36
|
+
@cli.droplets
|
37
|
+
|
38
|
+
expect($stdout.string).to eq <<-eos
|
39
|
+
exampleprivate.com (ip: 104.236.32.182, private_ip: 10.131.99.89, status: \e[32mactive\e[0m, region: nyc3, id: 6918990)
|
40
|
+
example2.com (ip: 104.236.32.172, status: \e[32mactive\e[0m, region: nyc3, id: 3164956)
|
41
|
+
example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164444)
|
42
|
+
eos
|
43
|
+
|
44
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200")).to have_been_made
|
21
45
|
end
|
22
46
|
|
23
47
|
it "returns an error message when no droplets exist" do
|
24
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
50
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
51
|
+
|
52
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
25
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'}).
|
26
54
|
to_return(:status => 200, :body => fixture("show_droplets_empty"), :headers => {'Content-Type' => 'application/json'},)
|
27
55
|
|
@@ -32,11 +60,15 @@ You don't appear to have any droplets.
|
|
32
60
|
Try creating one with \e[32m`tugboat create`\e[0m
|
33
61
|
eos
|
34
62
|
|
35
|
-
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=200")).to have_been_made
|
63
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200")).to have_been_made
|
36
64
|
end
|
37
65
|
|
38
66
|
it "shows no output when --quiet is set" do
|
39
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
69
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
70
|
+
|
71
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
40
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'}).
|
41
73
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
42
74
|
|
@@ -46,11 +78,15 @@ Try creating one with \e[32m`tugboat create`\e[0m
|
|
46
78
|
# Should be /dev/null not stringIO
|
47
79
|
expect($stdout).to be_a File
|
48
80
|
|
49
|
-
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=200")).to have_been_made
|
81
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200")).to have_been_made
|
50
82
|
end
|
51
83
|
|
52
84
|
it "includes urls when --include-urls is set" do
|
53
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
87
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
88
|
+
|
89
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
54
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'}).
|
55
91
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
56
92
|
|
@@ -63,7 +99,35 @@ example2.com (ip: 104.236.32.172, status: \e[32mactive\e[0m, region: nyc3, id: 3
|
|
63
99
|
example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164444, url: 'https://cloud.digitalocean.com/droplets/3164444')
|
64
100
|
eos
|
65
101
|
|
66
|
-
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=200")).to have_been_made
|
102
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200")).to have_been_made
|
103
|
+
end
|
104
|
+
|
105
|
+
it "paginates when multiple pages are returned" do
|
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.9.2'}).
|
108
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
109
|
+
|
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.9.2'}).
|
112
|
+
to_return(:status => 200, :body => fixture("show_droplets_paginated_first"), :headers => {'Content-Type' => 'application/json'},)
|
113
|
+
|
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.9.2'}).
|
116
|
+
to_return(:status => 200, :body => fixture("show_droplets_paginated_last"), :headers => {'Content-Type' => 'application/json'},)
|
117
|
+
|
118
|
+
@cli.options = @cli.options.merge("include_urls" => true)
|
119
|
+
@cli.droplets
|
120
|
+
|
121
|
+
expect($stdout.string).to eq <<-eos
|
122
|
+
page1example.com (ip: 104.236.32.182, status: \e[32mactive\e[0m, region: nyc3, id: 6918990, url: 'https://cloud.digitalocean.com/droplets/6918990')
|
123
|
+
page1example2.com (ip: 104.236.32.172, status: \e[32mactive\e[0m, region: nyc3, id: 3164956, url: 'https://cloud.digitalocean.com/droplets/3164956')
|
124
|
+
page1example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164444, url: 'https://cloud.digitalocean.com/droplets/3164444')
|
125
|
+
page2example.com (ip: 104.236.32.182, status: \e[32mactive\e[0m, region: nyc3, id: 6918990, url: 'https://cloud.digitalocean.com/droplets/6918990')
|
126
|
+
page2example2.com (ip: 104.236.32.172, status: \e[32mactive\e[0m, region: nyc3, id: 3164956, url: 'https://cloud.digitalocean.com/droplets/3164956')
|
127
|
+
page2example3.com (ip: 104.236.32.173, status: \e[31moff\e[0m, region: nyc3, id: 3164444, url: 'https://cloud.digitalocean.com/droplets/3164444')
|
128
|
+
eos
|
129
|
+
|
130
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200")).to have_been_made
|
67
131
|
end
|
68
132
|
end
|
69
133
|
|
@@ -5,7 +5,7 @@ describe Tugboat::CLI do
|
|
5
5
|
|
6
6
|
describe "DO_API_TOKEN=foobar" do
|
7
7
|
it "verifies with the ENV variable DO_API_TOKEN" do
|
8
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
8
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
9
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
|
|
@@ -15,11 +15,11 @@ describe Tugboat::CLI do
|
|
15
15
|
|
16
16
|
@cli.verify
|
17
17
|
expect($stdout.string).to eq "Authentication with DigitalOcean was successful.\n"
|
18
|
-
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
18
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1")).to have_been_made
|
19
19
|
end
|
20
20
|
|
21
21
|
it "does not use ENV variable DO_API_TOKEN if empty" do
|
22
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
22
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
23
23
|
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'}).
|
24
24
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
25
25
|
|
@@ -29,7 +29,7 @@ describe Tugboat::CLI do
|
|
29
29
|
|
30
30
|
@cli.verify
|
31
31
|
expect($stdout.string).to eq "Authentication with DigitalOcean was successful.\n"
|
32
|
-
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
32
|
+
expect(a_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1")).to have_been_made
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
data/spec/cli/halt_cli_spec.rb
CHANGED
@@ -5,7 +5,11 @@ describe Tugboat::CLI do
|
|
5
5
|
|
6
6
|
describe "halt" do
|
7
7
|
it "halts a droplet with a fuzzy name" do
|
8
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
10
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
|
+
|
12
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
9
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'}).
|
10
14
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
15
|
|
@@ -23,7 +27,11 @@ Queuing shutdown for 6918990 (example.com)...Halt successful!
|
|
23
27
|
end
|
24
28
|
|
25
29
|
it "halts a droplet hard when the hard option is used" do
|
26
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
32
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
33
|
+
|
34
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
27
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'}).
|
28
36
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
29
37
|
|
@@ -42,6 +50,10 @@ Queuing hard shutdown for 6918990 (example.com)...Halt successful!
|
|
42
50
|
end
|
43
51
|
|
44
52
|
it "halts a droplet with an id" do
|
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.9.2'}).
|
55
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
56
|
+
|
45
57
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/?per_page=200").
|
46
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'}).
|
47
59
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
@@ -66,7 +78,11 @@ Queuing shutdown for 6918990 (example.com)...Halt successful!
|
|
66
78
|
|
67
79
|
|
68
80
|
it "halts a droplet with a name" do
|
69
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
81
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
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
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
84
|
+
|
85
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
70
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'}).
|
71
87
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
72
88
|
|
@@ -86,7 +102,11 @@ Queuing shutdown for 6918990 (example.com)...Halt successful!
|
|
86
102
|
|
87
103
|
|
88
104
|
it "does not halt a droplet that is off" do
|
89
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
105
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
106
|
+
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'}).
|
107
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
108
|
+
|
109
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
90
110
|
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
111
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
92
112
|
|
data/spec/cli/info_cli_spec.rb
CHANGED
@@ -5,7 +5,11 @@ describe Tugboat::CLI do
|
|
5
5
|
|
6
6
|
describe "info" do
|
7
7
|
it "shows a droplet with a fuzzy name" do
|
8
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
10
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
|
+
|
12
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
9
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'}).
|
10
14
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
15
|
|
@@ -32,6 +36,10 @@ Backups Active: false
|
|
32
36
|
end
|
33
37
|
|
34
38
|
it "shows a droplet made from a user image" do
|
39
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
40
|
+
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'}).
|
41
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
42
|
+
|
35
43
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/6918990?per_page=200").
|
36
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'}).
|
37
45
|
to_return(:status => 200, :body => fixture('show_droplet_user_image'), :headers => {})
|
@@ -55,6 +63,10 @@ Backups Active: false
|
|
55
63
|
end
|
56
64
|
|
57
65
|
it "shows a droplet with an id" do
|
66
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
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
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
69
|
+
|
58
70
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/6918990?per_page=200").
|
59
71
|
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
72
|
to_return(:status => 200, :body => fixture('show_droplet'), :headers => {})
|
@@ -78,7 +90,11 @@ Backups Active: false
|
|
78
90
|
end
|
79
91
|
|
80
92
|
it "shows a droplet with a name" do
|
81
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
93
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
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
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
96
|
+
|
97
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
82
98
|
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
99
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
84
100
|
|
@@ -105,7 +121,11 @@ Backups Active: false
|
|
105
121
|
end
|
106
122
|
|
107
123
|
it "allows choice of multiple droplets" do
|
108
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
124
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
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
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
127
|
+
|
128
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
109
129
|
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'}).
|
110
130
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
111
131
|
|
@@ -140,6 +160,10 @@ Backups Active: false
|
|
140
160
|
end
|
141
161
|
|
142
162
|
it "shows a droplet with an id under porcelain mode" do
|
163
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
164
|
+
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'}).
|
165
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
166
|
+
|
143
167
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/6918990?per_page=200").
|
144
168
|
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
169
|
to_return(:status => 200, :body => fixture('show_droplet'), :headers => {})
|
@@ -161,7 +185,11 @@ backups_active false
|
|
161
185
|
end
|
162
186
|
|
163
187
|
it "shows a droplet with a name under porcelain mode" do
|
164
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
188
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
189
|
+
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'}).
|
190
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
191
|
+
|
192
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
165
193
|
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'}).
|
166
194
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
167
195
|
|
@@ -186,6 +214,10 @@ backups_active false
|
|
186
214
|
end
|
187
215
|
|
188
216
|
it "shows a droplet attribute with an id" do
|
217
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
218
|
+
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'}).
|
219
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
220
|
+
|
189
221
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/6918990?per_page=200").
|
190
222
|
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'}).
|
191
223
|
to_return(:status => 200, :body => fixture('show_droplet'), :headers => {})
|
@@ -200,7 +232,11 @@ Droplet id provided. Finding Droplet...done\e[0m, 6918990 (example.com)
|
|
200
232
|
end
|
201
233
|
|
202
234
|
it "shows a droplet attribute with a name" do
|
203
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
237
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
238
|
+
|
239
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
204
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'}).
|
205
241
|
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
206
242
|
|
@@ -218,6 +254,10 @@ Droplet name provided. Finding droplet ID...done\e[0m, 6918990 (example.com)
|
|
218
254
|
end
|
219
255
|
|
220
256
|
it "gives error if invalid attribute given" do
|
257
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
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
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
260
|
+
|
221
261
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/6918990?per_page=200").
|
222
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'}).
|
223
263
|
to_return(:status => 200, :body => fixture('show_droplet'), :headers => {})
|
@@ -255,12 +295,17 @@ Provide one of the following:
|
|
255
295
|
end
|
256
296
|
|
257
297
|
it "shows a droplet attribute with a name under porcelain mode" do
|
258
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
259
|
-
|
260
|
-
|
298
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
299
|
+
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'}).
|
300
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
301
|
+
|
302
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
303
|
+
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'}).
|
304
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
305
|
+
|
261
306
|
stub_request(:get, "https://api.digitalocean.com/v2/droplets/6918990?per_page=200").
|
262
|
-
|
263
|
-
|
307
|
+
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'}).
|
308
|
+
to_return(:status => 200, :body => fixture('show_droplet'), :headers => {})
|
264
309
|
|
265
310
|
@cli.options = @cli.options.merge(:name => 'example.com', :porcelain => true, :attribute => "ip4")
|
266
311
|
@cli.info
|
@@ -5,7 +5,11 @@ describe Tugboat::CLI do
|
|
5
5
|
|
6
6
|
describe "passwordreset" do
|
7
7
|
it "resets the root password given a fuzzy name" do
|
8
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
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.9.2'}).
|
10
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
11
|
+
|
12
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
9
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'}).
|
10
14
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
11
15
|
|
@@ -24,7 +28,11 @@ Your new root password will be emailed to you
|
|
24
28
|
end
|
25
29
|
|
26
30
|
it "resets the root password given an id" do
|
27
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
31
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
32
|
+
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'}).
|
33
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
34
|
+
|
35
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
28
36
|
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'}).
|
29
37
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
30
38
|
|
@@ -48,7 +56,11 @@ Your new root password will be emailed to you
|
|
48
56
|
end
|
49
57
|
|
50
58
|
it "resets the root password given a name" do
|
51
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
59
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
60
|
+
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'}).
|
61
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
62
|
+
|
63
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
52
64
|
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'}).
|
53
65
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
54
66
|
|
@@ -68,7 +80,11 @@ Your new root password will be emailed to you
|
|
68
80
|
end
|
69
81
|
|
70
82
|
it "raises SystemExit when a request fails" do
|
71
|
-
stub_request(:get, "https://api.digitalocean.com/v2/droplets?per_page=
|
83
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=1").
|
84
|
+
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'}).
|
85
|
+
to_return(:status => 200, :body => fixture('show_droplets'), :headers => {})
|
86
|
+
|
87
|
+
stub_request(:get, "https://api.digitalocean.com/v2/droplets?page=1&per_page=200").
|
72
88
|
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
89
|
to_return(:status => 200, :body => fixture("show_droplets"), :headers => {'Content-Type' => 'application/json'},)
|
74
90
|
|