fog-openstack 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -28
  3. data/docs/workflow.md +129 -0
  4. data/examples/workflow/workflow-examples.rb +387 -0
  5. data/gemfiles/Gemfile-1.9 +1 -0
  6. data/lib/fog/openstack.rb +5 -1
  7. data/lib/fog/openstack/baremetal.rb +14 -38
  8. data/lib/fog/openstack/compute.rb +4 -33
  9. data/lib/fog/openstack/core.rb +104 -50
  10. data/lib/fog/openstack/identity.rb +2 -1
  11. data/lib/fog/openstack/identity_v2.rb +0 -2
  12. data/lib/fog/openstack/identity_v3.rb +0 -2
  13. data/lib/fog/openstack/image_v1.rb +6 -6
  14. data/lib/fog/openstack/image_v2.rb +7 -6
  15. data/lib/fog/openstack/introspection.rb +10 -35
  16. data/lib/fog/openstack/metering.rb +16 -35
  17. data/lib/fog/openstack/monitoring.rb +5 -31
  18. data/lib/fog/openstack/network.rb +5 -34
  19. data/lib/fog/openstack/nfv.rb +10 -35
  20. data/lib/fog/openstack/orchestration.rb +5 -40
  21. data/lib/fog/openstack/planning.rb +11 -36
  22. data/lib/fog/openstack/requests/compute/get_limits.rb +8 -7
  23. data/lib/fog/openstack/requests/network/update_router.rb +1 -1
  24. data/lib/fog/openstack/requests/workflow_v2/create_action.rb +28 -0
  25. data/lib/fog/openstack/requests/workflow_v2/create_action_execution.rb +31 -0
  26. data/lib/fog/openstack/requests/workflow_v2/create_cron_trigger.rb +55 -0
  27. data/lib/fog/openstack/requests/workflow_v2/create_environment.rb +31 -0
  28. data/lib/fog/openstack/requests/workflow_v2/create_execution.rb +30 -0
  29. data/lib/fog/openstack/requests/workflow_v2/create_workbook.rb +28 -0
  30. data/lib/fog/openstack/requests/workflow_v2/create_workflow.rb +28 -0
  31. data/lib/fog/openstack/requests/workflow_v2/delete_action.rb +25 -0
  32. data/lib/fog/openstack/requests/workflow_v2/delete_action_execution.rb +25 -0
  33. data/lib/fog/openstack/requests/workflow_v2/delete_cron_trigger.rb +25 -0
  34. data/lib/fog/openstack/requests/workflow_v2/delete_environment.rb +25 -0
  35. data/lib/fog/openstack/requests/workflow_v2/delete_execution.rb +25 -0
  36. data/lib/fog/openstack/requests/workflow_v2/delete_workbook.rb +25 -0
  37. data/lib/fog/openstack/requests/workflow_v2/delete_workflow.rb +25 -0
  38. data/lib/fog/openstack/requests/workflow_v2/get_action.rb +27 -0
  39. data/lib/fog/openstack/requests/workflow_v2/get_action_execution.rb +26 -0
  40. data/lib/fog/openstack/requests/workflow_v2/get_cron_trigger.rb +28 -0
  41. data/lib/fog/openstack/requests/workflow_v2/get_environment.rb +28 -0
  42. data/lib/fog/openstack/requests/workflow_v2/get_execution.rb +26 -0
  43. data/lib/fog/openstack/requests/workflow_v2/get_task.rb +27 -0
  44. data/lib/fog/openstack/requests/workflow_v2/get_workbook.rb +28 -0
  45. data/lib/fog/openstack/requests/workflow_v2/get_workflow.rb +28 -0
  46. data/lib/fog/openstack/requests/workflow_v2/list_action_executions.rb +28 -0
  47. data/lib/fog/openstack/requests/workflow_v2/list_actions.rb +30 -0
  48. data/lib/fog/openstack/requests/workflow_v2/list_cron_triggers.rb +28 -0
  49. data/lib/fog/openstack/requests/workflow_v2/list_environments.rb +28 -0
  50. data/lib/fog/openstack/requests/workflow_v2/list_executions.rb +28 -0
  51. data/lib/fog/openstack/requests/workflow_v2/list_services.rb +28 -0
  52. data/lib/fog/openstack/requests/workflow_v2/list_tasks.rb +28 -0
  53. data/lib/fog/openstack/requests/workflow_v2/list_workbooks.rb +28 -0
  54. data/lib/fog/openstack/requests/workflow_v2/list_workflows.rb +30 -0
  55. data/lib/fog/openstack/requests/workflow_v2/rerun_task.rb +33 -0
  56. data/lib/fog/openstack/requests/workflow_v2/update_action.rb +28 -0
  57. data/lib/fog/openstack/requests/workflow_v2/update_action_execution.rb +33 -0
  58. data/lib/fog/openstack/requests/workflow_v2/update_environment.rb +31 -0
  59. data/lib/fog/openstack/requests/workflow_v2/update_execution.rb +33 -0
  60. data/lib/fog/openstack/requests/workflow_v2/update_workbook.rb +28 -0
  61. data/lib/fog/openstack/requests/workflow_v2/update_workflow.rb +28 -0
  62. data/lib/fog/openstack/requests/workflow_v2/validate_action.rb +28 -0
  63. data/lib/fog/openstack/requests/workflow_v2/validate_workbook.rb +28 -0
  64. data/lib/fog/openstack/requests/workflow_v2/validate_workflow.rb +28 -0
  65. data/lib/fog/openstack/storage.rb +4 -35
  66. data/lib/fog/openstack/version.rb +1 -1
  67. data/lib/fog/openstack/volume_v1.rb +7 -5
  68. data/lib/fog/openstack/volume_v2.rb +7 -5
  69. data/lib/fog/openstack/workflow.rb +12 -0
  70. data/lib/fog/openstack/workflow_v2.rb +160 -0
  71. metadata +48 -95
  72. data/lib/fog/openstack/common.rb +0 -44
  73. data/tests/openstack/models/compute/images_tests.rb +0 -13
  74. data/tests/openstack/models/compute/security_group_tests.rb +0 -54
  75. data/tests/openstack/models/compute/server_tests.rb +0 -220
  76. data/tests/openstack/models/compute/service_tests.rb +0 -17
  77. data/tests/openstack/models/image/image_tests.rb +0 -36
  78. data/tests/openstack/models/image/images_tests.rb +0 -19
  79. data/tests/openstack/models/network/floating_ip_tests.rb +0 -35
  80. data/tests/openstack/models/network/floating_ips_tests.rb +0 -19
  81. data/tests/openstack/models/network/ike_policies_tests.rb +0 -28
  82. data/tests/openstack/models/network/ike_policy_tests.rb +0 -36
  83. data/tests/openstack/models/network/ipsec_policies_tests.rb +0 -26
  84. data/tests/openstack/models/network/ipsec_policy_tests.rb +0 -36
  85. data/tests/openstack/models/network/ipsec_site_connection_tests.rb +0 -50
  86. data/tests/openstack/models/network/ipsec_site_connections_tests.rb +0 -32
  87. data/tests/openstack/models/network/lb_health_monitor_tests.rb +0 -52
  88. data/tests/openstack/models/network/lb_health_monitors_tests.rb +0 -21
  89. data/tests/openstack/models/network/lb_member_tests.rb +0 -28
  90. data/tests/openstack/models/network/lb_members_tests.rb +0 -21
  91. data/tests/openstack/models/network/lb_pool_tests.rb +0 -53
  92. data/tests/openstack/models/network/lb_pools_tests.rb +0 -20
  93. data/tests/openstack/models/network/lb_vip_tests.rb +0 -39
  94. data/tests/openstack/models/network/lb_vips_tests.rb +0 -21
  95. data/tests/openstack/models/network/network_tests.rb +0 -61
  96. data/tests/openstack/models/network/networks_tests.rb +0 -21
  97. data/tests/openstack/models/network/port_tests.rb +0 -28
  98. data/tests/openstack/models/network/ports_tests.rb +0 -25
  99. data/tests/openstack/models/network/router_tests.rb +0 -39
  100. data/tests/openstack/models/network/routers_tests.rb +0 -21
  101. data/tests/openstack/models/network/security_group_rule_tests.rb +0 -27
  102. data/tests/openstack/models/network/security_group_rules_tests.rb +0 -25
  103. data/tests/openstack/models/network/security_group_tests.rb +0 -17
  104. data/tests/openstack/models/network/security_groups_tests.rb +0 -16
  105. data/tests/openstack/models/network/subnet_tests.rb +0 -30
  106. data/tests/openstack/models/network/subnets_tests.rb +0 -27
  107. data/tests/openstack/models/network/vpn_service_tests.rb +0 -27
  108. data/tests/openstack/models/network/vpn_services_tests.rb +0 -22
  109. data/tests/openstack/models/nfv/vnf_tests.rb +0 -35
  110. data/tests/openstack/models/nfv/vnfd_tests.rb +0 -23
  111. data/tests/openstack/models/nfv/vnfds_tests.rb +0 -31
  112. data/tests/openstack/models/nfv/vnfs_tests.rb +0 -38
  113. data/tests/openstack/models/planning/.gitkeep +0 -0
  114. data/tests/openstack/models/planning/plan_tests.rb +0 -51
  115. data/tests/openstack/models/planning/plans_tests.rb +0 -18
  116. data/tests/openstack/models/planning/role_tests.rb +0 -14
  117. data/tests/openstack/models/storage/file_tests.rb +0 -251
  118. data/tests/openstack/requests/compute/address_tests.rb +0 -58
  119. data/tests/openstack/requests/compute/aggregate_tests.rb +0 -59
  120. data/tests/openstack/requests/compute/availability_zone_tests.rb +0 -18
  121. data/tests/openstack/requests/compute/flavor_tests.rb +0 -95
  122. data/tests/openstack/requests/compute/helper.rb +0 -41
  123. data/tests/openstack/requests/compute/image_tests.rb +0 -58
  124. data/tests/openstack/requests/compute/keypair_tests.rb +0 -30
  125. data/tests/openstack/requests/compute/limit_tests.rb +0 -59
  126. data/tests/openstack/requests/compute/quota_tests.rb +0 -60
  127. data/tests/openstack/requests/compute/security_group_tests.rb +0 -61
  128. data/tests/openstack/requests/compute/server_tests.rb +0 -289
  129. data/tests/openstack/requests/compute/service_tests.rb +0 -33
  130. data/tests/openstack/requests/compute/tenant_tests.rb +0 -19
  131. data/tests/openstack/requests/compute/volume_tests.rb +0 -38
  132. data/tests/openstack/requests/image/image_tests.rb +0 -135
  133. data/tests/openstack/requests/metering/event_tests.rb +0 -17
  134. data/tests/openstack/requests/metering/meter_tests.rb +0 -52
  135. data/tests/openstack/requests/metering/resource_tests.rb +0 -19
  136. data/tests/openstack/requests/network/ike_policy_tests.rb +0 -65
  137. data/tests/openstack/requests/network/ipsec_policy_tests.rb +0 -65
  138. data/tests/openstack/requests/network/ipsec_site_connection_tests.rb +0 -82
  139. data/tests/openstack/requests/network/lb_health_monitor_tests.rb +0 -93
  140. data/tests/openstack/requests/network/lb_member_tests.rb +0 -60
  141. data/tests/openstack/requests/network/lb_pool_tests.rb +0 -80
  142. data/tests/openstack/requests/network/lb_vip_tests.rb +0 -71
  143. data/tests/openstack/requests/network/network_tests.rb +0 -107
  144. data/tests/openstack/requests/network/port_tests.rb +0 -66
  145. data/tests/openstack/requests/network/quota_tests.rb +0 -65
  146. data/tests/openstack/requests/network/router_tests.rb +0 -73
  147. data/tests/openstack/requests/network/security_group_rule_tests.rb +0 -58
  148. data/tests/openstack/requests/network/security_group_tests.rb +0 -43
  149. data/tests/openstack/requests/network/subnet_tests.rb +0 -66
  150. data/tests/openstack/requests/network/vpn_service_tests.rb +0 -61
  151. data/tests/openstack/requests/nfv/vnf_tests.rb +0 -70
  152. data/tests/openstack/requests/nfv/vnfd_tests.rb +0 -44
  153. data/tests/openstack/requests/orchestration/stack_tests.rb +0 -64
  154. data/tests/openstack/requests/planning/.gitkeep +0 -0
  155. data/tests/openstack/requests/planning/plan_tests.rb +0 -65
  156. data/tests/openstack/requests/planning/role_tests.rb +0 -16
  157. data/tests/openstack/requests/storage/container_tests.rb +0 -64
  158. data/tests/openstack/requests/storage/large_object_tests.rb +0 -372
  159. data/tests/openstack/requests/storage/object_tests.rb +0 -208
  160. data/tests/openstack/requests/volume/availability_zone_tests.rb +0 -13
  161. data/tests/openstack/requests/volume/quota_tests.rb +0 -50
  162. data/tests/openstack/requests/volume/volume_type_tests.rb +0 -32
@@ -1,208 +0,0 @@
1
- Shindo.tests('Fog::Storage[:openstack] | object requests', ["openstack"]) do
2
-
3
- unless Fog.mocking?
4
- @directory = Fog::Storage[:openstack].directories.create(:key => 'fogobjecttests')
5
- end
6
-
7
- module OpenStackStorageHelpers
8
- def override_path(path)
9
- @path = path
10
- end
11
- end
12
-
13
- tests('success') do
14
-
15
- tests("#put_object('fogobjecttests', 'fog_object')").succeeds do
16
- pending if Fog.mocking?
17
- Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_object', lorem_file)
18
- end
19
-
20
- tests("#get_object('fogobjectests', 'fog_object')").succeeds do
21
- pending if Fog.mocking?
22
- Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_object').body == lorem_file.read
23
- end
24
-
25
- tests("#get_object('fogobjecttests', 'fog_object', &block)").succeeds do
26
- pending if Fog.mocking?
27
- data = ''
28
- Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_object') do |chunk, remaining_bytes, total_bytes|
29
- data << chunk
30
- end
31
- data == lorem_file.read
32
- end
33
-
34
- tests("#public_url('fogobjectests', 'fog_object')").succeeds do
35
- pending if Fog.mocking?
36
- Fog::Storage[:openstack].directories.first.files.first.public_url
37
- end
38
-
39
- tests("#public_url('fogobjectests')").succeeds do
40
- pending if Fog.mocking?
41
- Fog::Storage[:openstack].directories.first.public_url
42
- end
43
-
44
- tests("#head_object('fogobjectests', 'fog_object')").succeeds do
45
- pending if Fog.mocking?
46
- Fog::Storage[:openstack].head_object('fogobjecttests', 'fog_object')
47
- end
48
-
49
- tests("#delete_object('fogobjecttests', 'fog_object')").succeeds do
50
- pending if Fog.mocking?
51
- Fog::Storage[:openstack].delete_object('fogobjecttests', 'fog_object')
52
- end
53
-
54
- def test_temp_url(url_s, time, desired_scheme)
55
- object_url = URI.parse(url_s)
56
- query_params = URI.decode_www_form(object_url.query)
57
-
58
- tests("the link is #{desired_scheme}").returns(desired_scheme) { object_url.scheme }
59
- tests('the container and object are present in the path').returns(true) do
60
- (object_url.path =~ /\/#{@directory.identity}\/fog_object/) != nil
61
- end
62
- tests('a temp_url_sig is present').returns(true) do
63
- query_params.any? { |p| p[0] == 'temp_url_sig' }
64
- end
65
- tests('temp_url_expires matches the expiration').returns(true) do
66
- query_params.any? { |p| p == ['temp_url_expires', time.to_i.to_s] }
67
- end
68
- end
69
-
70
- tests("#get_object_http_url('directory.identity', 'fog_object', expiration timestamp)").succeeds do
71
- pending if Fog.mocking?
72
- ts = Time.at(1395343213)
73
- url_s = Fog::Storage[:openstack].get_object_http_url(@directory.identity, 'fog_object', ts)
74
- test_temp_url(url_s, ts, 'http')
75
- end
76
-
77
- tests("#get_object_https_url('directory.identity', 'fog_object', expiration timestamp)").succeeds do
78
- pending if Fog.mocking?
79
- ts = Time.at(1395343215)
80
- url_s = Fog::Storage[:openstack].get_object_https_url(@directory.identity, 'fog_object', ts)
81
- test_temp_url(url_s, ts, 'https')
82
- end
83
-
84
- tests("put_object with block") do
85
- pending if Fog.mocking?
86
-
87
- tests("#put_object('fogobjecttests', 'fog_object', &block)").succeeds do
88
- begin
89
- file = lorem_file
90
- buffer_size = file.stat.size / 2 # chop it up into two buffers
91
- Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_block_object', nil) do
92
- file.read(buffer_size).to_s
93
- end
94
- ensure
95
- file.close
96
- end
97
- end
98
-
99
- tests('#get_object').succeeds do
100
- Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_block_object').body == lorem_file.read
101
- end
102
-
103
- tests('#delete_object').succeeds do
104
- Fog::Storage[:openstack].delete_object('fogobjecttests', 'fog_block_object')
105
- end
106
- end
107
-
108
- tests('#delete_multiple_objects') do
109
- pending if Fog.mocking?
110
-
111
- Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_object', lorem_file)
112
- Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_object2', lorem_file)
113
- Fog::Storage[:openstack].directories.create(:key => 'fogobjecttests2')
114
- Fog::Storage[:openstack].put_object('fogobjecttests2', 'fog_object', lorem_file)
115
-
116
- expected = {
117
- "Number Not Found" => 0,
118
- "Response Status" => "200 OK",
119
- "Errors" => [],
120
- "Number Deleted" => 2,
121
- "Response Body" => ""
122
- }
123
-
124
- returns(expected, 'deletes multiple objects') do
125
- Fog::Storage[:openstack].delete_multiple_objects('fogobjecttests', ['fog_object', 'fog_object2']).body
126
- end
127
-
128
- returns(expected, 'deletes object and container') do
129
- Fog::Storage[:openstack].delete_multiple_objects(nil, ['fogobjecttests2/fog_object', 'fogobjecttests2']).body
130
- end
131
- end
132
-
133
- end
134
-
135
- tests('failure') do
136
-
137
- tests("#get_object('fogobjecttests', 'fog_non_object')").raises(Fog::Storage::OpenStack::NotFound) do
138
- pending if Fog.mocking?
139
- Fog::Storage[:openstack].get_object('fogobjecttests', 'fog_non_object')
140
- end
141
-
142
- tests("#get_object('fognoncontainer', 'fog_non_object')").raises(Fog::Storage::OpenStack::NotFound) do
143
- pending if Fog.mocking?
144
- Fog::Storage[:openstack].get_object('fognoncontainer', 'fog_non_object')
145
- end
146
-
147
- tests("#head_object('fogobjecttests', 'fog_non_object')").raises(Fog::Storage::OpenStack::NotFound) do
148
- pending if Fog.mocking?
149
- Fog::Storage[:openstack].head_object('fogobjecttests', 'fog_non_object')
150
- end
151
-
152
- tests("#head_object('fognoncontainer', 'fog_non_object')").raises(Fog::Storage::OpenStack::NotFound) do
153
- pending if Fog.mocking?
154
- Fog::Storage[:openstack].head_object('fognoncontainer', 'fog_non_object')
155
- end
156
-
157
- tests("#delete_object('fogobjecttests', 'fog_non_object')").raises(Fog::Storage::OpenStack::NotFound) do
158
- pending if Fog.mocking?
159
- Fog::Storage[:openstack].delete_object('fogobjecttests', 'fog_non_object')
160
- end
161
-
162
- tests("#delete_object('fognoncontainer', 'fog_non_object')").raises(Fog::Storage::OpenStack::NotFound) do
163
- pending if Fog.mocking?
164
- Fog::Storage[:openstack].delete_object('fognoncontainer', 'fog_non_object')
165
- end
166
-
167
- tests('#delete_multiple_objects') do
168
- pending if Fog.mocking?
169
-
170
- expected = {
171
- "Number Not Found" => 2,
172
- "Response Status" => "200 OK",
173
- "Errors" => [],
174
- "Number Deleted" => 0,
175
- "Response Body" => ""
176
- }
177
-
178
- returns(expected, 'reports missing objects') do
179
- Fog::Storage[:openstack].delete_multiple_objects('fogobjecttests', ['fog_non_object', 'fog_non_object2']).body
180
- end
181
-
182
- returns(expected, 'reports missing container') do
183
- Fog::Storage[:openstack].delete_multiple_objects('fognoncontainer', ['fog_non_object', 'fog_non_object2']).body
184
- end
185
-
186
- tests('deleting non-empty container') do
187
- Fog::Storage[:openstack].put_object('fogobjecttests', 'fog_object', lorem_file)
188
-
189
- expected = {
190
- "Number Not Found" => 0,
191
- "Response Status" => "400 Bad Request",
192
- "Errors" => [['fogobjecttests', '409 Conflict']],
193
- "Number Deleted" => 1,
194
- "Response Body" => ""
195
- }
196
-
197
- returns(expected, 'deletes object but not container') do
198
- Fog::Storage[:openstack].delete_multiple_objects(nil, ['fogobjecttests', 'fogobjecttests/fog_object']).body
199
- end
200
- end
201
- end
202
- end
203
-
204
- unless Fog.mocking?
205
- @directory.destroy
206
- end
207
-
208
- end
@@ -1,13 +0,0 @@
1
- Shindo.tests('Fog::Volume[:openstack] | availability zone requests', ['openstack']) do
2
-
3
- @flavor_format = {
4
- 'zoneName' => String,
5
- 'zoneState' => Hash,
6
- }
7
-
8
- tests('success') do
9
- tests('#list_zones').data_matches_schema({'availabilityZoneInfo' => [@flavor_format]}) do
10
- Fog::Volume[:openstack].list_zones.body
11
- end
12
- end
13
- end
@@ -1,50 +0,0 @@
1
- Shindo.tests('Fog::Volume[:openstack] | quota requests', ['openstack']) do
2
-
3
- @tenant_id = Fog::Compute[:openstack].list_tenants.body['tenants'].first['id']
4
- @quota_set_format = {
5
- 'volumes' => Fog::Nullable::Integer,
6
- 'gigabytes' => Fog::Nullable::Integer,
7
- 'snapshots' => Fog::Nullable::Integer,
8
- 'id' => String
9
- }
10
-
11
- tests('success') do
12
-
13
- tests('#get_quota_defaults').formats({ 'quota_set' => @quota_set_format }) do
14
- Fog::Volume[:openstack].get_quota_defaults(@tenant_id).body
15
- end
16
-
17
- tests('#get_quota').formats(@quota_set_format) do
18
- @quota = Fog::Volume[:openstack].get_quota(@tenant_id).body['quota_set']
19
- @quota
20
- end
21
-
22
- tests('#update_quota') do
23
-
24
- new_values = @quota.merge({
25
- 'volumes' => @quota['volumes']/2,
26
- 'snapshots' => @quota['snapshots']/2
27
- })
28
-
29
- succeeds do
30
- Fog::Volume[:openstack].update_quota(@tenant_id, new_values.clone)
31
- end
32
-
33
- returns(new_values, 'returns new values') do
34
- Fog::Volume[:openstack].get_quota(@tenant_id).body['quota_set']
35
- end
36
-
37
- # set quota back to old values
38
- succeeds do
39
- Fog::Volume[:openstack].update_quota(@tenant_id, @quota.clone)
40
- end
41
-
42
- # ensure old values are restored
43
- returns(@quota, 'old values restored') do
44
- Fog::Volume[:openstack].get_quota(@tenant_id).body['quota_set']
45
- end
46
-
47
- end
48
-
49
- end
50
- end
@@ -1,32 +0,0 @@
1
- Shindo.tests('Fog::Volume[:openstack] | volume_type requests', ['openstack']) do
2
-
3
- @volume_type_format = {
4
- 'name' => String,
5
- 'extra_specs' => Hash,
6
- 'id' => String
7
- }
8
-
9
- tests('success') do
10
- tests('#create_volume_type').formats(@volume_type_format) do
11
- @volume_type = Fog::Volume[:openstack].create_volume_type(:name => 'test_volume_type').body['volume_type']
12
- @volume_type
13
- end
14
-
15
- tests('#update_volume_type').formats(@volume_type_format) do
16
- Fog::Volume[:openstack].update_volume_type(@volume_type['id'],
17
- :name => 'test_volume_type_1').body['volume_type']
18
- end
19
-
20
- tests('#get_volume_type').formats(@volume_type_format) do
21
- Fog::Volume[:openstack].get_volume_type_details(@volume_type['id']).body['volume_type']
22
- end
23
-
24
- tests('#list_volume_type').formats([@volume_type_format]) do
25
- Fog::Volume[:openstack].list_volume_types.body['volume_types']
26
- end
27
-
28
- succeeds do
29
- Fog::Volume[:openstack].delete_volume_type(@volume_type['id'])
30
- end
31
- end
32
- end