python-openstackclient 7.4.0__py3-none-any.whl → 8.1.0__py3-none-any.whl

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 (264) hide show
  1. openstackclient/common/availability_zone.py +3 -6
  2. openstackclient/common/clientmanager.py +2 -1
  3. openstackclient/common/envvars.py +57 -0
  4. openstackclient/common/extension.py +3 -11
  5. openstackclient/common/limits.py +1 -1
  6. openstackclient/common/project_cleanup.py +3 -2
  7. openstackclient/common/quota.py +54 -28
  8. openstackclient/compute/client.py +7 -5
  9. openstackclient/compute/v2/agent.py +5 -5
  10. openstackclient/compute/v2/aggregate.py +17 -15
  11. openstackclient/compute/v2/console.py +10 -4
  12. openstackclient/compute/v2/console_connection.py +48 -0
  13. openstackclient/compute/v2/flavor.py +14 -18
  14. openstackclient/compute/v2/host.py +3 -3
  15. openstackclient/compute/v2/hypervisor.py +10 -4
  16. openstackclient/compute/v2/hypervisor_stats.py +1 -1
  17. openstackclient/compute/v2/keypair.py +18 -13
  18. openstackclient/compute/v2/server.py +144 -121
  19. openstackclient/compute/v2/server_backup.py +1 -1
  20. openstackclient/compute/v2/server_event.py +8 -17
  21. openstackclient/compute/v2/server_group.py +6 -6
  22. openstackclient/compute/v2/server_image.py +1 -1
  23. openstackclient/compute/v2/server_migration.py +6 -6
  24. openstackclient/compute/v2/server_volume.py +4 -4
  25. openstackclient/compute/v2/service.py +9 -13
  26. openstackclient/compute/v2/usage.py +4 -6
  27. openstackclient/identity/client.py +2 -4
  28. openstackclient/identity/common.py +95 -17
  29. openstackclient/identity/v2_0/ec2creds.py +4 -3
  30. openstackclient/identity/v2_0/endpoint.py +12 -10
  31. openstackclient/identity/v2_0/project.py +6 -6
  32. openstackclient/identity/v2_0/role.py +1 -1
  33. openstackclient/identity/v2_0/service.py +7 -7
  34. openstackclient/identity/v2_0/user.py +6 -21
  35. openstackclient/identity/v3/access_rule.py +2 -5
  36. openstackclient/identity/v3/application_credential.py +2 -2
  37. openstackclient/identity/v3/consumer.py +4 -3
  38. openstackclient/identity/v3/credential.py +6 -7
  39. openstackclient/identity/v3/domain.py +63 -44
  40. openstackclient/identity/v3/ec2creds.py +4 -3
  41. openstackclient/identity/v3/endpoint.py +104 -88
  42. openstackclient/identity/v3/endpoint_group.py +1 -1
  43. openstackclient/identity/v3/group.py +116 -72
  44. openstackclient/identity/v3/identity_provider.py +1 -2
  45. openstackclient/identity/v3/limit.py +4 -9
  46. openstackclient/identity/v3/mapping.py +4 -3
  47. openstackclient/identity/v3/policy.py +5 -8
  48. openstackclient/identity/v3/project.py +23 -6
  49. openstackclient/identity/v3/region.py +2 -5
  50. openstackclient/identity/v3/registered_limit.py +4 -8
  51. openstackclient/identity/v3/role.py +15 -16
  52. openstackclient/identity/v3/service.py +8 -8
  53. openstackclient/identity/v3/service_provider.py +3 -6
  54. openstackclient/identity/v3/tag.py +2 -2
  55. openstackclient/identity/v3/token.py +1 -2
  56. openstackclient/identity/v3/trust.py +74 -25
  57. openstackclient/identity/v3/user.py +47 -11
  58. openstackclient/image/client.py +7 -5
  59. openstackclient/image/v1/image.py +11 -15
  60. openstackclient/image/v2/cache.py +2 -4
  61. openstackclient/image/v2/image.py +41 -48
  62. openstackclient/image/v2/metadef_namespaces.py +4 -3
  63. openstackclient/image/v2/metadef_resource_type_association.py +1 -2
  64. openstackclient/image/v2/metadef_resource_types.py +1 -2
  65. openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +9 -1370
  66. openstackclient/network/client.py +4 -16
  67. openstackclient/network/common.py +16 -12
  68. openstackclient/network/utils.py +3 -3
  69. openstackclient/network/v2/address_group.py +5 -9
  70. openstackclient/network/v2/address_scope.py +2 -3
  71. openstackclient/network/v2/default_security_group_rule.py +1 -2
  72. openstackclient/network/v2/floating_ip.py +69 -47
  73. openstackclient/network/v2/floating_ip_port_forwarding.py +7 -7
  74. openstackclient/network/v2/ip_availability.py +1 -2
  75. openstackclient/network/v2/l3_conntrack_helper.py +8 -12
  76. openstackclient/network/v2/local_ip.py +24 -26
  77. openstackclient/network/v2/local_ip_association.py +4 -5
  78. openstackclient/network/v2/ndp_proxy.py +9 -10
  79. openstackclient/network/v2/network.py +12 -16
  80. openstackclient/network/v2/network_agent.py +29 -37
  81. openstackclient/network/v2/network_auto_allocated_topology.py +4 -5
  82. openstackclient/network/v2/network_flavor.py +1 -1
  83. openstackclient/network/v2/network_flavor_profile.py +5 -5
  84. openstackclient/network/v2/network_meter.py +3 -3
  85. openstackclient/network/v2/network_meter_rule.py +5 -8
  86. openstackclient/network/v2/network_qos_policy.py +4 -4
  87. openstackclient/network/v2/network_qos_rule.py +7 -16
  88. openstackclient/network/v2/network_rbac.py +4 -4
  89. openstackclient/network/v2/network_segment.py +6 -7
  90. openstackclient/network/v2/network_segment_range.py +16 -20
  91. openstackclient/network/v2/network_trunk.py +24 -16
  92. openstackclient/network/v2/port.py +28 -29
  93. openstackclient/network/v2/router.py +53 -42
  94. openstackclient/network/v2/security_group.py +13 -19
  95. openstackclient/network/v2/security_group_rule.py +10 -11
  96. openstackclient/network/v2/subnet.py +31 -30
  97. openstackclient/network/v2/subnet_pool.py +4 -4
  98. openstackclient/object/client.py +2 -3
  99. openstackclient/object/v1/container.py +2 -3
  100. openstackclient/object/v1/object.py +2 -9
  101. openstackclient/shell.py +22 -5
  102. openstackclient/tests/functional/base.py +7 -3
  103. openstackclient/tests/functional/common/test_quota.py +3 -1
  104. openstackclient/tests/functional/compute/v2/common.py +12 -6
  105. openstackclient/tests/functional/compute/v2/test_keypair.py +41 -5
  106. openstackclient/tests/functional/compute/v2/test_server.py +2 -3
  107. openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
  108. openstackclient/tests/functional/identity/v2/test_user.py +1 -1
  109. openstackclient/tests/functional/identity/v3/common.py +3 -8
  110. openstackclient/tests/functional/identity/v3/test_application_credential.py +10 -10
  111. openstackclient/tests/functional/identity/v3/test_endpoint.py +3 -3
  112. openstackclient/tests/functional/identity/v3/test_group.py +3 -3
  113. openstackclient/tests/functional/identity/v3/test_idp.py +3 -7
  114. openstackclient/tests/functional/identity/v3/test_limit.py +4 -4
  115. openstackclient/tests/functional/identity/v3/test_project.py +5 -14
  116. openstackclient/tests/functional/identity/v3/test_region.py +1 -3
  117. openstackclient/tests/functional/identity/v3/test_registered_limit.py +3 -3
  118. openstackclient/tests/functional/identity/v3/test_role.py +1 -1
  119. openstackclient/tests/functional/identity/v3/test_role_assignment.py +13 -31
  120. openstackclient/tests/functional/identity/v3/test_service_provider.py +3 -7
  121. openstackclient/tests/functional/identity/v3/test_user.py +8 -8
  122. openstackclient/tests/functional/network/v2/common.py +7 -3
  123. openstackclient/tests/functional/network/v2/test_address_group.py +4 -0
  124. openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +15 -11
  125. openstackclient/tests/functional/network/v2/test_local_ip.py +4 -0
  126. openstackclient/tests/functional/network/v2/test_network_meter_rule.py +2 -2
  127. openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +2 -3
  128. openstackclient/tests/functional/network/v2/test_network_rbac.py +2 -2
  129. openstackclient/tests/functional/network/v2/test_network_trunk.py +1 -1
  130. openstackclient/tests/functional/network/v2/test_port.py +17 -7
  131. openstackclient/tests/functional/network/v2/test_router.py +42 -0
  132. openstackclient/tests/functional/network/v2/test_subnet_pool.py +4 -0
  133. openstackclient/tests/unit/api/test_compute_v2.py +67 -87
  134. openstackclient/tests/unit/common/test_availability_zone.py +6 -14
  135. openstackclient/tests/unit/common/test_command.py +1 -1
  136. openstackclient/tests/unit/common/test_extension.py +5 -7
  137. openstackclient/tests/unit/common/test_limits.py +1 -1
  138. openstackclient/tests/unit/common/test_project_cleanup.py +5 -6
  139. openstackclient/tests/unit/common/test_quota.py +51 -28
  140. openstackclient/tests/unit/compute/v2/fakes.py +85 -315
  141. openstackclient/tests/unit/compute/v2/test_agent.py +16 -16
  142. openstackclient/tests/unit/compute/v2/test_aggregate.py +56 -60
  143. openstackclient/tests/unit/compute/v2/test_console.py +34 -17
  144. openstackclient/tests/unit/compute/v2/test_console_connection.py +72 -0
  145. openstackclient/tests/unit/compute/v2/test_flavor.py +72 -72
  146. openstackclient/tests/unit/compute/v2/test_host.py +8 -8
  147. openstackclient/tests/unit/compute/v2/test_hypervisor.py +22 -30
  148. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
  149. openstackclient/tests/unit/compute/v2/test_keypair.py +36 -29
  150. openstackclient/tests/unit/compute/v2/test_server.py +693 -606
  151. openstackclient/tests/unit/compute/v2/test_server_backup.py +36 -77
  152. openstackclient/tests/unit/compute/v2/test_server_event.py +18 -20
  153. openstackclient/tests/unit/compute/v2/test_server_group.py +25 -31
  154. openstackclient/tests/unit/compute/v2/test_server_image.py +37 -78
  155. openstackclient/tests/unit/compute/v2/test_server_migration.py +41 -41
  156. openstackclient/tests/unit/compute/v2/test_server_volume.py +12 -12
  157. openstackclient/tests/unit/compute/v2/test_service.py +39 -45
  158. openstackclient/tests/unit/compute/v2/test_usage.py +5 -5
  159. openstackclient/tests/unit/identity/v2_0/fakes.py +1 -1
  160. openstackclient/tests/unit/identity/v3/test_access_rule.py +1 -3
  161. openstackclient/tests/unit/identity/v3/test_application_credential.py +48 -26
  162. openstackclient/tests/unit/identity/v3/test_domain.py +115 -105
  163. openstackclient/tests/unit/identity/v3/test_endpoint.py +167 -172
  164. openstackclient/tests/unit/identity/v3/test_group.py +353 -202
  165. openstackclient/tests/unit/identity/v3/test_mappings.py +2 -2
  166. openstackclient/tests/unit/identity/v3/test_project.py +16 -0
  167. openstackclient/tests/unit/identity/v3/test_trust.py +5 -2
  168. openstackclient/tests/unit/identity/v3/test_user.py +102 -6
  169. openstackclient/tests/unit/image/v1/fakes.py +2 -2
  170. openstackclient/tests/unit/image/v1/test_image.py +8 -9
  171. openstackclient/tests/unit/image/v2/test_image.py +84 -46
  172. openstackclient/tests/unit/integ/cli/test_shell.py +1 -2
  173. openstackclient/tests/unit/network/test_common.py +2 -2
  174. openstackclient/tests/unit/network/v2/fakes.py +405 -485
  175. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +8 -14
  176. openstackclient/tests/unit/network/v2/test_floating_ip_network.py +62 -54
  177. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +1 -1
  178. openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +2 -2
  179. openstackclient/tests/unit/network/v2/test_ndp_proxy.py +1 -3
  180. openstackclient/tests/unit/network/v2/test_network.py +4 -4
  181. openstackclient/tests/unit/network/v2/test_network_agent.py +15 -29
  182. openstackclient/tests/unit/network/v2/test_network_compute.py +11 -11
  183. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +16 -19
  184. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +79 -152
  185. openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +4 -6
  186. openstackclient/tests/unit/network/v2/test_network_rbac.py +2 -2
  187. openstackclient/tests/unit/network/v2/test_network_trunk.py +2 -2
  188. openstackclient/tests/unit/network/v2/test_port.py +21 -22
  189. openstackclient/tests/unit/network/v2/test_router.py +130 -51
  190. openstackclient/tests/unit/network/v2/test_security_group_compute.py +11 -19
  191. openstackclient/tests/unit/network/v2/test_security_group_network.py +25 -27
  192. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +15 -17
  193. openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +33 -39
  194. openstackclient/tests/unit/object/v1/test_object_all.py +4 -3
  195. openstackclient/tests/unit/test_shell.py +16 -13
  196. openstackclient/tests/unit/volume/v2/fakes.py +1 -2
  197. openstackclient/tests/unit/volume/v2/test_service.py +57 -91
  198. openstackclient/tests/unit/volume/v2/test_volume.py +109 -106
  199. openstackclient/tests/unit/volume/v2/test_volume_backup.py +141 -148
  200. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +293 -283
  201. openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +1 -1
  202. openstackclient/tests/unit/volume/v3/fakes.py +2 -8
  203. openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +61 -71
  204. openstackclient/tests/unit/volume/v3/test_service.py +221 -141
  205. openstackclient/tests/unit/volume/v3/test_volume.py +131 -120
  206. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +4 -4
  207. openstackclient/tests/unit/volume/v3/test_volume_backup.py +198 -203
  208. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +683 -49
  209. openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +1 -1
  210. openstackclient/volume/client.py +1 -3
  211. openstackclient/volume/v2/consistency_group.py +4 -8
  212. openstackclient/volume/v2/consistency_group_snapshot.py +1 -2
  213. openstackclient/volume/v2/qos_specs.py +1 -2
  214. openstackclient/volume/v2/service.py +41 -38
  215. openstackclient/volume/v2/volume.py +71 -53
  216. openstackclient/volume/v2/volume_backup.py +15 -10
  217. openstackclient/volume/v2/volume_snapshot.py +129 -93
  218. openstackclient/volume/v2/volume_transfer_request.py +0 -3
  219. openstackclient/volume/v2/volume_type.py +10 -21
  220. openstackclient/volume/v3/block_storage_cluster.py +3 -3
  221. openstackclient/volume/v3/block_storage_log_level.py +22 -28
  222. openstackclient/volume/v3/block_storage_manage.py +1 -3
  223. openstackclient/volume/v3/service.py +105 -14
  224. openstackclient/volume/v3/volume.py +218 -58
  225. openstackclient/volume/v3/volume_attachment.py +3 -2
  226. openstackclient/volume/v3/volume_backup.py +31 -27
  227. openstackclient/volume/v3/volume_group.py +2 -1
  228. openstackclient/volume/v3/volume_group_snapshot.py +2 -1
  229. openstackclient/volume/v3/volume_snapshot.py +489 -13
  230. openstackclient/volume/v3/volume_type.py +10 -21
  231. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/AUTHORS +11 -0
  232. python_openstackclient-8.1.0.dist-info/METADATA +264 -0
  233. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/RECORD +238 -259
  234. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/WHEEL +1 -1
  235. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/entry_points.txt +7 -47
  236. python_openstackclient-8.1.0.dist-info/pbr.json +1 -0
  237. openstackclient/tests/functional/volume/v1/__init__.py +0 -0
  238. openstackclient/tests/functional/volume/v1/common.py +0 -35
  239. openstackclient/tests/functional/volume/v1/test_qos.py +0 -100
  240. openstackclient/tests/functional/volume/v1/test_service.py +0 -76
  241. openstackclient/tests/functional/volume/v1/test_snapshot.py +0 -232
  242. openstackclient/tests/functional/volume/v1/test_transfer_request.py +0 -111
  243. openstackclient/tests/functional/volume/v1/test_volume.py +0 -228
  244. openstackclient/tests/functional/volume/v1/test_volume_type.py +0 -213
  245. openstackclient/tests/unit/volume/v1/__init__.py +0 -0
  246. openstackclient/tests/unit/volume/v1/fakes.py +0 -615
  247. openstackclient/tests/unit/volume/v1/test_qos_specs.py +0 -471
  248. openstackclient/tests/unit/volume/v1/test_service.py +0 -295
  249. openstackclient/tests/unit/volume/v1/test_transfer_request.py +0 -380
  250. openstackclient/tests/unit/volume/v1/test_type.py +0 -633
  251. openstackclient/tests/unit/volume/v1/test_volume.py +0 -1447
  252. openstackclient/tests/unit/volume/v1/test_volume_backup.py +0 -435
  253. openstackclient/volume/v1/__init__.py +0 -0
  254. openstackclient/volume/v1/qos_specs.py +0 -377
  255. openstackclient/volume/v1/service.py +0 -136
  256. openstackclient/volume/v1/volume.py +0 -734
  257. openstackclient/volume/v1/volume_backup.py +0 -302
  258. openstackclient/volume/v1/volume_snapshot.py +0 -433
  259. openstackclient/volume/v1/volume_transfer_request.py +0 -200
  260. openstackclient/volume/v1/volume_type.py +0 -520
  261. python_openstackclient-7.4.0.dist-info/METADATA +0 -172
  262. python_openstackclient-7.4.0.dist-info/pbr.json +0 -1
  263. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/LICENSE +0 -0
  264. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/top_level.txt +0 -0
@@ -12,108 +12,83 @@
12
12
  # under the License.
13
13
  #
14
14
 
15
+ from unittest import mock
16
+
17
+ from openstack.block_storage.v2 import service as _service
18
+ from openstack.test import fakes as sdk_fakes
15
19
  from osc_lib import exceptions
16
20
 
17
21
  from openstackclient.tests.unit.volume.v2 import fakes as volume_fakes
18
22
  from openstackclient.volume.v2 import service
19
23
 
20
24
 
21
- class TestService(volume_fakes.TestVolume):
25
+ class TestServiceList(volume_fakes.TestVolume):
22
26
  def setUp(self):
23
27
  super().setUp()
24
28
 
25
- # Get a shortcut to the ServiceManager Mock
26
- self.service_mock = self.volume_client.services
27
- self.service_mock.reset_mock()
28
-
29
-
30
- class TestServiceList(TestService):
31
- # The service to be listed
32
- services = volume_fakes.create_one_service()
29
+ self.service = sdk_fakes.generate_fake_resource(_service.Service)
30
+ self.volume_sdk_client.services.return_value = [self.service]
33
31
 
34
- def setUp(self):
35
- super().setUp()
36
-
37
- self.service_mock.list.return_value = [self.services]
38
-
39
- # Get the command object to test
40
32
  self.cmd = service.ListService(self.app, None)
41
33
 
42
34
  def test_service_list(self):
43
35
  arglist = [
44
36
  '--host',
45
- self.services.host,
37
+ self.service.host,
46
38
  '--service',
47
- self.services.binary,
39
+ self.service.binary,
48
40
  ]
49
41
  verifylist = [
50
- ('host', self.services.host),
51
- ('service', self.services.binary),
42
+ ('host', self.service.host),
43
+ ('service', self.service.binary),
52
44
  ]
53
45
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
54
46
 
55
- # In base command class Lister in cliff, abstract method take_action()
56
- # returns a tuple containing the column names and an iterable
57
- # containing the data to be listed.
58
47
  columns, data = self.cmd.take_action(parsed_args)
59
48
 
60
- expected_columns = [
49
+ expected_columns = (
61
50
  'Binary',
62
51
  'Host',
63
52
  'Zone',
64
53
  'Status',
65
54
  'State',
66
55
  'Updated At',
67
- ]
68
-
69
- # confirming if all expected columns are present in the result.
70
- self.assertEqual(expected_columns, columns)
71
-
56
+ )
72
57
  datalist = (
73
58
  (
74
- self.services.binary,
75
- self.services.host,
76
- self.services.zone,
77
- self.services.status,
78
- self.services.state,
79
- self.services.updated_at,
59
+ self.service.binary,
60
+ self.service.host,
61
+ self.service.availability_zone,
62
+ self.service.status,
63
+ self.service.state,
64
+ self.service.updated_at,
80
65
  ),
81
66
  )
82
-
83
- # confirming if all expected values are present in the result.
67
+ self.assertEqual(expected_columns, columns)
84
68
  self.assertEqual(datalist, tuple(data))
85
-
86
- # checking if proper call was made to list services
87
- self.service_mock.list.assert_called_with(
88
- self.services.host,
89
- self.services.binary,
69
+ self.volume_sdk_client.services.assert_called_with(
70
+ host=self.service.host,
71
+ binary=self.service.binary,
90
72
  )
91
73
 
92
- # checking if prohibited columns are present in output
93
- self.assertNotIn("Disabled Reason", columns)
94
- self.assertNotIn(self.services.disabled_reason, tuple(data))
95
-
96
74
  def test_service_list_with_long_option(self):
97
75
  arglist = [
98
76
  '--host',
99
- self.services.host,
77
+ self.service.host,
100
78
  '--service',
101
- self.services.binary,
79
+ self.service.binary,
102
80
  '--long',
103
81
  ]
104
82
  verifylist = [
105
- ('host', self.services.host),
106
- ('service', self.services.binary),
83
+ ('host', self.service.host),
84
+ ('service', self.service.binary),
107
85
  ('long', True),
108
86
  ]
109
87
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
110
88
 
111
- # In base command class Lister in cliff, abstract method take_action()
112
- # returns a tuple containing the column names and an iterable
113
- # containing the data to be listed.
114
89
  columns, data = self.cmd.take_action(parsed_args)
115
90
 
116
- expected_columns = [
91
+ expected_columns = (
117
92
  'Binary',
118
93
  'Host',
119
94
  'Zone',
@@ -121,41 +96,34 @@ class TestServiceList(TestService):
121
96
  'State',
122
97
  'Updated At',
123
98
  'Disabled Reason',
124
- ]
125
-
126
- # confirming if all expected columns are present in the result.
127
- self.assertEqual(expected_columns, columns)
128
-
99
+ )
129
100
  datalist = (
130
101
  (
131
- self.services.binary,
132
- self.services.host,
133
- self.services.zone,
134
- self.services.status,
135
- self.services.state,
136
- self.services.updated_at,
137
- self.services.disabled_reason,
102
+ self.service.binary,
103
+ self.service.host,
104
+ self.service.availability_zone,
105
+ self.service.status,
106
+ self.service.state,
107
+ self.service.updated_at,
108
+ self.service.disabled_reason,
138
109
  ),
139
110
  )
140
-
141
- # confirming if all expected values are present in the result.
111
+ self.assertEqual(expected_columns, columns)
142
112
  self.assertEqual(datalist, tuple(data))
143
-
144
- self.service_mock.list.assert_called_with(
145
- self.services.host,
146
- self.services.binary,
113
+ self.volume_sdk_client.services.assert_called_with(
114
+ host=self.service.host,
115
+ binary=self.service.binary,
147
116
  )
148
117
 
149
118
 
150
- class TestServiceSet(TestService):
151
- service = volume_fakes.create_one_service()
152
-
119
+ class TestServiceSet(volume_fakes.TestVolume):
153
120
  def setUp(self):
154
121
  super().setUp()
155
122
 
156
- self.service_mock.enable.return_value = self.service
157
- self.service_mock.disable.return_value = self.service
158
- self.service_mock.disable_log_reason.return_value = self.service
123
+ self.service = sdk_fakes.generate_fake_resource(_service.Service)
124
+ self.service.enable = mock.Mock(autospec=True)
125
+ self.service.disable = mock.Mock(autospec=True)
126
+ self.volume_sdk_client.find_service.return_value = self.service
159
127
 
160
128
  self.cmd = service.SetService(self.app, None)
161
129
 
@@ -171,9 +139,8 @@ class TestServiceSet(TestService):
171
139
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
172
140
  result = self.cmd.take_action(parsed_args)
173
141
 
174
- self.service_mock.enable.assert_not_called()
175
- self.service_mock.disable.assert_not_called()
176
- self.service_mock.disable_log_reason.assert_not_called()
142
+ self.service.enable.assert_not_called()
143
+ self.service.disable.assert_not_called()
177
144
  self.assertIsNone(result)
178
145
 
179
146
  def test_service_set_enable(self):
@@ -191,11 +158,8 @@ class TestServiceSet(TestService):
191
158
 
192
159
  result = self.cmd.take_action(parsed_args)
193
160
 
194
- self.service_mock.enable.assert_called_with(
195
- self.service.host, self.service.binary
196
- )
197
- self.service_mock.disable.assert_not_called()
198
- self.service_mock.disable_log_reason.assert_not_called()
161
+ self.service.enable.assert_called_with(self.volume_sdk_client)
162
+ self.service.disable.assert_not_called()
199
163
  self.assertIsNone(result)
200
164
 
201
165
  def test_service_set_disable(self):
@@ -213,11 +177,10 @@ class TestServiceSet(TestService):
213
177
 
214
178
  result = self.cmd.take_action(parsed_args)
215
179
 
216
- self.service_mock.disable.assert_called_with(
217
- self.service.host, self.service.binary
180
+ self.service.enable.assert_not_called()
181
+ self.service.disable.assert_called_with(
182
+ self.volume_sdk_client, reason=None
218
183
  )
219
- self.service_mock.enable.assert_not_called()
220
- self.service_mock.disable_log_reason.assert_not_called()
221
184
  self.assertIsNone(result)
222
185
 
223
186
  def test_service_set_disable_with_reason(self):
@@ -239,8 +202,9 @@ class TestServiceSet(TestService):
239
202
 
240
203
  result = self.cmd.take_action(parsed_args)
241
204
 
242
- self.service_mock.disable_log_reason.assert_called_with(
243
- self.service.host, self.service.binary, reason
205
+ self.service.enable.assert_not_called()
206
+ self.service.disable.assert_called_with(
207
+ self.volume_sdk_client, reason=reason
244
208
  )
245
209
  self.assertIsNone(result)
246
210
 
@@ -258,6 +222,7 @@ class TestServiceSet(TestService):
258
222
  ('service', self.service.binary),
259
223
  ]
260
224
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
225
+
261
226
  try:
262
227
  self.cmd.take_action(parsed_args)
263
228
  self.fail("CommandError should be raised.")
@@ -284,6 +249,7 @@ class TestServiceSet(TestService):
284
249
  ('service', self.service.binary),
285
250
  ]
286
251
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
252
+
287
253
  try:
288
254
  self.cmd.take_action(parsed_args)
289
255
  self.fail("CommandError should be raised.")