crowbar-client 2.4.1 → 2.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +18 -6
  4. data/lib/crowbar/client.rb +54 -0
  5. data/lib/crowbar/client/app.rb +3 -0
  6. data/lib/crowbar/client/app/backup.rb +62 -1
  7. data/lib/crowbar/client/app/barclamp.rb +10 -0
  8. data/lib/crowbar/client/app/base.rb +50 -0
  9. data/lib/crowbar/client/app/batch.rb +25 -0
  10. data/lib/crowbar/client/app/entry.rb +26 -1
  11. data/lib/crowbar/client/app/host_ip.rb +24 -0
  12. data/lib/crowbar/client/app/installer.rb +16 -1
  13. data/lib/crowbar/client/app/interface.rb +21 -0
  14. data/lib/crowbar/client/app/network.rb +3 -0
  15. data/lib/crowbar/client/app/node.rb +3 -0
  16. data/lib/crowbar/client/app/proposal.rb +3 -0
  17. data/lib/crowbar/client/app/repository.rb +3 -0
  18. data/lib/crowbar/client/app/role.rb +3 -0
  19. data/lib/crowbar/client/app/server.rb +56 -0
  20. data/lib/crowbar/client/app/virtual_ip.rb +24 -0
  21. data/lib/crowbar/client/command.rb +3 -0
  22. data/lib/crowbar/client/command/backup.rb +3 -0
  23. data/lib/crowbar/client/command/backup/create.rb +3 -0
  24. data/lib/crowbar/client/command/backup/delete.rb +3 -0
  25. data/lib/crowbar/client/command/backup/download.rb +3 -0
  26. data/lib/crowbar/client/command/backup/list.rb +3 -0
  27. data/lib/crowbar/client/command/backup/restore.rb +3 -0
  28. data/lib/crowbar/client/command/backup/upload.rb +3 -0
  29. data/lib/crowbar/client/command/barclamp.rb +3 -0
  30. data/lib/crowbar/client/command/barclamp/list.rb +3 -0
  31. data/lib/crowbar/client/command/base.rb +3 -0
  32. data/lib/crowbar/client/command/batch.rb +3 -0
  33. data/lib/crowbar/client/command/batch/build.rb +3 -0
  34. data/lib/crowbar/client/command/batch/export.rb +3 -0
  35. data/lib/crowbar/client/command/host_ip.rb +3 -0
  36. data/lib/crowbar/client/command/host_ip/allocate.rb +3 -0
  37. data/lib/crowbar/client/command/host_ip/deallocate.rb +3 -0
  38. data/lib/crowbar/client/command/installer.rb +3 -0
  39. data/lib/crowbar/client/command/installer/start.rb +3 -0
  40. data/lib/crowbar/client/command/installer/status.rb +3 -0
  41. data/lib/crowbar/client/command/interface.rb +3 -0
  42. data/lib/crowbar/client/command/interface/disable.rb +3 -0
  43. data/lib/crowbar/client/command/interface/enable.rb +3 -0
  44. data/lib/crowbar/client/command/node.rb +3 -0
  45. data/lib/crowbar/client/command/node/allocate.rb +4 -1
  46. data/lib/crowbar/client/command/node/delete.rb +3 -0
  47. data/lib/crowbar/client/command/node/group.rb +3 -0
  48. data/lib/crowbar/client/command/node/hardware.rb +4 -1
  49. data/lib/crowbar/client/command/node/identify.rb +4 -1
  50. data/lib/crowbar/client/command/node/list.rb +3 -0
  51. data/lib/crowbar/client/command/node/powercycle.rb +4 -1
  52. data/lib/crowbar/client/command/node/poweroff.rb +4 -1
  53. data/lib/crowbar/client/command/node/poweron.rb +4 -1
  54. data/lib/crowbar/client/command/node/reboot.rb +4 -1
  55. data/lib/crowbar/client/command/node/reinstall.rb +4 -1
  56. data/lib/crowbar/client/command/node/rename.rb +3 -0
  57. data/lib/crowbar/client/command/node/reset.rb +4 -1
  58. data/lib/crowbar/client/command/node/role.rb +3 -0
  59. data/lib/crowbar/client/command/node/show.rb +3 -0
  60. data/lib/crowbar/client/command/node/shutdown.rb +4 -1
  61. data/lib/crowbar/client/command/node/status.rb +3 -0
  62. data/lib/crowbar/client/command/node/transition.rb +3 -0
  63. data/lib/crowbar/client/command/proposal.rb +3 -0
  64. data/lib/crowbar/client/command/proposal/commit.rb +3 -0
  65. data/lib/crowbar/client/command/proposal/create.rb +3 -0
  66. data/lib/crowbar/client/command/proposal/delete.rb +3 -0
  67. data/lib/crowbar/client/command/proposal/dequeue.rb +3 -0
  68. data/lib/crowbar/client/command/proposal/edit.rb +3 -0
  69. data/lib/crowbar/client/command/proposal/list.rb +3 -0
  70. data/lib/crowbar/client/command/proposal/reset.rb +3 -0
  71. data/lib/crowbar/client/command/proposal/show.rb +3 -0
  72. data/lib/crowbar/client/command/repository.rb +3 -0
  73. data/lib/crowbar/client/command/repository/activate.rb +3 -0
  74. data/lib/crowbar/client/command/repository/activate_all.rb +3 -0
  75. data/lib/crowbar/client/command/repository/deactivate.rb +3 -0
  76. data/lib/crowbar/client/command/repository/deactivate_all.rb +3 -0
  77. data/lib/crowbar/client/command/repository/list.rb +3 -0
  78. data/lib/crowbar/client/command/role.rb +3 -0
  79. data/lib/crowbar/client/command/role/list.rb +3 -0
  80. data/lib/crowbar/client/command/role/show.rb +3 -0
  81. data/lib/crowbar/client/command/server.rb +5 -0
  82. data/lib/crowbar/client/command/server/api.rb +3 -0
  83. data/lib/crowbar/client/command/server/check.rb +75 -0
  84. data/lib/crowbar/client/command/virtual_ip.rb +3 -0
  85. data/lib/crowbar/client/command/virtual_ip/allocate.rb +3 -0
  86. data/lib/crowbar/client/command/virtual_ip/deallocate.rb +3 -0
  87. data/lib/crowbar/client/config.rb +128 -1
  88. data/lib/crowbar/client/filter.rb +3 -0
  89. data/lib/crowbar/client/filter/array.rb +3 -0
  90. data/lib/crowbar/client/filter/base.rb +3 -0
  91. data/lib/crowbar/client/filter/hash.rb +3 -0
  92. data/lib/crowbar/client/filter/subset.rb +3 -0
  93. data/lib/crowbar/client/formatter.rb +3 -0
  94. data/lib/crowbar/client/formatter/array.rb +3 -0
  95. data/lib/crowbar/client/formatter/base.rb +3 -0
  96. data/lib/crowbar/client/formatter/hash.rb +3 -0
  97. data/lib/crowbar/client/formatter/nested.rb +3 -0
  98. data/lib/crowbar/client/mixin.rb +3 -0
  99. data/lib/crowbar/client/mixin/barclamp.rb +3 -0
  100. data/lib/crowbar/client/mixin/filter.rb +3 -0
  101. data/lib/crowbar/client/mixin/format.rb +3 -0
  102. data/lib/crowbar/client/request.rb +3 -0
  103. data/lib/crowbar/client/request/backup.rb +3 -0
  104. data/lib/crowbar/client/request/backup/create.rb +18 -0
  105. data/lib/crowbar/client/request/backup/delete.rb +13 -0
  106. data/lib/crowbar/client/request/backup/download.rb +13 -0
  107. data/lib/crowbar/client/request/backup/list.rb +13 -0
  108. data/lib/crowbar/client/request/backup/restore.rb +13 -0
  109. data/lib/crowbar/client/request/backup/upload.rb +13 -0
  110. data/lib/crowbar/client/request/barclamp.rb +3 -0
  111. data/lib/crowbar/client/request/barclamp/list.rb +13 -0
  112. data/lib/crowbar/client/request/base.rb +42 -11
  113. data/lib/crowbar/client/request/batch.rb +3 -0
  114. data/lib/crowbar/client/request/batch/build.rb +13 -0
  115. data/lib/crowbar/client/request/batch/export.rb +18 -0
  116. data/lib/crowbar/client/request/host_ip.rb +3 -0
  117. data/lib/crowbar/client/request/host_ip/allocate.rb +18 -0
  118. data/lib/crowbar/client/request/host_ip/deallocate.rb +18 -0
  119. data/lib/crowbar/client/request/installer.rb +3 -0
  120. data/lib/crowbar/client/request/installer/start.rb +18 -0
  121. data/lib/crowbar/client/request/installer/status.rb +13 -0
  122. data/lib/crowbar/client/request/interface.rb +3 -0
  123. data/lib/crowbar/client/request/interface/disable.rb +18 -0
  124. data/lib/crowbar/client/request/interface/enable.rb +18 -0
  125. data/lib/crowbar/client/request/node.rb +33 -0
  126. data/lib/crowbar/client/request/node/action.rb +13 -0
  127. data/lib/crowbar/client/request/node/allocate.rb +29 -0
  128. data/lib/crowbar/client/request/node/delete.rb +13 -0
  129. data/lib/crowbar/client/request/node/group.rb +13 -0
  130. data/lib/crowbar/client/request/node/hardware.rb +29 -0
  131. data/lib/crowbar/client/request/node/identify.rb +29 -0
  132. data/lib/crowbar/client/request/node/list.rb +13 -0
  133. data/lib/crowbar/client/request/node/powercycle.rb +29 -0
  134. data/lib/crowbar/client/request/node/poweroff.rb +29 -0
  135. data/lib/crowbar/client/request/node/poweron.rb +29 -0
  136. data/lib/crowbar/client/request/node/reboot.rb +29 -0
  137. data/lib/crowbar/client/request/node/reinstall.rb +29 -0
  138. data/lib/crowbar/client/request/node/rename.rb +18 -0
  139. data/lib/crowbar/client/request/node/reset.rb +29 -0
  140. data/lib/crowbar/client/request/node/role.rb +18 -0
  141. data/lib/crowbar/client/request/node/show.rb +13 -0
  142. data/lib/crowbar/client/request/node/shutdown.rb +29 -0
  143. data/lib/crowbar/client/request/node/status.rb +13 -0
  144. data/lib/crowbar/client/request/node/transition.rb +18 -0
  145. data/lib/crowbar/client/request/party.rb +3 -0
  146. data/lib/crowbar/client/request/proposal.rb +3 -0
  147. data/lib/crowbar/client/request/proposal/commit.rb +13 -0
  148. data/lib/crowbar/client/request/proposal/create.rb +18 -0
  149. data/lib/crowbar/client/request/proposal/delete.rb +13 -0
  150. data/lib/crowbar/client/request/proposal/dequeue.rb +13 -0
  151. data/lib/crowbar/client/request/proposal/edit.rb +18 -0
  152. data/lib/crowbar/client/request/proposal/list.rb +13 -0
  153. data/lib/crowbar/client/request/proposal/reset.rb +13 -0
  154. data/lib/crowbar/client/request/proposal/show.rb +13 -0
  155. data/lib/crowbar/client/request/proposal/template.rb +13 -0
  156. data/lib/crowbar/client/request/repository.rb +3 -0
  157. data/lib/crowbar/client/request/repository/activate.rb +18 -0
  158. data/lib/crowbar/client/request/repository/activate_all.rb +13 -0
  159. data/lib/crowbar/client/request/repository/deactivate.rb +18 -0
  160. data/lib/crowbar/client/request/repository/deactivate_all.rb +13 -0
  161. data/lib/crowbar/client/request/repository/list.rb +13 -0
  162. data/lib/crowbar/client/request/role.rb +3 -0
  163. data/lib/crowbar/client/request/role/list.rb +13 -0
  164. data/lib/crowbar/client/request/role/show.rb +13 -0
  165. data/lib/crowbar/client/request/server.rb +5 -0
  166. data/lib/crowbar/client/request/server/api.rb +13 -0
  167. data/lib/crowbar/client/request/server/check.rb +49 -0
  168. data/lib/crowbar/client/request/virtual_ip.rb +3 -0
  169. data/lib/crowbar/client/request/virtual_ip/allocate.rb +18 -0
  170. data/lib/crowbar/client/request/virtual_ip/deallocate.rb +18 -0
  171. data/lib/crowbar/client/util.rb +3 -0
  172. data/lib/crowbar/client/util/editor.rb +3 -0
  173. data/lib/crowbar/client/util/runner.rb +3 -0
  174. data/lib/crowbar/client/version.rb +23 -1
  175. data/spec/crowbar/client/command/backup/create_spec.rb +8 -16
  176. data/spec/crowbar/client/command/backup/delete_spec.rb +8 -16
  177. data/spec/crowbar/client/command/backup/download_spec.rb +8 -16
  178. data/spec/crowbar/client/command/backup/list_spec.rb +7 -15
  179. data/spec/crowbar/client/command/backup/restore_spec.rb +8 -16
  180. data/spec/crowbar/client/command/backup/upload_spec.rb +11 -19
  181. data/spec/crowbar/client/command/barclamp/list_spec.rb +7 -15
  182. data/spec/crowbar/client/command/batch/build_spec.rb +11 -19
  183. data/spec/crowbar/client/command/batch/export_spec.rb +7 -15
  184. data/spec/crowbar/client/command/host_ip/allocate_spec.rb +7 -15
  185. data/spec/crowbar/client/command/host_ip/deallocate_spec.rb +7 -15
  186. data/spec/crowbar/client/command/installer/start_spec.rb +8 -16
  187. data/spec/crowbar/client/command/installer/status_spec.rb +7 -15
  188. data/spec/crowbar/client/command/interface/disable_spec.rb +7 -15
  189. data/spec/crowbar/client/command/interface/enable_spec.rb +7 -15
  190. data/spec/crowbar/client/command/node/allocate_spec.rb +7 -15
  191. data/spec/crowbar/client/command/node/delete_spec.rb +7 -15
  192. data/spec/crowbar/client/command/node/group_spec.rb +7 -15
  193. data/spec/crowbar/client/command/node/hardware_spec.rb +7 -15
  194. data/spec/crowbar/client/command/node/identify_spec.rb +7 -15
  195. data/spec/crowbar/client/command/node/list_spec.rb +9 -17
  196. data/spec/crowbar/client/command/node/powercycle_spec.rb +7 -15
  197. data/spec/crowbar/client/command/node/poweroff_spec.rb +7 -15
  198. data/spec/crowbar/client/command/node/poweron_spec.rb +7 -15
  199. data/spec/crowbar/client/command/node/reboot_spec.rb +7 -15
  200. data/spec/crowbar/client/command/node/reinstall_spec.rb +7 -15
  201. data/spec/crowbar/client/command/node/rename_spec.rb +7 -15
  202. data/spec/crowbar/client/command/node/reset_spec.rb +7 -15
  203. data/spec/crowbar/client/command/node/role_spec.rb +7 -15
  204. data/spec/crowbar/client/command/node/show_spec.rb +7 -15
  205. data/spec/crowbar/client/command/node/shutdown_spec.rb +7 -15
  206. data/spec/crowbar/client/command/node/status_spec.rb +7 -15
  207. data/spec/crowbar/client/command/node/transition_spec.rb +7 -15
  208. data/spec/crowbar/client/command/proposal/commit_spec.rb +7 -15
  209. data/spec/crowbar/client/command/proposal/delete_spec.rb +7 -15
  210. data/spec/crowbar/client/command/proposal/dequeue_spec.rb +7 -15
  211. data/spec/crowbar/client/command/proposal/list_spec.rb +7 -15
  212. data/spec/crowbar/client/command/proposal/reset_spec.rb +7 -15
  213. data/spec/crowbar/client/command/proposal/show_spec.rb +7 -15
  214. data/spec/crowbar/client/command/repository/activate_all_spec.rb +7 -15
  215. data/spec/crowbar/client/command/repository/activate_spec.rb +7 -15
  216. data/spec/crowbar/client/command/repository/deactivate_all_spec.rb +7 -15
  217. data/spec/crowbar/client/command/repository/deactivate_spec.rb +7 -15
  218. data/spec/crowbar/client/command/repository/list_spec.rb +7 -15
  219. data/spec/crowbar/client/command/role/list_spec.rb +7 -15
  220. data/spec/crowbar/client/command/role/show_spec.rb +7 -15
  221. data/spec/crowbar/client/command/server/api_spec.rb +7 -15
  222. data/spec/crowbar/client/command/server/check_spec.rb +31 -0
  223. data/spec/crowbar/client/command/virtual_ip/allocate_spec.rb +7 -15
  224. data/spec/crowbar/client/command/virtual_ip/deallocate_spec.rb +7 -15
  225. data/spec/crowbar/client/request/server/check_spec.rb +50 -0
  226. data/spec/support/command_examples.rb +59 -0
  227. metadata +117 -95
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Repository
21
+ #
22
+ # Implementation for the repository list request
23
+ #
21
24
  class List < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :get
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "utils",
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the role request implementations
22
+ #
20
23
  module Role
21
24
  autoload :List,
22
25
  File.expand_path("../role/list", __FILE__)
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Role
21
+ #
22
+ # Implementation for the role list request
23
+ #
21
24
  class List < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :get
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "crowbar",
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Role
21
+ #
22
+ # Implementation for the role show request
23
+ #
21
24
  class Show < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :get
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "crowbar",
@@ -17,9 +17,14 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the server request implementations
22
+ #
20
23
  module Server
21
24
  autoload :Api,
22
25
  File.expand_path("../server/api", __FILE__)
26
+ autoload :Check,
27
+ File.expand_path("../server/check", __FILE__)
23
28
  end
24
29
  end
25
30
  end
@@ -18,11 +18,24 @@ module Crowbar
18
18
  module Client
19
19
  module Request
20
20
  module Server
21
+ #
22
+ # Implementation for the server API request
23
+ #
21
24
  class Api < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
22
30
  def method
23
31
  :get
24
32
  end
25
33
 
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
26
39
  def url
27
40
  [
28
41
  "crowbar",
@@ -0,0 +1,49 @@
1
+ #
2
+ # Copyright 2016, SUSE Linux GmbH
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ module Crowbar
18
+ module Client
19
+ module Request
20
+ module Server
21
+ #
22
+ # Implementation for the Server check request
23
+ #
24
+ class Check < Base
25
+ #
26
+ # HTTP method that gets used by the request
27
+ #
28
+ # @return [Symbol] the method for the request
29
+ #
30
+ def method
31
+ :post
32
+ end
33
+
34
+ #
35
+ # Path to the API endpoint for the request
36
+ #
37
+ # @return [String] path to the API endpoint
38
+ #
39
+ def url
40
+ [
41
+ "sanity",
42
+ "check"
43
+ ].join("/")
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Request
20
+ #
21
+ # Module for the virtual IP request implementations
22
+ #
20
23
  module VirtualIP
21
24
  autoload :Allocate,
22
25
  File.expand_path("../virtual_ip/allocate", __FILE__)
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module VirtualIP
23
+ #
24
+ # Implementation for the virtual IP allocate request
25
+ #
23
26
  class Allocate < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  name: attrs.service,
@@ -30,10 +38,20 @@ module Crowbar
30
38
  )
31
39
  end
32
40
 
41
+ #
42
+ # HTTP method that gets used by the request
43
+ #
44
+ # @return [Symbol] the method for the request
45
+ #
33
46
  def method
34
47
  :post
35
48
  end
36
49
 
50
+ #
51
+ # Path to the API endpoint for the request
52
+ #
53
+ # @return [String] path to the API endpoint
54
+ #
37
55
  def url
38
56
  [
39
57
  "crowbar",
@@ -20,7 +20,15 @@ module Crowbar
20
20
  module Client
21
21
  module Request
22
22
  module VirtualIP
23
+ #
24
+ # Implementation for the virtual IP deallocate request
25
+ #
23
26
  class Deallocate < Base
27
+ #
28
+ # Override the request content
29
+ #
30
+ # @return [Hash] the content for the request
31
+ #
24
32
  def content
25
33
  super.easy_merge!(
26
34
  name: attrs.service,
@@ -28,10 +36,20 @@ module Crowbar
28
36
  )
29
37
  end
30
38
 
39
+ #
40
+ # HTTP method that gets used by the request
41
+ #
42
+ # @return [Symbol] the method for the request
43
+ #
31
44
  def method
32
45
  :post
33
46
  end
34
47
 
48
+ #
49
+ # Path to the API endpoint for the request
50
+ #
51
+ # @return [String] path to the API endpoint
52
+ #
35
53
  def url
36
54
  [
37
55
  "crowbar",
@@ -16,6 +16,9 @@
16
16
 
17
17
  module Crowbar
18
18
  module Client
19
+ #
20
+ # Module for some utilities used within the client
21
+ #
19
22
  module Util
20
23
  autoload :Editor,
21
24
  File.expand_path("../util/editor", __FILE__)
@@ -20,6 +20,9 @@ require "json"
20
20
  module Crowbar
21
21
  module Client
22
22
  module Util
23
+ #
24
+ # Launch an editor and return the edited content
25
+ #
23
26
  class Editor
24
27
  attr_accessor :content
25
28
  attr_accessor :options
@@ -17,6 +17,9 @@
17
17
  module Crowbar
18
18
  module Client
19
19
  module Util
20
+ #
21
+ # A wrapper around the Crowbar CLI for proper initialization
22
+ #
20
23
  class Runner
21
24
  attr_accessor :argv
22
25
  attr_accessor :stdin
@@ -16,14 +16,36 @@
16
16
 
17
17
  module Crowbar
18
18
  module Client
19
+ #
20
+ # A representation of the current Crowbar CLI version
21
+ #
19
22
  class Version
23
+ #
24
+ # Major version
25
+ #
20
26
  MAJOR = 2
27
+
28
+ #
29
+ # Minor version
30
+ #
21
31
  MINOR = 4
22
- PATCH = 1
23
32
 
33
+ #
34
+ # Patch version
35
+ #
36
+ PATCH = 2
37
+
38
+ #
39
+ # Optional suffix
40
+ #
24
41
  PRE = nil
25
42
 
26
43
  class << self
44
+ #
45
+ # Convert the Crowbar CLI version to a string
46
+ #
47
+ # @return [String] the version of Crowbar CLI
48
+ #
27
49
  def to_s
28
50
  [MAJOR, MINOR, PATCH, PRE].compact.join(".")
29
51
  end
@@ -19,22 +19,14 @@ require_relative "../../../../spec_helper"
19
19
  describe "Crowbar::Client::Command::Backup::Create" do
20
20
  include_context "command_context"
21
21
 
22
- subject do
23
- ::Crowbar::Client::Command::Backup::Create.new(
24
- stdin,
25
- stdout,
26
- stderr,
27
- name: "test-backup"
28
- )
29
- end
30
-
31
- it "should always return a request class" do
32
- expect(subject.request).to(
33
- be_a(
34
- ::Crowbar::Client::Request::Backup::Create
22
+ it_behaves_like "a command class", true do
23
+ subject do
24
+ ::Crowbar::Client::Command::Backup::Create.new(
25
+ stdin,
26
+ stdout,
27
+ stderr,
28
+ name: "test-backup"
35
29
  )
36
- )
30
+ end
37
31
  end
38
-
39
- pending
40
32
  end
@@ -19,22 +19,14 @@ require_relative "../../../../spec_helper"
19
19
  describe "Crowbar::Client::Command::Backup::Delete" do
20
20
  include_context "command_context"
21
21
 
22
- subject do
23
- ::Crowbar::Client::Command::Backup::Delete.new(
24
- stdin,
25
- stdout,
26
- stderr,
27
- name: "test-backup"
28
- )
29
- end
30
-
31
- it "should always return a request class" do
32
- expect(subject.request).to(
33
- be_a(
34
- ::Crowbar::Client::Request::Backup::Delete
22
+ it_behaves_like "a command class", true do
23
+ subject do
24
+ ::Crowbar::Client::Command::Backup::Delete.new(
25
+ stdin,
26
+ stdout,
27
+ stderr,
28
+ name: "test-backup"
35
29
  )
36
- )
30
+ end
37
31
  end
38
-
39
- pending
40
32
  end
@@ -19,22 +19,14 @@ require_relative "../../../../spec_helper"
19
19
  describe "Crowbar::Client::Command::Backup::Download" do
20
20
  include_context "command_context"
21
21
 
22
- subject do
23
- ::Crowbar::Client::Command::Backup::Download.new(
24
- stdin,
25
- stdout,
26
- stderr,
27
- name: "foo"
28
- )
29
- end
30
-
31
- it "should always return a request class" do
32
- expect(subject.request).to(
33
- be_a(
34
- ::Crowbar::Client::Request::Backup::Download
22
+ it_behaves_like "a command class", true do
23
+ subject do
24
+ ::Crowbar::Client::Command::Backup::Download.new(
25
+ stdin,
26
+ stdout,
27
+ stderr,
28
+ name: "foo"
35
29
  )
36
- )
30
+ end
37
31
  end
38
-
39
- pending
40
32
  end
@@ -19,21 +19,13 @@ require_relative "../../../../spec_helper"
19
19
  describe "Crowbar::Client::Command::Backup::List" do
20
20
  include_context "command_context"
21
21
 
22
- subject do
23
- ::Crowbar::Client::Command::Backup::List.new(
24
- stdin,
25
- stdout,
26
- stderr
27
- )
28
- end
29
-
30
- it "should always return a request class" do
31
- expect(subject.request).to(
32
- be_a(
33
- ::Crowbar::Client::Request::Backup::List
22
+ it_behaves_like "a command class", true do
23
+ subject do
24
+ ::Crowbar::Client::Command::Backup::List.new(
25
+ stdin,
26
+ stdout,
27
+ stderr
34
28
  )
35
- )
29
+ end
36
30
  end
37
-
38
- pending
39
31
  end