brightbox-cli 1.2.2 → 1.3.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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/Gemfile +0 -2
  4. data/Gemfile.lock +25 -23
  5. data/Rakefile +1 -1
  6. data/bin/_brightbox-bash-completer +327 -328
  7. data/bin/brightbox +2 -2
  8. data/bin/brightbox-accounts +2 -2
  9. data/bin/brightbox-cloudips +2 -2
  10. data/bin/brightbox-config +2 -2
  11. data/bin/brightbox-firewall-policies +2 -2
  12. data/bin/brightbox-firewall-rules +2 -2
  13. data/bin/brightbox-groups +2 -2
  14. data/bin/brightbox-images +2 -2
  15. data/bin/brightbox-lbs +2 -2
  16. data/bin/brightbox-servers +2 -2
  17. data/bin/brightbox-types +2 -2
  18. data/bin/brightbox-users +2 -2
  19. data/bin/brightbox-zones +2 -2
  20. data/brightbox-cli.gemspec +14 -15
  21. data/lib/brightbox-cli/api.rb +4 -6
  22. data/lib/brightbox-cli/collaboration.rb +1 -3
  23. data/lib/brightbox-cli/commands/accounts/accept-invite.rb +1 -1
  24. data/lib/brightbox-cli/commands/accounts/default.rb +1 -1
  25. data/lib/brightbox-cli/commands/accounts/list.rb +1 -1
  26. data/lib/brightbox-cli/commands/accounts/remove.rb +1 -1
  27. data/lib/brightbox-cli/commands/accounts/reset-ftp-password.rb +1 -1
  28. data/lib/brightbox-cli/commands/accounts/show.rb +1 -1
  29. data/lib/brightbox-cli/commands/cloudips/create.rb +1 -1
  30. data/lib/brightbox-cli/commands/cloudips/destroy.rb +1 -1
  31. data/lib/brightbox-cli/commands/cloudips/list.rb +1 -1
  32. data/lib/brightbox-cli/commands/cloudips/show.rb +1 -1
  33. data/lib/brightbox-cli/commands/cloudips/unmap.rb +1 -1
  34. data/lib/brightbox-cli/commands/collaborations.rb +4 -4
  35. data/lib/brightbox-cli/commands/config/client-add.rb +1 -1
  36. data/lib/brightbox-cli/commands/config/client-default.rb +1 -1
  37. data/lib/brightbox-cli/commands/config/client-list.rb +1 -1
  38. data/lib/brightbox-cli/commands/config/client-remove.rb +1 -1
  39. data/lib/brightbox-cli/commands/config/user-add.rb +1 -1
  40. data/lib/brightbox-cli/commands/firewall/policies-destroy.rb +1 -1
  41. data/lib/brightbox-cli/commands/firewall/policies-list.rb +1 -1
  42. data/lib/brightbox-cli/commands/firewall/policies-show.rb +1 -1
  43. data/lib/brightbox-cli/commands/firewall/rules-destroy.rb +1 -1
  44. data/lib/brightbox-cli/commands/firewall/rules-list.rb +1 -1
  45. data/lib/brightbox-cli/commands/firewall/rules-show.rb +1 -1
  46. data/lib/brightbox-cli/commands/groups/add-server.rb +1 -1
  47. data/lib/brightbox-cli/commands/groups/create.rb +1 -1
  48. data/lib/brightbox-cli/commands/groups/destroy.rb +1 -1
  49. data/lib/brightbox-cli/commands/groups/list.rb +1 -1
  50. data/lib/brightbox-cli/commands/groups/show.rb +1 -1
  51. data/lib/brightbox-cli/commands/images/destroy.rb +1 -1
  52. data/lib/brightbox-cli/commands/images/locking.rb +37 -0
  53. data/lib/brightbox-cli/commands/images/register.rb +1 -1
  54. data/lib/brightbox-cli/commands/images/show.rb +18 -4
  55. data/lib/brightbox-cli/commands/lbs/add-nodes.rb +1 -1
  56. data/lib/brightbox-cli/commands/lbs/destroy.rb +1 -1
  57. data/lib/brightbox-cli/commands/lbs/list.rb +1 -1
  58. data/lib/brightbox-cli/commands/lbs/locking.rb +37 -0
  59. data/lib/brightbox-cli/commands/lbs/remove-nodes.rb +1 -1
  60. data/lib/brightbox-cli/commands/lbs/show.rb +3 -2
  61. data/lib/brightbox-cli/commands/servers/activate-console.rb +1 -1
  62. data/lib/brightbox-cli/commands/servers/destroy.rb +1 -1
  63. data/lib/brightbox-cli/commands/servers/locking.rb +37 -0
  64. data/lib/brightbox-cli/commands/servers/reboot.rb +20 -0
  65. data/lib/brightbox-cli/commands/servers/reset.rb +20 -0
  66. data/lib/brightbox-cli/commands/servers/show.rb +1 -1
  67. data/lib/brightbox-cli/commands/servers/shutdown.rb +1 -1
  68. data/lib/brightbox-cli/commands/servers/snapshot.rb +1 -1
  69. data/lib/brightbox-cli/commands/servers/start.rb +1 -1
  70. data/lib/brightbox-cli/commands/servers/stop.rb +1 -1
  71. data/lib/brightbox-cli/commands/sql/instances_create.rb +1 -1
  72. data/lib/brightbox-cli/commands/sql/instances_destroy.rb +1 -1
  73. data/lib/brightbox-cli/commands/sql/instances_list.rb +1 -1
  74. data/lib/brightbox-cli/commands/sql/instances_locking.rb +39 -0
  75. data/lib/brightbox-cli/commands/sql/instances_reset_password.rb +1 -1
  76. data/lib/brightbox-cli/commands/sql/instances_show.rb +1 -1
  77. data/lib/brightbox-cli/commands/sql/instances_snapshot.rb +1 -1
  78. data/lib/brightbox-cli/commands/sql/snapshots_destroy.rb +1 -1
  79. data/lib/brightbox-cli/commands/sql/snapshots_list.rb +1 -1
  80. data/lib/brightbox-cli/commands/sql/snapshots_locking.rb +39 -0
  81. data/lib/brightbox-cli/commands/sql/snapshots_show.rb +9 -2
  82. data/lib/brightbox-cli/commands/sql/types.rb +2 -2
  83. data/lib/brightbox-cli/commands/types.rb +2 -2
  84. data/lib/brightbox-cli/commands/user-collaborations.rb +2 -2
  85. data/lib/brightbox-cli/commands/users/list.rb +1 -1
  86. data/lib/brightbox-cli/commands/users/show.rb +1 -1
  87. data/lib/brightbox-cli/commands/zones.rb +1 -1
  88. data/lib/brightbox-cli/config/accounts.rb +1 -1
  89. data/lib/brightbox-cli/config/api_client.rb +3 -3
  90. data/lib/brightbox-cli/config/authentication_tokens.rb +2 -2
  91. data/lib/brightbox-cli/config/cache.rb +1 -1
  92. data/lib/brightbox-cli/config/dirty.rb +1 -1
  93. data/lib/brightbox-cli/config/user_application.rb +3 -3
  94. data/lib/brightbox-cli/config.rb +2 -2
  95. data/lib/brightbox-cli/database_server.rb +2 -1
  96. data/lib/brightbox-cli/database_snapshot.rb +1 -0
  97. data/lib/brightbox-cli/detailed_server.rb +1 -0
  98. data/lib/brightbox-cli/gli_global_hooks.rb +2 -2
  99. data/lib/brightbox-cli/images.rb +2 -1
  100. data/lib/brightbox-cli/legacy/args_adjuster.rb +3 -3
  101. data/lib/brightbox-cli/load_balancers.rb +1 -0
  102. data/lib/brightbox-cli/servers.rb +2 -1
  103. data/lib/brightbox-cli/user_collaboration.rb +1 -1
  104. data/lib/brightbox-cli/version.rb +1 -1
  105. data/lib/brightbox_cli.rb +3 -3
  106. data/locales/en.yml +24 -0
  107. data/spec/commands/accounts/default_spec.rb +2 -2
  108. data/spec/commands/accounts/list_spec.rb +7 -7
  109. data/spec/commands/accounts/reset_ftp_password_spec.rb +2 -2
  110. data/spec/commands/accounts/show_spec.rb +2 -2
  111. data/spec/commands/cloudips/create_spec.rb +2 -2
  112. data/spec/commands/cloudips/destroy_spec.rb +2 -2
  113. data/spec/commands/cloudips/list_spec.rb +2 -2
  114. data/spec/commands/cloudips/map_spec.rb +3 -3
  115. data/spec/commands/cloudips/show_spec.rb +2 -2
  116. data/spec/commands/cloudips/unmap_spec.rb +2 -2
  117. data/spec/commands/cloudips/update_spec.rb +2 -2
  118. data/spec/commands/config/client_add_spec.rb +2 -2
  119. data/spec/commands/config/client_default_spec.rb +2 -2
  120. data/spec/commands/config/client_list_spec.rb +2 -2
  121. data/spec/commands/config/client_remove_spec.rb +2 -2
  122. data/spec/commands/config/user_add_spec.rb +3 -6
  123. data/spec/commands/firewall_policies/update_spec.rb +7 -7
  124. data/spec/commands/groups/add_server_spec.rb +2 -2
  125. data/spec/commands/groups/create_spec.rb +2 -2
  126. data/spec/commands/groups/destroy_spec.rb +2 -2
  127. data/spec/commands/groups/list_spec.rb +2 -2
  128. data/spec/commands/groups/move_servers_spec.rb +2 -2
  129. data/spec/commands/groups/remove_servers_spec.rb +2 -2
  130. data/spec/commands/groups/show_spec.rb +2 -2
  131. data/spec/commands/groups/update_spec.rb +2 -2
  132. data/spec/commands/images/destroy_spec.rb +2 -2
  133. data/spec/commands/images/list_spec.rb +2 -2
  134. data/spec/commands/images/locking_spec.rb +73 -0
  135. data/spec/commands/images/register_spec.rb +2 -2
  136. data/spec/commands/images/show_spec.rb +2 -2
  137. data/spec/commands/images/update_spec.rb +2 -2
  138. data/spec/commands/lbs/add_nodes_spec.rb +2 -2
  139. data/spec/commands/lbs/create_spec.rb +2 -2
  140. data/spec/commands/lbs/destroy_spec.rb +2 -2
  141. data/spec/commands/lbs/list_spec.rb +2 -2
  142. data/spec/commands/lbs/locking_spec.rb +73 -0
  143. data/spec/commands/lbs/remove_nodes_spec.rb +2 -2
  144. data/spec/commands/lbs/show_spec.rb +2 -2
  145. data/spec/commands/lbs/update_spec.rb +2 -2
  146. data/spec/commands/policies/apply_spec.rb +2 -2
  147. data/spec/commands/policies/create_spec.rb +2 -2
  148. data/spec/commands/policies/destroy_spec.rb +2 -2
  149. data/spec/commands/policies/list_spec.rb +2 -2
  150. data/spec/commands/policies/remove_spec.rb +2 -2
  151. data/spec/commands/policies/show_spec.rb +2 -2
  152. data/spec/commands/policies/update_spec.rb +2 -2
  153. data/spec/commands/rules/create_spec.rb +2 -2
  154. data/spec/commands/rules/destroy_spec.rb +2 -2
  155. data/spec/commands/rules/list_spec.rb +2 -2
  156. data/spec/commands/rules/show_spec.rb +2 -2
  157. data/spec/commands/rules/update_spec.rb +2 -2
  158. data/spec/commands/servers/activate_console_spec.rb +2 -2
  159. data/spec/commands/servers/create_spec.rb +2 -2
  160. data/spec/commands/servers/destroy_spec.rb +2 -2
  161. data/spec/commands/servers/list_spec.rb +2 -2
  162. data/spec/commands/servers/locking_spec.rb +73 -0
  163. data/spec/commands/servers/reboot_spec.rb +55 -0
  164. data/spec/commands/servers/reset_spec.rb +55 -0
  165. data/spec/commands/servers/show_spec.rb +2 -2
  166. data/spec/commands/servers/shutdown_spec.rb +2 -2
  167. data/spec/commands/servers/snapshot_spec.rb +2 -2
  168. data/spec/commands/servers/start_spec.rb +2 -2
  169. data/spec/commands/servers/stop_spec.rb +2 -2
  170. data/spec/commands/servers/update_spec.rb +2 -2
  171. data/spec/commands/sql/instances/create_spec.rb +4 -4
  172. data/spec/commands/sql/instances/locking_spec.rb +73 -0
  173. data/spec/commands/sql/instances/snapshot_spec.rb +2 -2
  174. data/spec/commands/sql/snapshots/list_spec.rb +1 -1
  175. data/spec/commands/sql/snapshots/locking_spec.rb +73 -0
  176. data/spec/commands/sql/snapshots/show_spec.rb +1 -1
  177. data/spec/commands/sql/types/list_spec.rb +1 -1
  178. data/spec/commands/types/list_spec.rb +2 -2
  179. data/spec/commands/users/list_spec.rb +2 -2
  180. data/spec/commands/users/show_spec.rb +2 -2
  181. data/spec/commands/users/update_spec.rb +2 -2
  182. data/spec/commands/zones/list_spec.rb +2 -2
  183. data/spec/spec_helper.rb +8 -9
  184. data/spec/support/common_helpers.rb +10 -10
  185. data/spec/support/config_helpers.rb +0 -1
  186. data/spec/support/faux_io.rb +10 -14
  187. data/spec/support/password_prompt_helpers.rb +1 -2
  188. data/spec/support/server_helper.rb +1 -1
  189. data/spec/support/shared/api_resource_examples.rb +8 -8
  190. data/spec/support/shared/collaborating_accounts_context.rb +2 -2
  191. data/spec/support/shared/config_section_types.rb +2 -2
  192. data/spec/support/tmp_config.rb +4 -8
  193. data/spec/support/token_helpers.rb +1 -1
  194. data/spec/support/vcr.rb +1 -1
  195. data/spec/unit/brightbox/account/get_spec.rb +1 -1
  196. data/spec/unit/brightbox/account_spec.rb +3 -3
  197. data/spec/unit/brightbox/api/find_spec.rb +6 -6
  198. data/spec/unit/brightbox/api/require_account_spec.rb +1 -1
  199. data/spec/unit/brightbox/bb_config/account_spec.rb +3 -3
  200. data/spec/unit/brightbox/bb_config/clear_default_client_spec.rb +8 -8
  201. data/spec/unit/brightbox/bb_config/client_has_alias_spec.rb +3 -3
  202. data/spec/unit/brightbox/bb_config/client_name_spec.rb +5 -5
  203. data/spec/unit/brightbox/bb_config/client_named_spec.rb +6 -6
  204. data/spec/unit/brightbox/bb_config/config_directory_exists_spec.rb +3 -3
  205. data/spec/unit/brightbox/bb_config/config_spec.rb +5 -5
  206. data/spec/unit/brightbox/bb_config/default_account_spec.rb +6 -6
  207. data/spec/unit/brightbox/bb_config/default_client_spec.rb +2 -2
  208. data/spec/unit/brightbox/bb_config/find_or_set_default_account_spec.rb +14 -14
  209. data/spec/unit/brightbox/bb_config/has_multiple_clients_spec.rb +2 -2
  210. data/spec/unit/brightbox/bb_config/renew_tokens_spec.rb +4 -5
  211. data/spec/unit/brightbox/bb_config/save_spec.rb +2 -2
  212. data/spec/unit/brightbox/bb_config/to_fog_spec.rb +2 -2
  213. data/spec/unit/brightbox/bb_config/using_client_spec.rb +10 -10
  214. data/spec/unit/brightbox/collaborating_account/resource_type_spec.rb +4 -4
  215. data/spec/unit/brightbox/collaborating_account_spec.rb +3 -3
  216. data/spec/unit/brightbox/config/api_client/to_fog_spec.rb +2 -2
  217. data/spec/unit/brightbox/config/api_client/valid_spec.rb +5 -5
  218. data/spec/unit/brightbox/config/section_name_deduplicator_spec.rb +1 -1
  219. data/spec/unit/brightbox/config/to_fog_spec.rb +3 -3
  220. data/spec/unit/brightbox/config/user_application/to_fog_spec.rb +2 -2
  221. data/spec/unit/brightbox/config/user_application/valid_spec.rb +6 -6
  222. data/spec/unit/brightbox/connection_manager/fetch_connection_spec.rb +17 -17
  223. data/spec/unit/brightbox/firewall_policy/apply_to_spec.rb +3 -3
  224. data/spec/unit/brightbox/firewall_policy/create_spec.rb +5 -5
  225. data/spec/unit/brightbox/firewall_policy/destroy_spec.rb +4 -4
  226. data/spec/unit/brightbox/firewall_policy/find_or_call_spec.rb +1 -1
  227. data/spec/unit/brightbox/firewall_policy/find_spec.rb +1 -1
  228. data/spec/unit/brightbox/firewall_rule/create_spec.rb +1 -1
  229. data/spec/unit/brightbox/firewall_rule/destroy_spec.rb +2 -2
  230. data/spec/unit/brightbox/firewall_rule/find_spec.rb +3 -3
  231. data/spec/unit/brightbox/firewall_rule/from_policy_spec.rb +2 -2
  232. data/spec/unit/brightbox/legacy/args_adjuster_spec.rb +12 -12
  233. data/spec/unit/brightbox/server/create_spec.rb +2 -2
  234. data/spec/unit/brightbox/server/destroy_spec.rb +3 -3
  235. data/spec/unit/brightbox/server/find_or_call_spec.rb +1 -1
  236. data/spec/unit/brightbox/server/shutdown_spec.rb +2 -4
  237. data/spec/unit/brightbox/server/start_spec.rb +4 -4
  238. data/spec/unit/brightbox/server/stop_spec.rb +2 -4
  239. data/spec/unit/brightbox/server/update_spec.rb +2 -2
  240. data/spec/unit/brightbox/server_group/find_spec.rb +1 -1
  241. data/spec/unit/brightbox/user_collaboration/get_for_account_spec.rb +4 -4
  242. data/spec/unit/brightbox/user_collaboration/remove_spec.rb +11 -11
  243. data/spec/unit/nilable_hash_spec.rb +6 -6
  244. data/spec/unit/tmp_config_spec.rb +1 -1
  245. metadata +67 -31
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox rules" do
4
4
 
5
5
  describe "update" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["rules", "update"] }
11
+ let(:argv) { %w(rules update) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "activate_console" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "activate_console"] }
11
+ let(:argv) { %w(servers activate_console) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "create" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "create"] }
11
+ let(:argv) { %w(servers create) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "destroy" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "destroy"] }
11
+ let(:argv) { %w(servers destroy) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "list" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "list"] }
11
+ let(:argv) { %w(servers list) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -0,0 +1,73 @@
1
+ require "spec_helper"
2
+
3
+ describe "brightbox servers" do
4
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
5
+ let(:stdout) { output.stdout }
6
+ let(:stderr) { output.stderr }
7
+
8
+ let(:resource_class) { Brightbox::Server }
9
+ let(:resource_id) { "srv-12345" }
10
+ let(:resource) { double(resource_class, :to_s => resource_id) }
11
+
12
+ let(:resource_ids) { [resource_id] }
13
+ let(:results) { [resource] }
14
+
15
+ before do
16
+ config = config_from_contents(USER_APP_CONFIG_CONTENTS)
17
+ cache_access_token(config, "f83da712e6299cda953513ec07f7a754f747d727")
18
+ end
19
+
20
+ describe "lock" do
21
+ context "when resource is known" do
22
+ let(:argv) { %w(servers lock srv-12345) }
23
+
24
+ before do
25
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
26
+ expect(resource).to receive(:lock!)
27
+ end
28
+
29
+ it "outputs notice to STDERR" do
30
+ expect(stderr).to match("Locking #{resource_id}")
31
+ end
32
+ end
33
+
34
+ context "when resource is unknown" do
35
+ let(:argv) { %w(servers lock srv-12345) }
36
+
37
+ before do
38
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
39
+ end
40
+
41
+ it "outputs error to STDERR" do
42
+ expect(stderr).to match("Couldn't find #{resource_id}")
43
+ end
44
+ end
45
+ end
46
+
47
+ describe "unlock" do
48
+ context "when resource is known" do
49
+ let(:argv) { %w(servers unlock srv-12345) }
50
+
51
+ before do
52
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
53
+ expect(resource).to receive(:unlock!)
54
+ end
55
+
56
+ it "outputs notice to STDERR" do
57
+ expect(stderr).to match("Unlocking #{resource_id}")
58
+ end
59
+ end
60
+
61
+ context "when resource is unknown" do
62
+ let(:argv) { %w(servers unlock srv-12345) }
63
+
64
+ before do
65
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
66
+ end
67
+
68
+ it "outputs error to STDERR" do
69
+ expect(stderr).to match("Couldn't find #{resource_id}")
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+
3
+ describe "brightbox servers" do
4
+
5
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
6
+ let(:stdout) { output.stdout }
7
+ let(:stderr) { output.stderr }
8
+
9
+ let(:resource_class) { Brightbox::Server }
10
+ let(:resource_id) { "srv-12345" }
11
+ let(:resource) { double(resource_class, :to_s => resource_id) }
12
+
13
+ let(:resource_ids) { [resource_id] }
14
+ let(:results) { [resource] }
15
+
16
+ before do
17
+ config = config_from_contents(USER_APP_CONFIG_CONTENTS)
18
+ cache_access_token(config, "f83da712e6299cda953513ec07f7a754f747d727")
19
+ end
20
+
21
+ describe "reboot" do
22
+ context "when resource is known" do
23
+ let(:argv) { %w(servers reboot srv-12345) }
24
+
25
+ before do
26
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
27
+ expect(resource).to receive(:reboot).with(false)
28
+ end
29
+
30
+ it "outputs notice to STDERR" do
31
+ expect(stderr).to match("Sending reboot to #{resource_id}")
32
+ end
33
+ end
34
+
35
+ context "when resource is unknown" do
36
+ let(:argv) { %w(servers reboot srv-12345) }
37
+
38
+ before do
39
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
40
+ end
41
+
42
+ it "outputs error to STDERR" do
43
+ expect(stderr).to match("ERROR: Couldn't find #{resource_id}")
44
+ end
45
+ end
46
+
47
+ context "when no arguments are passed" do
48
+ let(:argv) { %w(servers reboot) }
49
+
50
+ it "outputs error to STDERR" do
51
+ expect(stderr).to match("ERROR: You must specify servers to reboot")
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+
3
+ describe "brightbox servers" do
4
+
5
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
6
+ let(:stdout) { output.stdout }
7
+ let(:stderr) { output.stderr }
8
+
9
+ let(:resource_class) { Brightbox::Server }
10
+ let(:resource_id) { "srv-12345" }
11
+ let(:resource) { double(resource_class, :to_s => resource_id) }
12
+
13
+ let(:resource_ids) { [resource_id] }
14
+ let(:results) { [resource] }
15
+
16
+ before do
17
+ config = config_from_contents(USER_APP_CONFIG_CONTENTS)
18
+ cache_access_token(config, "f83da712e6299cda953513ec07f7a754f747d727")
19
+ end
20
+
21
+ describe "reset" do
22
+ context "when resource is known" do
23
+ let(:argv) { %w(servers reset srv-12345) }
24
+
25
+ before do
26
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
27
+ expect(resource).to receive(:reboot).with(true)
28
+ end
29
+
30
+ it "outputs notice to STDERR" do
31
+ expect(stderr).to match("Sending reset to #{resource_id}")
32
+ end
33
+ end
34
+
35
+ context "when resource is unknown" do
36
+ let(:argv) { %w(servers reset srv-12345) }
37
+
38
+ before do
39
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
40
+ end
41
+
42
+ it "outputs error to STDERR" do
43
+ expect(stderr).to match("ERROR: Couldn't find #{resource_id}")
44
+ end
45
+ end
46
+
47
+ context "when no arguments are passed" do
48
+ let(:argv) { %w(servers reset) }
49
+
50
+ it "outputs error to STDERR" do
51
+ expect(stderr).to match("ERROR: You must specify servers to reset")
52
+ end
53
+ end
54
+ end
55
+ end
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "show" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "show"] }
11
+ let(:argv) { %w(servers show) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "shutdown" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "shutdown"] }
11
+ let(:argv) { %w(servers shutdown) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "snapshot" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "snapshot"] }
11
+ let(:argv) { %w(servers snapshot) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "start" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "start"] }
11
+ let(:argv) { %w(servers start) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "stop" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "stop"] }
11
+ let(:argv) { %w(servers stop) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox servers" do
4
4
 
5
5
  describe "update" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["servers", "update"] }
11
+ let(:argv) { %w(servers update) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -14,7 +14,7 @@ describe "brightbox database-servers" do
14
14
  end
15
15
 
16
16
  context "without arguments", :vcr do
17
- let(:argv) { %w{sql instances create } }
17
+ let(:argv) { %w(sql instances create) }
18
18
  let(:expected_password) { "477wwwj48yifrnuk" }
19
19
 
20
20
  it "reports the new admin username" do
@@ -27,7 +27,7 @@ describe "brightbox database-servers" do
27
27
  end
28
28
 
29
29
  context "--allow-access=10.0.0.0", :vcr do
30
- let(:argv) { %w{sql instances create --allow-access=10.0.0.0} }
30
+ let(:argv) { %w(sql instances create --allow-access=10.0.0.0) }
31
31
  let(:expected_args) { { :allow_access => ["10.0.0.0"] } }
32
32
 
33
33
  it "correctly sends API parameters" do
@@ -37,8 +37,8 @@ describe "brightbox database-servers" do
37
37
  end
38
38
 
39
39
  context "--allow-access=srv-12345,grp-12345", :vcr do
40
- let(:argv) { %w{sql instances create --allow-access srv-12345,grp-12345} }
41
- let(:expected_args) { { :allow_access => %w{srv-12345 grp-12345} } }
40
+ let(:argv) { %w(sql instances create --allow-access srv-12345,grp-12345) }
41
+ let(:expected_args) { { :allow_access => %w(srv-12345 grp-12345) } }
42
42
 
43
43
  it "correctly sends API parameters" do
44
44
  expect(Brightbox::DatabaseServer).to receive(:create).with(expected_args).and_call_original
@@ -0,0 +1,73 @@
1
+ require "spec_helper"
2
+
3
+ describe "brightbox sql instances" do
4
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
5
+ let(:stdout) { output.stdout }
6
+ let(:stderr) { output.stderr }
7
+
8
+ let(:resource_class) { Brightbox::DatabaseServer }
9
+ let(:resource_id) { "dbs-12345" }
10
+ let(:resource) { double(resource_class, :to_s => resource_id) }
11
+
12
+ let(:resource_ids) { [resource_id] }
13
+ let(:results) { [resource] }
14
+
15
+ before do
16
+ config = config_from_contents(USER_APP_CONFIG_CONTENTS)
17
+ cache_access_token(config, "f83da712e6299cda953513ec07f7a754f747d727")
18
+ end
19
+
20
+ describe "lock" do
21
+ context "when resource is known" do
22
+ let(:argv) { %w(sql instances lock dbs-12345) }
23
+
24
+ before do
25
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
26
+ expect(resource).to receive(:lock!)
27
+ end
28
+
29
+ it "outputs notice to STDERR" do
30
+ expect(stderr).to match("Locking #{resource_id}")
31
+ end
32
+ end
33
+
34
+ context "when resource is unknown" do
35
+ let(:argv) { %w(sql instances lock dbs-12345) }
36
+
37
+ before do
38
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
39
+ end
40
+
41
+ it "outputs error to STDERR" do
42
+ expect(stderr).to match("Couldn't find #{resource_id}")
43
+ end
44
+ end
45
+ end
46
+
47
+ describe "unlock" do
48
+ context "when resource is known" do
49
+ let(:argv) { %w(sql instances unlock dbs-12345) }
50
+
51
+ before do
52
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
53
+ expect(resource).to receive(:unlock!)
54
+ end
55
+
56
+ it "outputs notice to STDERR" do
57
+ expect(stderr).to match("Unlocking #{resource_id}")
58
+ end
59
+ end
60
+
61
+ context "when resource is unknown" do
62
+ let(:argv) { %w(sql instances unlock dbs-12345) }
63
+
64
+ before do
65
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
66
+ end
67
+
68
+ it "outputs error to STDERR" do
69
+ expect(stderr).to match("Couldn't find #{resource_id}")
70
+ end
71
+ end
72
+ end
73
+ end
@@ -14,7 +14,7 @@ describe "brightbox database-servers" do
14
14
  end
15
15
 
16
16
  context "when database server active", :vcr do
17
- let(:argv) { %w{sql instances snapshot dbs-12345} }
17
+ let(:argv) { %w(sql instances snapshot dbs-12345) }
18
18
  let(:expected_args) { { :allow_access => ["10.0.0.0"] } }
19
19
 
20
20
  it "correctly sends API parameters" do
@@ -24,7 +24,7 @@ describe "brightbox database-servers" do
24
24
  end
25
25
 
26
26
  context "when database server can not be snapshotted", :vcr do
27
- let(:argv) { %w{sql instances snapshot dbs-12345} }
27
+ let(:argv) { %w(sql instances snapshot dbs-12345) }
28
28
 
29
29
  it "reports an error to the user" do
30
30
  expect_any_instance_of(Brightbox::DatabaseServer).to receive(:snapshot).and_call_original
@@ -14,7 +14,7 @@ describe "brightbox database-snapshots" do
14
14
  end
15
15
 
16
16
  context "when resources are available", :vcr do
17
- let(:argv) { %w{sql snapshots list} }
17
+ let(:argv) { %w(sql snapshots list) }
18
18
 
19
19
  it "does not output to stderr" do
20
20
  expect(stderr).to be_empty
@@ -0,0 +1,73 @@
1
+ require "spec_helper"
2
+
3
+ describe "brightbox sql snapshots" do
4
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
5
+ let(:stdout) { output.stdout }
6
+ let(:stderr) { output.stderr }
7
+
8
+ let(:resource_class) { Brightbox::DatabaseSnapshot }
9
+ let(:resource_id) { "dbi-12345" }
10
+ let(:resource) { double(resource_class, :to_s => resource_id) }
11
+
12
+ let(:resource_ids) { [resource_id] }
13
+ let(:results) { [resource] }
14
+
15
+ before do
16
+ config = config_from_contents(USER_APP_CONFIG_CONTENTS)
17
+ cache_access_token(config, "f83da712e6299cda953513ec07f7a754f747d727")
18
+ end
19
+
20
+ describe "lock" do
21
+ context "when resource is known" do
22
+ let(:argv) { %w(sql snapshots lock dbi-12345) }
23
+
24
+ before do
25
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
26
+ expect(resource).to receive(:lock!)
27
+ end
28
+
29
+ it "outputs notice to STDERR" do
30
+ expect(stderr).to match("Locking #{resource_id}")
31
+ end
32
+ end
33
+
34
+ context "when resource is unknown" do
35
+ let(:argv) { %w(sql snapshots lock dbi-12345) }
36
+
37
+ before do
38
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
39
+ end
40
+
41
+ it "outputs error to STDERR" do
42
+ expect(stderr).to match("Couldn't find #{resource_id}")
43
+ end
44
+ end
45
+ end
46
+
47
+ describe "unlock" do
48
+ context "when resource is known" do
49
+ let(:argv) { %w(sql snapshots unlock dbi-12345) }
50
+
51
+ before do
52
+ expect(resource_class).to receive(:find_or_call).with(resource_ids).and_return(results)
53
+ expect(resource).to receive(:unlock!)
54
+ end
55
+
56
+ it "outputs notice to STDERR" do
57
+ expect(stderr).to match("Unlocking #{resource_id}")
58
+ end
59
+ end
60
+
61
+ context "when resource is unknown" do
62
+ let(:argv) { %w(sql snapshots unlock dbi-12345) }
63
+
64
+ before do
65
+ expect(resource_class).to receive(:find).with(resource_id).and_raise(Brightbox::Api::NotFound)
66
+ end
67
+
68
+ it "outputs error to STDERR" do
69
+ expect(stderr).to match("Couldn't find #{resource_id}")
70
+ end
71
+ end
72
+ end
73
+ end
@@ -14,7 +14,7 @@ describe "brightbox database-snapshots" do
14
14
  end
15
15
 
16
16
  context "when resource exists", :vcr do
17
- let(:argv) { %w{sql snapshots show dbi-12345} }
17
+ let(:argv) { %w(sql snapshots show dbi-12345) }
18
18
 
19
19
  it "does not output to stderr" do
20
20
  expect(stderr).to be_empty
@@ -8,7 +8,7 @@ describe "brightbox database-types" do
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { %w{sql types list} }
11
+ let(:argv) { %w(sql types list) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox types" do
4
4
 
5
5
  describe "list" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["types", "list"] }
11
+ let(:argv) { %w(types list) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox users" do
4
4
 
5
5
  describe "list" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["users", "list"] }
11
+ let(:argv) { %w(users list) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox users" do
4
4
 
5
5
  describe "show" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["users", "show"] }
11
+ let(:argv) { %w(users show) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox users" do
4
4
 
5
5
  describe "update" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["users", "update"] }
11
+ let(:argv) { %w(users update) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error
@@ -3,12 +3,12 @@ require "spec_helper"
3
3
  describe "brightbox zones" do
4
4
 
5
5
  describe "list" do
6
- let(:output) { FauxIO.new { Brightbox::run(argv) } }
6
+ let(:output) { FauxIO.new { Brightbox.run(argv) } }
7
7
  let(:stdout) { output.stdout }
8
8
  let(:stderr) { output.stderr }
9
9
 
10
10
  context "" do
11
- let(:argv) { ["zones", "list"] }
11
+ let(:argv) { %w(zones list) }
12
12
 
13
13
  it "does not error" do
14
14
  expect { output }.to_not raise_error