python-openstackclient 8.3.0__py3-none-any.whl → 10.0.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 (292) hide show
  1. openstackclient/__init__.py +2 -6
  2. openstackclient/api/api.py +41 -23
  3. openstackclient/api/compute_v2.py +44 -25
  4. openstackclient/api/object_store_v1.py +75 -97
  5. openstackclient/api/volume_v2.py +2 -1
  6. openstackclient/api/volume_v3.py +2 -1
  7. openstackclient/common/availability_zone.py +58 -42
  8. openstackclient/common/clientmanager.py +56 -29
  9. openstackclient/common/configuration.py +10 -3
  10. openstackclient/common/envvars.py +2 -2
  11. openstackclient/common/extension.py +14 -5
  12. openstackclient/common/limits.py +10 -5
  13. openstackclient/common/module.py +14 -6
  14. openstackclient/common/pagination.py +8 -2
  15. openstackclient/common/progressbar.py +7 -6
  16. openstackclient/common/project_cleanup.py +13 -7
  17. openstackclient/common/quota.py +126 -114
  18. openstackclient/common/versions.py +8 -2
  19. openstackclient/compute/client.py +7 -3
  20. openstackclient/compute/v2/agent.py +17 -10
  21. openstackclient/compute/v2/aggregate.py +36 -22
  22. openstackclient/compute/v2/console.py +14 -8
  23. openstackclient/compute/v2/console_connection.py +11 -3
  24. openstackclient/compute/v2/flavor.py +39 -21
  25. openstackclient/compute/v2/host.py +14 -6
  26. openstackclient/compute/v2/hypervisor.py +14 -5
  27. openstackclient/compute/v2/hypervisor_stats.py +10 -2
  28. openstackclient/compute/v2/keypair.py +29 -14
  29. openstackclient/compute/v2/server.py +251 -171
  30. openstackclient/compute/v2/server_backup.py +10 -4
  31. openstackclient/compute/v2/server_event.py +21 -12
  32. openstackclient/compute/v2/server_group.py +21 -11
  33. openstackclient/compute/v2/server_image.py +19 -10
  34. openstackclient/compute/v2/server_migration.py +24 -10
  35. openstackclient/compute/v2/server_share.py +274 -0
  36. openstackclient/compute/v2/server_volume.py +10 -4
  37. openstackclient/compute/v2/service.py +14 -7
  38. openstackclient/compute/v2/usage.py +26 -21
  39. openstackclient/identity/client.py +8 -3
  40. openstackclient/identity/common.py +103 -41
  41. openstackclient/identity/v2_0/catalog.py +14 -7
  42. openstackclient/identity/v2_0/ec2creds.py +21 -10
  43. openstackclient/identity/v2_0/endpoint.py +23 -11
  44. openstackclient/identity/v2_0/project.py +25 -14
  45. openstackclient/identity/v2_0/role.py +28 -14
  46. openstackclient/identity/v2_0/role_assignment.py +9 -3
  47. openstackclient/identity/v2_0/service.py +26 -12
  48. openstackclient/identity/v2_0/token.py +12 -5
  49. openstackclient/identity/v2_0/user.py +26 -15
  50. openstackclient/identity/v3/access_rule.py +26 -12
  51. openstackclient/identity/v3/application_credential.py +59 -24
  52. openstackclient/identity/v3/catalog.py +14 -7
  53. openstackclient/identity/v3/consumer.py +22 -11
  54. openstackclient/identity/v3/credential.py +36 -16
  55. openstackclient/identity/v3/domain.py +37 -18
  56. openstackclient/identity/v3/ec2creds.py +25 -12
  57. openstackclient/identity/v3/endpoint.py +42 -20
  58. openstackclient/identity/v3/endpoint_group.py +28 -17
  59. openstackclient/identity/v3/federation_protocol.py +71 -50
  60. openstackclient/identity/v3/group.py +55 -32
  61. openstackclient/identity/v3/identity_provider.py +92 -57
  62. openstackclient/identity/v3/implied_role.py +21 -9
  63. openstackclient/identity/v3/limit.py +115 -92
  64. openstackclient/identity/v3/mapping.py +26 -13
  65. openstackclient/identity/v3/policy.py +23 -12
  66. openstackclient/identity/v3/project.py +211 -122
  67. openstackclient/identity/v3/region.py +36 -16
  68. openstackclient/identity/v3/registered_limit.py +116 -109
  69. openstackclient/identity/v3/role.py +61 -31
  70. openstackclient/identity/v3/role_assignment.py +23 -6
  71. openstackclient/identity/v3/service.py +36 -16
  72. openstackclient/identity/v3/service_provider.py +37 -15
  73. openstackclient/identity/v3/tag.py +23 -17
  74. openstackclient/identity/v3/token.py +30 -14
  75. openstackclient/identity/v3/trust.py +32 -14
  76. openstackclient/identity/v3/unscoped_saml.py +10 -2
  77. openstackclient/identity/v3/user.py +49 -26
  78. openstackclient/image/client.py +7 -3
  79. openstackclient/image/v1/image.py +33 -26
  80. openstackclient/image/v2/cache.py +14 -9
  81. openstackclient/image/v2/image.py +76 -49
  82. openstackclient/image/v2/info.py +7 -1
  83. openstackclient/image/v2/metadef_namespaces.py +109 -13
  84. openstackclient/image/v2/metadef_objects.py +28 -15
  85. openstackclient/image/v2/metadef_properties.py +24 -13
  86. openstackclient/image/v2/metadef_resource_type_association.py +14 -7
  87. openstackclient/image/v2/metadef_resource_types.py +7 -1
  88. openstackclient/image/v2/task.py +15 -6
  89. openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +7 -192
  90. openstackclient/network/client.py +7 -2
  91. openstackclient/network/common.py +16 -241
  92. openstackclient/network/utils.py +36 -22
  93. openstackclient/network/v2/address_group.py +27 -16
  94. openstackclient/network/v2/address_scope.py +24 -13
  95. openstackclient/network/v2/bgpvpn/bgpvpn.py +463 -0
  96. openstackclient/network/v2/bgpvpn/constants.py +30 -0
  97. openstackclient/network/v2/bgpvpn/network_association.py +214 -0
  98. openstackclient/network/v2/bgpvpn/port_association.py +490 -0
  99. openstackclient/network/v2/bgpvpn/router_association.py +288 -0
  100. openstackclient/network/v2/default_security_group_rule.py +19 -10
  101. openstackclient/network/v2/floating_ip.py +110 -159
  102. openstackclient/network/v2/floating_ip_port_forwarding.py +30 -18
  103. openstackclient/network/v2/fwaas/__init__.py +0 -0
  104. openstackclient/network/v2/fwaas/group.py +466 -0
  105. openstackclient/network/v2/fwaas/policy.py +518 -0
  106. openstackclient/network/v2/fwaas/rule.py +574 -0
  107. openstackclient/network/v2/ip_availability.py +13 -5
  108. openstackclient/network/v2/l3_conntrack_helper.py +22 -13
  109. openstackclient/network/v2/local_ip.py +24 -13
  110. openstackclient/network/v2/local_ip_association.py +14 -7
  111. openstackclient/network/v2/ndp_proxy.py +20 -11
  112. openstackclient/network/v2/network.py +129 -196
  113. openstackclient/network/v2/network_agent.py +46 -25
  114. openstackclient/network/v2/network_auto_allocated_topology.py +22 -11
  115. openstackclient/network/v2/network_flavor.py +27 -16
  116. openstackclient/network/v2/network_flavor_profile.py +23 -12
  117. openstackclient/network/v2/network_meter.py +21 -10
  118. openstackclient/network/v2/network_meter_rule.py +21 -11
  119. openstackclient/network/v2/network_qos_policy.py +25 -15
  120. openstackclient/network/v2/network_qos_rule.py +32 -17
  121. openstackclient/network/v2/network_qos_rule_type.py +13 -5
  122. openstackclient/network/v2/network_rbac.py +23 -12
  123. openstackclient/network/v2/network_segment.py +20 -11
  124. openstackclient/network/v2/network_segment_range.py +56 -29
  125. openstackclient/network/v2/network_service_provider.py +7 -1
  126. openstackclient/network/v2/network_trunk.py +38 -22
  127. openstackclient/network/v2/port.py +54 -29
  128. openstackclient/network/v2/router.py +75 -52
  129. openstackclient/network/v2/security_group.py +87 -157
  130. openstackclient/network/v2/security_group_rule.py +100 -280
  131. openstackclient/network/v2/subnet.py +49 -28
  132. openstackclient/network/v2/subnet_pool.py +30 -17
  133. openstackclient/network/v2/taas/tap_flow.py +22 -11
  134. openstackclient/network/v2/taas/tap_mirror.py +22 -11
  135. openstackclient/network/v2/taas/tap_service.py +23 -12
  136. openstackclient/object/client.py +7 -2
  137. openstackclient/object/v1/account.py +13 -6
  138. openstackclient/object/v1/container.py +25 -15
  139. openstackclient/object/v1/object.py +25 -15
  140. openstackclient/py.typed +0 -0
  141. openstackclient/shell.py +46 -10
  142. openstackclient/tests/functional/base.py +55 -20
  143. openstackclient/tests/functional/common/test_extension.py +4 -0
  144. openstackclient/tests/functional/common/test_quota.py +3 -1
  145. openstackclient/tests/functional/compute/v2/common.py +14 -13
  146. openstackclient/tests/functional/compute/v2/test_flavor.py +3 -1
  147. openstackclient/tests/functional/compute/v2/test_server.py +3 -0
  148. openstackclient/tests/functional/identity/v2/common.py +10 -6
  149. openstackclient/tests/functional/identity/v2/test_role.py +4 -4
  150. openstackclient/tests/functional/identity/v3/common.py +25 -19
  151. openstackclient/tests/functional/identity/v3/test_group.py +20 -20
  152. openstackclient/tests/functional/identity/v3/test_idp.py +3 -1
  153. openstackclient/tests/functional/identity/v3/test_limit.py +47 -0
  154. openstackclient/tests/functional/identity/v3/test_project.py +10 -10
  155. openstackclient/tests/functional/identity/v3/test_role.py +18 -18
  156. openstackclient/tests/functional/identity/v3/test_role_assignment.py +12 -12
  157. openstackclient/tests/functional/identity/v3/test_user.py +8 -8
  158. openstackclient/tests/functional/image/base.py +1 -6
  159. openstackclient/tests/functional/image/v2/test_metadef_objects.py +69 -0
  160. openstackclient/tests/functional/network/v2/common.py +5 -2
  161. openstackclient/tests/functional/network/v2/test_floating_ip.py +10 -4
  162. openstackclient/tests/functional/network/v2/test_ip_availability.py +4 -0
  163. openstackclient/tests/functional/network/v2/test_network_meter_rule.py +3 -2
  164. openstackclient/tests/functional/network/v2/test_network_segment.py +5 -0
  165. openstackclient/tests/functional/network/v2/test_subnet.py +13 -9
  166. openstackclient/tests/functional/object/v1/common.py +4 -0
  167. openstackclient/tests/functional/volume/v2/common.py +4 -0
  168. openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +27 -11
  169. openstackclient/tests/functional/volume/v2/test_volume_type.py +2 -2
  170. openstackclient/tests/functional/volume/v3/common.py +4 -0
  171. openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +56 -138
  172. openstackclient/tests/functional/volume/v3/test_volume_type.py +2 -2
  173. openstackclient/tests/unit/common/test_availability_zone.py +35 -49
  174. openstackclient/tests/unit/common/test_extension.py +2 -2
  175. openstackclient/tests/unit/common/test_module.py +12 -7
  176. openstackclient/tests/unit/common/test_project_cleanup.py +3 -1
  177. openstackclient/tests/unit/common/test_quota.py +62 -23
  178. openstackclient/tests/unit/compute/v2/fakes.py +25 -0
  179. openstackclient/tests/unit/compute/v2/test_flavor.py +28 -2
  180. openstackclient/tests/unit/compute/v2/test_keypair.py +6 -6
  181. openstackclient/tests/unit/compute/v2/test_server.py +17 -104
  182. openstackclient/tests/unit/compute/v2/test_server_share.py +287 -0
  183. openstackclient/tests/unit/identity/v3/fakes.py +3 -0
  184. openstackclient/tests/unit/identity/v3/test_group.py +4 -14
  185. openstackclient/tests/unit/identity/v3/test_identity_provider.py +303 -299
  186. openstackclient/tests/unit/identity/v3/test_limit.py +197 -145
  187. openstackclient/tests/unit/identity/v3/test_project.py +831 -512
  188. openstackclient/tests/unit/identity/v3/test_protocol.py +97 -88
  189. openstackclient/tests/unit/identity/v3/test_registered_limit.py +355 -220
  190. openstackclient/tests/unit/identity/v3/test_user.py +4 -4
  191. openstackclient/tests/unit/image/v2/test_image.py +16 -16
  192. openstackclient/tests/unit/image/v2/test_metadef_namespaces.py +105 -6
  193. openstackclient/tests/unit/network/test_common.py +0 -155
  194. openstackclient/tests/unit/network/v2/bgpvpn/__init__.py +0 -0
  195. openstackclient/tests/unit/network/v2/bgpvpn/fakes.py +179 -0
  196. openstackclient/tests/unit/network/v2/bgpvpn/test_bgpvpn.py +584 -0
  197. openstackclient/tests/unit/network/v2/bgpvpn/test_network_association.py +285 -0
  198. openstackclient/tests/unit/network/v2/bgpvpn/test_port_association.py +384 -0
  199. openstackclient/tests/unit/network/v2/bgpvpn/test_router_association.py +297 -0
  200. openstackclient/tests/unit/network/v2/fwaas/__init__.py +0 -0
  201. openstackclient/tests/unit/network/v2/fwaas/test_group.py +897 -0
  202. openstackclient/tests/unit/network/v2/fwaas/test_policy.py +869 -0
  203. openstackclient/tests/unit/network/v2/fwaas/test_rule.py +980 -0
  204. openstackclient/tests/unit/network/v2/taas/{test_osc_tap_flow.py → test_tap_flow.py} +18 -25
  205. openstackclient/tests/unit/network/v2/taas/{test_osc_tap_mirror.py → test_tap_mirror.py} +19 -29
  206. openstackclient/tests/unit/network/v2/taas/{test_osc_tap_service.py → test_tap_service.py} +19 -29
  207. openstackclient/tests/unit/network/v2/test_address_group.py +2 -2
  208. openstackclient/tests/unit/network/v2/{test_floating_ip_network.py → test_floating_ip.py} +3 -2
  209. openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +13 -13
  210. openstackclient/tests/unit/network/v2/test_network_agent.py +8 -4
  211. openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +3 -3
  212. openstackclient/tests/unit/network/v2/test_network_flavor.py +2 -2
  213. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +1 -1
  214. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +2 -2
  215. openstackclient/tests/unit/network/v2/test_network_rbac.py +1 -1
  216. openstackclient/tests/unit/network/v2/test_network_segment.py +1 -1
  217. openstackclient/tests/unit/network/v2/test_network_segment_range.py +7 -10
  218. openstackclient/tests/unit/network/v2/test_network_trunk.py +1 -1
  219. openstackclient/tests/unit/network/v2/test_router.py +8 -9
  220. openstackclient/tests/unit/network/v2/{test_security_group_network.py → test_security_group.py} +1 -20
  221. openstackclient/tests/unit/network/v2/{test_security_group_rule_network.py → test_security_group_rule.py} +7 -41
  222. openstackclient/tests/unit/network/v2/test_subnet.py +2 -1
  223. openstackclient/tests/unit/network/v2/test_subnet_pool.py +2 -1
  224. openstackclient/tests/unit/object/v1/fakes.py +8 -7
  225. openstackclient/tests/unit/object/v1/test_container.py +65 -101
  226. openstackclient/tests/unit/object/v1/test_container_all.py +8 -1
  227. openstackclient/tests/unit/object/v1/test_object.py +44 -84
  228. openstackclient/tests/unit/object/v1/test_object_all.py +8 -1
  229. openstackclient/tests/unit/test_hacking.py +108 -0
  230. openstackclient/tests/unit/volume/v2/fakes.py +1 -0
  231. openstackclient/tests/unit/volume/v2/test_consistency_group.py +8 -2
  232. openstackclient/tests/unit/volume/v2/test_volume.py +7 -6
  233. openstackclient/tests/unit/volume/v2/test_volume_backup.py +1 -5
  234. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +2 -1
  235. openstackclient/tests/unit/volume/v2/test_volume_type.py +2 -4
  236. openstackclient/tests/unit/volume/v3/fakes.py +1 -0
  237. openstackclient/tests/unit/volume/v3/test_volume.py +94 -15
  238. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +1 -1
  239. openstackclient/tests/unit/volume/v3/test_volume_backup.py +1 -5
  240. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +55 -1
  241. openstackclient/tests/unit/volume/v3/test_volume_type.py +2 -4
  242. openstackclient/volume/client.py +7 -3
  243. openstackclient/volume/v2/backup_record.py +15 -6
  244. openstackclient/volume/v2/consistency_group.py +37 -25
  245. openstackclient/volume/v2/consistency_group_snapshot.py +27 -12
  246. openstackclient/volume/v2/qos_specs.py +30 -19
  247. openstackclient/volume/v2/service.py +17 -6
  248. openstackclient/volume/v2/volume.py +69 -34
  249. openstackclient/volume/v2/volume_backend.py +19 -6
  250. openstackclient/volume/v2/volume_backup.py +48 -22
  251. openstackclient/volume/v2/volume_host.py +6 -4
  252. openstackclient/volume/v2/volume_snapshot.py +52 -26
  253. openstackclient/volume/v2/volume_transfer_request.py +33 -15
  254. openstackclient/volume/v2/volume_type.py +46 -27
  255. openstackclient/volume/v3/block_storage_cleanup.py +11 -3
  256. openstackclient/volume/v3/block_storage_cluster.py +19 -7
  257. openstackclient/volume/v3/block_storage_log_level.py +15 -6
  258. openstackclient/volume/v3/block_storage_manage.py +10 -4
  259. openstackclient/volume/v3/block_storage_resource_filter.py +17 -5
  260. openstackclient/volume/v3/service.py +16 -6
  261. openstackclient/volume/v3/volume.py +103 -46
  262. openstackclient/volume/v3/volume_attachment.py +43 -21
  263. openstackclient/volume/v3/volume_backup.py +55 -26
  264. openstackclient/volume/v3/volume_group.py +23 -13
  265. openstackclient/volume/v3/volume_group_snapshot.py +32 -13
  266. openstackclient/volume/v3/volume_group_type.py +26 -13
  267. openstackclient/volume/v3/volume_message.py +15 -7
  268. openstackclient/volume/v3/volume_snapshot.py +71 -34
  269. openstackclient/volume/v3/volume_transfer_request.py +33 -15
  270. openstackclient/volume/v3/volume_type.py +45 -27
  271. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/METADATA +6 -6
  272. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/RECORD +279 -267
  273. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/WHEEL +1 -1
  274. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/entry_points.txt +53 -1
  275. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/licenses/AUTHORS +9 -0
  276. python_openstackclient-10.0.0.dist-info/pbr.json +1 -0
  277. openstackclient/api/image_v1.py +0 -69
  278. openstackclient/api/image_v2.py +0 -79
  279. openstackclient/network/v2/floating_ip_pool.py +0 -38
  280. openstackclient/tests/functional/image/v1/test_image.py +0 -97
  281. openstackclient/tests/unit/api/test_image_v1.py +0 -96
  282. openstackclient/tests/unit/api/test_image_v2.py +0 -96
  283. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +0 -248
  284. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +0 -49
  285. openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +0 -39
  286. openstackclient/tests/unit/network/v2/test_network_compute.py +0 -404
  287. openstackclient/tests/unit/network/v2/test_security_group_compute.py +0 -392
  288. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +0 -555
  289. python_openstackclient-8.3.0.dist-info/pbr.json +0 -1
  290. /openstackclient/{tests/functional/image/v1 → network/v2/bgpvpn}/__init__.py +0 -0
  291. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/licenses/LICENSE +0 -0
  292. {python_openstackclient-8.3.0.dist-info → python_openstackclient-10.0.0.dist-info}/top_level.txt +0 -0
@@ -77,13 +77,9 @@ class TestCreateTapFlow(network_fakes.TestNetworkV2):
77
77
  'direction': 'BOTH',
78
78
  },
79
79
  )
80
- self.app.client_manager.network.create_tap_flow.return_value = (
81
- fake_tap_flow
82
- )
83
- self.app.client_manager.network.find_port.return_value = fake_port
84
- self.app.client_manager.network.find_tap_service.return_value = (
85
- fake_tap_service
86
- )
80
+ self.network_client.create_tap_flow.return_value = fake_tap_flow
81
+ self.network_client.find_port.return_value = fake_port
82
+ self.network_client.find_tap_service.return_value = fake_tap_service
87
83
  arg_list = [
88
84
  '--name',
89
85
  fake_tap_flow['name'],
@@ -103,8 +99,7 @@ class TestCreateTapFlow(network_fakes.TestNetworkV2):
103
99
 
104
100
  parsed_args = self.check_parser(self.cmd, arg_list, verify_list)
105
101
  columns, data = self.cmd.take_action(parsed_args)
106
- mock_create_t_f = self.app.client_manager.network.create_tap_flow
107
- mock_create_t_f.assert_called_once_with(
102
+ self.network_client.create_tap_flow.assert_called_once_with(
108
103
  **{
109
104
  'name': fake_tap_flow['name'],
110
105
  'source_port': fake_tap_flow['source_port'],
@@ -129,7 +124,7 @@ class TestListTapFlow(network_fakes.TestNetworkV2):
129
124
  fake_tap_flows = list(
130
125
  sdk_fakes.generate_fake_resources(_tap_flow.TapFlow, count=2)
131
126
  )
132
- self.app.client_manager.network.tap_flows.return_value = fake_tap_flows
127
+ self.network_client.tap_flows.return_value = fake_tap_flows
133
128
  arg_list = []
134
129
  verify_list = []
135
130
 
@@ -137,7 +132,7 @@ class TestListTapFlow(network_fakes.TestNetworkV2):
137
132
 
138
133
  headers, data = self.cmd.take_action(parsed_args)
139
134
 
140
- self.app.client_manager.network.tap_flows.assert_called_once()
135
+ self.network_client.tap_flows.assert_called_once()
141
136
  self.assertEqual(headers, list(headers_long))
142
137
  self.assertCountEqual(
143
138
  list(data),
@@ -151,7 +146,7 @@ class TestListTapFlow(network_fakes.TestNetworkV2):
151
146
  class TestDeleteTapFlow(network_fakes.TestNetworkV2):
152
147
  def setUp(self):
153
148
  super().setUp()
154
- self.app.client_manager.network.find_tap_flow.side_effect = (
149
+ self.network_client.find_tap_flow.side_effect = (
155
150
  lambda name_or_id, ignore_missing: _tap_flow.TapFlow(id=name_or_id)
156
151
  )
157
152
  self.cmd = osc_tap_flow.DeleteTapFlow(self.app, None)
@@ -171,8 +166,9 @@ class TestDeleteTapFlow(network_fakes.TestNetworkV2):
171
166
 
172
167
  result = self.cmd.take_action(parsed_args)
173
168
 
174
- mock_delete_tap_flow = self.app.client_manager.network.delete_tap_flow
175
- mock_delete_tap_flow.assert_called_once_with(fake_tap_flow['id'])
169
+ self.network_client.delete_tap_flow.assert_called_once_with(
170
+ fake_tap_flow['id']
171
+ )
176
172
  self.assertIsNone(result)
177
173
 
178
174
 
@@ -190,7 +186,7 @@ class TestShowTapFlow(network_fakes.TestNetworkV2):
190
186
 
191
187
  def setUp(self):
192
188
  super().setUp()
193
- self.app.client_manager.network.find_tap_flow.side_effect = (
189
+ self.network_client.find_tap_flow.side_effect = (
194
190
  lambda name_or_id, ignore_missing: _tap_flow.TapFlow(id=name_or_id)
195
191
  )
196
192
  self.cmd = osc_tap_flow.ShowTapFlow(self.app, None)
@@ -198,9 +194,7 @@ class TestShowTapFlow(network_fakes.TestNetworkV2):
198
194
  def test_show_tap_flow(self):
199
195
  """Test Show tap flow."""
200
196
  fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow)
201
- self.app.client_manager.network.get_tap_flow.return_value = (
202
- fake_tap_flow
203
- )
197
+ self.network_client.get_tap_flow.return_value = fake_tap_flow
204
198
  arg_list = [
205
199
  fake_tap_flow['id'],
206
200
  ]
@@ -212,7 +206,7 @@ class TestShowTapFlow(network_fakes.TestNetworkV2):
212
206
 
213
207
  headers, data = self.cmd.take_action(parsed_args)
214
208
 
215
- self.app.client_manager.network.get_tap_flow.assert_called_once_with(
209
+ self.network_client.get_tap_flow.assert_called_once_with(
216
210
  fake_tap_flow['id']
217
211
  )
218
212
  self.assertEqual(self.columns, headers)
@@ -245,7 +239,7 @@ class TestUpdateTapFlow(network_fakes.TestNetworkV2):
245
239
  def setUp(self):
246
240
  super().setUp()
247
241
  self.cmd = osc_tap_flow.UpdateTapFlow(self.app, None)
248
- self.app.client_manager.network.find_tap_flow.side_effect = (
242
+ self.network_client.find_tap_flow.side_effect = (
249
243
  lambda name_or_id, ignore_missing: _tap_flow.TapFlow(id=name_or_id)
250
244
  )
251
245
 
@@ -255,9 +249,7 @@ class TestUpdateTapFlow(network_fakes.TestNetworkV2):
255
249
  new_tap_flow = copy.deepcopy(fake_tap_flow)
256
250
  new_tap_flow['name'] = self._new_name
257
251
 
258
- self.app.client_manager.network.update_tap_flow.return_value = (
259
- new_tap_flow
260
- )
252
+ self.network_client.update_tap_flow.return_value = new_tap_flow
261
253
 
262
254
  arg_list = [
263
255
  fake_tap_flow['id'],
@@ -270,7 +262,8 @@ class TestUpdateTapFlow(network_fakes.TestNetworkV2):
270
262
  columns, data = self.cmd.take_action(parsed_args)
271
263
  attrs = {'name': self._new_name}
272
264
 
273
- mock_update_t_f = self.app.client_manager.network.update_tap_flow
274
- mock_update_t_f.assert_called_once_with(new_tap_flow['id'], **attrs)
265
+ self.network_client.update_tap_flow.assert_called_once_with(
266
+ new_tap_flow['id'], **attrs
267
+ )
275
268
  self.assertEqual(self.columns, columns)
276
269
  self.assertEqual(_get_data(new_tap_flow, self.columns), data)
@@ -64,11 +64,9 @@ class TestCreateTapMirror(network_fakes.TestNetworkV2):
64
64
  fake_tap_mirror = sdk_fakes.generate_fake_resource(
65
65
  tap_mirror.TapMirror, **{'port_id': port_id, 'directions': 'IN=99'}
66
66
  )
67
- self.app.client_manager.network.create_tap_mirror.return_value = (
68
- fake_tap_mirror
69
- )
70
- self.app.client_manager.network.find_port.return_value = fake_port
71
- self.app.client_manager.network.find_tap_mirror.side_effect = (
67
+ self.network_client.create_tap_mirror.return_value = fake_tap_mirror
68
+ self.network_client.find_port.return_value = fake_port
69
+ self.network_client.find_tap_mirror.side_effect = (
72
70
  lambda _, name_or_id: {'id': name_or_id}
73
71
  )
74
72
  arg_list = [
@@ -96,13 +94,10 @@ class TestCreateTapMirror(network_fakes.TestNetworkV2):
96
94
  ]
97
95
 
98
96
  parsed_args = self.check_parser(self.cmd, arg_list, verify_list)
99
- self.app.client_manager.network.find_tap_mirror.return_value = (
100
- fake_tap_mirror
101
- )
97
+ self.network_client.find_tap_mirror.return_value = fake_tap_mirror
102
98
 
103
99
  columns, data = self.cmd.take_action(parsed_args)
104
- create_tap_m_mock = self.app.client_manager.network.create_tap_mirror
105
- create_tap_m_mock.assert_called_once_with(
100
+ self.network_client.create_tap_mirror.assert_called_once_with(
106
101
  **{
107
102
  'name': fake_tap_mirror['name'],
108
103
  'port_id': fake_tap_mirror['port_id'],
@@ -128,9 +123,7 @@ class TestListTapMirror(network_fakes.TestNetworkV2):
128
123
  fake_tap_mirrors = list(
129
124
  sdk_fakes.generate_fake_resources(tap_mirror.TapMirror, count=4)
130
125
  )
131
- self.app.client_manager.network.tap_mirrors.return_value = (
132
- fake_tap_mirrors
133
- )
126
+ self.network_client.tap_mirrors.return_value = fake_tap_mirrors
134
127
 
135
128
  arg_list = []
136
129
  verify_list = []
@@ -139,7 +132,7 @@ class TestListTapMirror(network_fakes.TestNetworkV2):
139
132
 
140
133
  headers, data = self.cmd.take_action(parsed_args)
141
134
 
142
- self.app.client_manager.network.tap_mirrors.assert_called_once()
135
+ self.network_client.tap_mirrors.assert_called_once()
143
136
  self.assertEqual(headers, list(headers_long))
144
137
  self.assertCountEqual(
145
138
  list(data),
@@ -153,7 +146,7 @@ class TestListTapMirror(network_fakes.TestNetworkV2):
153
146
  class TestDeleteTapMirror(network_fakes.TestNetworkV2):
154
147
  def setUp(self):
155
148
  super().setUp()
156
- self.app.client_manager.network.find_tap_mirror.side_effect = (
149
+ self.network_client.find_tap_mirror.side_effect = (
157
150
  lambda name_or_id, ignore_missing: tap_mirror.TapMirror(
158
151
  id=name_or_id
159
152
  )
@@ -177,8 +170,9 @@ class TestDeleteTapMirror(network_fakes.TestNetworkV2):
177
170
  parsed_args = self.check_parser(self.cmd, arg_list, verify_list)
178
171
  result = self.cmd.take_action(parsed_args)
179
172
 
180
- mock_delete_tap_m = self.app.client_manager.network.delete_tap_mirror
181
- mock_delete_tap_m.assert_called_once_with(fake_tap_mirror['id'])
173
+ self.network_client.delete_tap_mirror.assert_called_once_with(
174
+ fake_tap_mirror['id']
175
+ )
182
176
  self.assertIsNone(result)
183
177
 
184
178
 
@@ -196,7 +190,7 @@ class TestShowTapMirror(network_fakes.TestNetworkV2):
196
190
 
197
191
  def setUp(self):
198
192
  super().setUp()
199
- self.app.client_manager.network.find_tap_mirror.side_effect = (
193
+ self.network_client.find_tap_mirror.side_effect = (
200
194
  lambda name_or_id, ignore_missing: tap_mirror.TapMirror(
201
195
  id=name_or_id
202
196
  )
@@ -209,9 +203,7 @@ class TestShowTapMirror(network_fakes.TestNetworkV2):
209
203
  fake_tap_mirror = sdk_fakes.generate_fake_resource(
210
204
  tap_mirror.TapMirror
211
205
  )
212
- self.app.client_manager.network.get_tap_mirror.return_value = (
213
- fake_tap_mirror
214
- )
206
+ self.network_client.get_tap_mirror.return_value = fake_tap_mirror
215
207
  arg_list = [
216
208
  fake_tap_mirror['id'],
217
209
  ]
@@ -223,8 +215,9 @@ class TestShowTapMirror(network_fakes.TestNetworkV2):
223
215
 
224
216
  headers, data = self.cmd.take_action(parsed_args)
225
217
 
226
- mock_get_tap_m = self.app.client_manager.network.get_tap_mirror
227
- mock_get_tap_m.assert_called_once_with(fake_tap_mirror['id'])
218
+ self.network_client.get_tap_mirror.assert_called_once_with(
219
+ fake_tap_mirror['id']
220
+ )
228
221
  self.assertEqual(self.columns, headers)
229
222
  fake_data = _get_data(
230
223
  fake_tap_mirror, osc_tap_mirror._get_columns(fake_tap_mirror)[1]
@@ -248,7 +241,7 @@ class TestUpdateTapMirror(network_fakes.TestNetworkV2):
248
241
  def setUp(self):
249
242
  super().setUp()
250
243
  self.cmd = osc_tap_mirror.UpdateTapMirror(self.app, None)
251
- self.app.client_manager.network.find_tap_mirror.side_effect = (
244
+ self.network_client.find_tap_mirror.side_effect = (
252
245
  lambda name_or_id, ignore_missing: tap_mirror.TapMirror(
253
246
  id=name_or_id
254
247
  )
@@ -262,9 +255,7 @@ class TestUpdateTapMirror(network_fakes.TestNetworkV2):
262
255
  new_tap_mirror = copy.deepcopy(fake_tap_mirror)
263
256
  new_tap_mirror['name'] = self._new_name
264
257
 
265
- self.app.client_manager.network.update_tap_mirror.return_value = (
266
- new_tap_mirror
267
- )
258
+ self.network_client.update_tap_mirror.return_value = new_tap_mirror
268
259
 
269
260
  arg_list = [
270
261
  fake_tap_mirror['id'],
@@ -277,8 +268,7 @@ class TestUpdateTapMirror(network_fakes.TestNetworkV2):
277
268
  columns, data = self.cmd.take_action(parsed_args)
278
269
  attrs = {'name': self._new_name}
279
270
 
280
- mock_update_tap_m = self.app.client_manager.network.update_tap_mirror
281
- mock_update_tap_m.assert_called_once_with(
271
+ self.network_client.update_tap_mirror.assert_called_once_with(
282
272
  fake_tap_mirror['id'], **attrs
283
273
  )
284
274
  self.assertEqual(self.columns, columns)
@@ -65,11 +65,9 @@ class TestCreateTapService(network_fakes.TestNetworkV2):
65
65
  fake_tap_service = sdk_fakes.generate_fake_resource(
66
66
  tap_service.TapService, **{'port_id': port_id}
67
67
  )
68
- self.app.client_manager.network.create_tap_service.return_value = (
69
- fake_tap_service
70
- )
71
- self.app.client_manager.network.find_port.return_value = fake_port
72
- self.app.client_manager.network.find_tap_service.side_effect = (
68
+ self.network_client.create_tap_service.return_value = fake_tap_service
69
+ self.network_client.find_port.return_value = fake_port
70
+ self.network_client.find_tap_service.side_effect = (
73
71
  lambda _, name_or_id: {'id': name_or_id}
74
72
  )
75
73
  arg_list = [
@@ -85,13 +83,10 @@ class TestCreateTapService(network_fakes.TestNetworkV2):
85
83
  ]
86
84
 
87
85
  parsed_args = self.check_parser(self.cmd, arg_list, verify_list)
88
- self.app.client_manager.network.find_tap_service.return_value = (
89
- fake_tap_service
90
- )
86
+ self.network_client.find_tap_service.return_value = fake_tap_service
91
87
 
92
88
  columns, data = self.cmd.take_action(parsed_args)
93
- create_tap_s_mock = self.app.client_manager.network.create_tap_service
94
- create_tap_s_mock.assert_called_once_with(
89
+ self.network_client.create_tap_service.assert_called_once_with(
95
90
  **{
96
91
  'name': fake_tap_service['name'],
97
92
  'port_id': fake_tap_service['port_id'],
@@ -114,9 +109,7 @@ class TestListTapService(network_fakes.TestNetworkV2):
114
109
  fake_tap_services = list(
115
110
  sdk_fakes.generate_fake_resources(tap_service.TapService, count=4)
116
111
  )
117
- self.app.client_manager.network.tap_services.return_value = (
118
- fake_tap_services
119
- )
112
+ self.network_client.tap_services.return_value = fake_tap_services
120
113
 
121
114
  arg_list = []
122
115
  verify_list = []
@@ -125,7 +118,7 @@ class TestListTapService(network_fakes.TestNetworkV2):
125
118
 
126
119
  headers, data = self.cmd.take_action(parsed_args)
127
120
 
128
- self.app.client_manager.network.tap_services.assert_called_once()
121
+ self.network_client.tap_services.assert_called_once()
129
122
  self.assertEqual(headers, list(headers_long))
130
123
  self.assertCountEqual(
131
124
  list(data),
@@ -139,7 +132,7 @@ class TestListTapService(network_fakes.TestNetworkV2):
139
132
  class TestDeleteTapService(network_fakes.TestNetworkV2):
140
133
  def setUp(self):
141
134
  super().setUp()
142
- self.app.client_manager.network.find_tap_service.side_effect = (
135
+ self.network_client.find_tap_service.side_effect = (
143
136
  lambda name_or_id, ignore_missing: tap_service.TapService(
144
137
  id=name_or_id
145
138
  )
@@ -163,8 +156,9 @@ class TestDeleteTapService(network_fakes.TestNetworkV2):
163
156
  parsed_args = self.check_parser(self.cmd, arg_list, verify_list)
164
157
  result = self.cmd.take_action(parsed_args)
165
158
 
166
- mock_delete_tap_s = self.app.client_manager.network.delete_tap_service
167
- mock_delete_tap_s.assert_called_once_with(fake_tap_service['id'])
159
+ self.network_client.delete_tap_service.assert_called_once_with(
160
+ fake_tap_service['id']
161
+ )
168
162
  self.assertIsNone(result)
169
163
 
170
164
 
@@ -180,7 +174,7 @@ class TestShowTapService(network_fakes.TestNetworkV2):
180
174
 
181
175
  def setUp(self):
182
176
  super().setUp()
183
- self.app.client_manager.network.find_tap_service.side_effect = (
177
+ self.network_client.find_tap_service.side_effect = (
184
178
  lambda name_or_id, ignore_missing: tap_service.TapService(
185
179
  id=name_or_id
186
180
  )
@@ -193,9 +187,7 @@ class TestShowTapService(network_fakes.TestNetworkV2):
193
187
  fake_tap_service = sdk_fakes.generate_fake_resource(
194
188
  tap_service.TapService
195
189
  )
196
- self.app.client_manager.network.get_tap_service.return_value = (
197
- fake_tap_service
198
- )
190
+ self.network_client.get_tap_service.return_value = fake_tap_service
199
191
  arg_list = [
200
192
  fake_tap_service['id'],
201
193
  ]
@@ -207,8 +199,9 @@ class TestShowTapService(network_fakes.TestNetworkV2):
207
199
 
208
200
  headers, data = self.cmd.take_action(parsed_args)
209
201
 
210
- mock_get_tap_s = self.app.client_manager.network.get_tap_service
211
- mock_get_tap_s.assert_called_once_with(fake_tap_service['id'])
202
+ self.network_client.get_tap_service.assert_called_once_with(
203
+ fake_tap_service['id']
204
+ )
212
205
  self.assertEqual(self.columns, headers)
213
206
  fake_data = _get_data(
214
207
  fake_tap_service, osc_tap_service._get_columns(fake_tap_service)[1]
@@ -231,7 +224,7 @@ class TestUpdateTapService(network_fakes.TestNetworkV2):
231
224
  def setUp(self):
232
225
  super().setUp()
233
226
  self.cmd = osc_tap_service.UpdateTapService(self.app, None)
234
- self.app.client_manager.network.find_tap_service.side_effect = (
227
+ self.network_client.find_tap_service.side_effect = (
235
228
  lambda name_or_id, ignore_missing: tap_service.TapService(
236
229
  id=name_or_id
237
230
  )
@@ -245,9 +238,7 @@ class TestUpdateTapService(network_fakes.TestNetworkV2):
245
238
  new_tap_service = copy.deepcopy(fake_tap_service)
246
239
  new_tap_service['name'] = self._new_name
247
240
 
248
- self.app.client_manager.network.update_tap_service.return_value = (
249
- new_tap_service
250
- )
241
+ self.network_client.update_tap_service.return_value = new_tap_service
251
242
 
252
243
  arg_list = [
253
244
  fake_tap_service['id'],
@@ -260,8 +251,7 @@ class TestUpdateTapService(network_fakes.TestNetworkV2):
260
251
  columns, data = self.cmd.take_action(parsed_args)
261
252
  attrs = {'name': self._new_name}
262
253
 
263
- mock_update_tap_s = self.app.client_manager.network.update_tap_service
264
- mock_update_tap_s.assert_called_once_with(
254
+ self.network_client.update_tap_service.assert_called_once_with(
265
255
  fake_tap_service['id'], **attrs
266
256
  )
267
257
  self.assertEqual(self.columns, columns)
@@ -519,7 +519,7 @@ class TestUnsetAddressGroup(TestAddressGroup):
519
519
 
520
520
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
521
521
  result = self.cmd.take_action(parsed_args)
522
- self.network_client.remove_addresses_from_address_group.assert_called_once_with( # noqa: E501
522
+ self.network_client.remove_addresses_from_address_group.assert_called_once_with(
523
523
  self._address_group, ['10.0.0.2/32']
524
524
  )
525
525
  self.assertIsNone(result)
@@ -539,7 +539,7 @@ class TestUnsetAddressGroup(TestAddressGroup):
539
539
 
540
540
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
541
541
  result = self.cmd.take_action(parsed_args)
542
- self.network_client.remove_addresses_from_address_group.assert_called_once_with( # noqa: E501
542
+ self.network_client.remove_addresses_from_address_group.assert_called_once_with(
543
543
  self._address_group, ['10.0.0.2/32', '2001::/16']
544
544
  )
545
545
  self.assertIsNone(result)
@@ -383,7 +383,7 @@ class TestDeleteFloatingIPNetwork(TestFloatingIPNetwork):
383
383
  self.cmd.take_action(parsed_args)
384
384
  self.fail('CommandError should be raised.')
385
385
  except exceptions.CommandError as e:
386
- self.assertEqual('1 of 2 floating_ips failed to delete.', str(e))
386
+ self.assertEqual('1 of 2 floating IPs failed to delete.', str(e))
387
387
 
388
388
  self.network_client.find_ip.assert_any_call(
389
389
  self.floating_ips[0].id,
@@ -425,7 +425,8 @@ class TestListFloatingIPNetwork(TestFloatingIPNetwork):
425
425
  'Floating Network',
426
426
  'Project',
427
427
  )
428
- columns_long = columns + (
428
+ columns_long = (
429
+ *columns,
429
430
  'Router',
430
431
  'Status',
431
432
  'Description',
@@ -39,14 +39,14 @@ class TestFloatingIPPortForwarding(network_fakes.TestNetworkV2):
39
39
  class TestCreateFloatingIPPortForwarding(TestFloatingIPPortForwarding):
40
40
  def setUp(self):
41
41
  super().setUp()
42
- self.new_port_forwarding = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding( # noqa: E501
42
+ self.new_port_forwarding = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding(
43
43
  attrs={
44
44
  'internal_port_id': self.port.id,
45
45
  'floatingip_id': self.floating_ip.id,
46
46
  }
47
47
  )
48
48
 
49
- self.new_port_forwarding_with_ranges = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding( # noqa: E501
49
+ self.new_port_forwarding_with_ranges = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding(
50
50
  use_range=True,
51
51
  attrs={
52
52
  'internal_port_id': self.port.id,
@@ -144,15 +144,15 @@ class TestCreateFloatingIPPortForwarding(TestFloatingIPPortForwarding):
144
144
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
145
145
  columns, data = self.cmd.take_action(parsed_args)
146
146
 
147
- self.network_client.create_floating_ip_port_forwarding.assert_called_once_with( # noqa: E501
147
+ self.network_client.create_floating_ip_port_forwarding.assert_called_once_with(
148
148
  self.new_port_forwarding.floatingip_id,
149
149
  **{
150
- 'external_port_range': self.new_port_forwarding_with_ranges.external_port_range, # noqa: E501
151
- 'internal_ip_address': self.new_port_forwarding_with_ranges.internal_ip_address, # noqa: E501
152
- 'internal_port_range': self.new_port_forwarding_with_ranges.internal_port_range, # noqa: E501
153
- 'internal_port_id': self.new_port_forwarding_with_ranges.internal_port_id, # noqa: E501
150
+ 'external_port_range': self.new_port_forwarding_with_ranges.external_port_range,
151
+ 'internal_ip_address': self.new_port_forwarding_with_ranges.internal_ip_address,
152
+ 'internal_port_range': self.new_port_forwarding_with_ranges.internal_port_range,
153
+ 'internal_port_id': self.new_port_forwarding_with_ranges.internal_port_id,
154
154
  'protocol': self.new_port_forwarding_with_ranges.protocol,
155
- 'description': self.new_port_forwarding_with_ranges.description, # noqa: E501
155
+ 'description': self.new_port_forwarding_with_ranges.description,
156
156
  },
157
157
  )
158
158
  self.assertEqual(self.columns, columns)
@@ -325,11 +325,11 @@ class TestCreateFloatingIPPortForwarding(TestFloatingIPPortForwarding):
325
325
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
326
326
  columns, data = self.cmd.take_action(parsed_args)
327
327
 
328
- self.network_client.create_floating_ip_port_forwarding.assert_called_once_with( # noqa: E501
328
+ self.network_client.create_floating_ip_port_forwarding.assert_called_once_with(
329
329
  self.new_port_forwarding.floatingip_id,
330
330
  **{
331
331
  'external_port': self.new_port_forwarding.external_port,
332
- 'internal_ip_address': self.new_port_forwarding.internal_ip_address, # noqa: E501
332
+ 'internal_ip_address': self.new_port_forwarding.internal_ip_address,
333
333
  'internal_port': self.new_port_forwarding.internal_port,
334
334
  'internal_port_id': self.new_port_forwarding.internal_port_id,
335
335
  'protocol': self.new_port_forwarding.protocol,
@@ -375,7 +375,7 @@ class TestDeleteFloatingIPPortForwarding(TestFloatingIPPortForwarding):
375
375
 
376
376
  result = self.cmd.take_action(parsed_args)
377
377
 
378
- self.network_client.delete_floating_ip_port_forwarding.assert_called_once_with( # noqa: E501
378
+ self.network_client.delete_floating_ip_port_forwarding.assert_called_once_with(
379
379
  self.floating_ip.id,
380
380
  self._port_forwarding[0].id,
381
381
  ignore_missing=False,
@@ -553,7 +553,7 @@ class TestSetFloatingIPPortForwarding(TestFloatingIPPortForwarding):
553
553
  # The Port Forwarding to set.
554
554
  def setUp(self):
555
555
  super().setUp()
556
- self._port_forwarding = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding( # noqa: E501
556
+ self._port_forwarding = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding(
557
557
  attrs={
558
558
  'floatingip_id': self.floating_ip.id,
559
559
  }
@@ -675,7 +675,7 @@ class TestShowFloatingIPPortForwarding(TestFloatingIPPortForwarding):
675
675
 
676
676
  def setUp(self):
677
677
  super().setUp()
678
- self._port_forwarding = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding( # noqa: E501
678
+ self._port_forwarding = network_fakes.FakeFloatingIPPortForwarding.create_one_port_forwarding(
679
679
  attrs={
680
680
  'floatingip_id': self.floating_ip.id,
681
681
  }
@@ -340,8 +340,8 @@ class TestListNetworkAgent(TestNetworkAgent):
340
340
  )
341
341
 
342
342
  # Add a column 'HA State' and corresponding data.
343
- router_agent_columns = self.columns + ('HA State',)
344
- router_agent_data = [d + ('',) for d in self.data]
343
+ router_agent_columns = (*self.columns, 'HA State')
344
+ router_agent_data = [(*d, '') for d in self.data]
345
345
 
346
346
  self.assertEqual(router_agent_columns, columns)
347
347
  self.assertEqual(len(router_agent_data), len(list(data)))
@@ -541,8 +541,9 @@ class TestShowNetworkAgent(TestNetworkAgent):
541
541
  'configuration',
542
542
  'created_at',
543
543
  'description',
544
- 'host',
544
+ 'ha_chassis_priority',
545
545
  'ha_state',
546
+ 'host',
546
547
  'id',
547
548
  'last_heartbeat_at',
548
549
  'resources_synced',
@@ -558,6 +559,9 @@ class TestShowNetworkAgent(TestNetworkAgent):
558
559
  format_columns.DictColumn(_network_agent.configuration),
559
560
  _network_agent.created_at,
560
561
  _network_agent.description,
562
+ # NOTE(ralonsoh): `ha_chassis_priority` column is still not supported
563
+ # by the API. See LP#2103521.
564
+ None,
561
565
  _network_agent.ha_state,
562
566
  _network_agent.host,
563
567
  _network_agent.id,
@@ -601,5 +605,5 @@ class TestShowNetworkAgent(TestNetworkAgent):
601
605
  self.network_client.get_agent.assert_called_once_with(
602
606
  self._network_agent.id
603
607
  )
604
- self.assertEqual(set(self.columns), set(columns))
608
+ self.assertCountEqual(self.columns, columns)
605
609
  self.assertEqual(len(list(self.data)), len(list(data)))
@@ -167,7 +167,7 @@ class TestValidateAutoAllocatedTopology(TestAutoAllocatedTopology):
167
167
  ]
168
168
 
169
169
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
170
- columns, data = self.cmd.take_action(parsed_args)
170
+ _columns, _data = self.cmd.take_action(parsed_args)
171
171
 
172
172
  self.network_client.validate_auto_allocated_topology.assert_called_with(
173
173
  None
@@ -185,7 +185,7 @@ class TestValidateAutoAllocatedTopology(TestAutoAllocatedTopology):
185
185
  ]
186
186
 
187
187
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
188
- columns, data = self.cmd.take_action(parsed_args)
188
+ _columns, _data = self.cmd.take_action(parsed_args)
189
189
 
190
190
  self.network_client.validate_auto_allocated_topology.assert_called_with(
191
191
  self.project.id
@@ -206,7 +206,7 @@ class TestValidateAutoAllocatedTopology(TestAutoAllocatedTopology):
206
206
  ]
207
207
 
208
208
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
209
- columns, data = self.cmd.take_action(parsed_args)
209
+ _columns, _data = self.cmd.take_action(parsed_args)
210
210
 
211
211
  self.network_client.validate_auto_allocated_topology.assert_called_with(
212
212
  self.project.id
@@ -71,7 +71,7 @@ class TestAddNetworkFlavorToProfile(TestNetworkFlavor):
71
71
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
72
72
  self.cmd.take_action(parsed_args)
73
73
 
74
- self.network_client.associate_flavor_with_service_profile.assert_called_once_with( # noqa: E501
74
+ self.network_client.associate_flavor_with_service_profile.assert_called_once_with(
75
75
  self.network_flavor, self.service_profile
76
76
  )
77
77
 
@@ -377,7 +377,7 @@ class TestRemoveNetworkFlavorFromProfile(TestNetworkFlavor):
377
377
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
378
378
  self.cmd.take_action(parsed_args)
379
379
 
380
- self.network_client.disassociate_flavor_from_service_profile.assert_called_once_with( # noqa: E501
380
+ self.network_client.disassociate_flavor_from_service_profile.assert_called_once_with(
381
381
  self.network_flavor, self.service_profile
382
382
  )
383
383
 
@@ -28,7 +28,7 @@ class TestQosPolicy(network_fakes.TestNetworkV2):
28
28
  def setUp(self):
29
29
  super().setUp()
30
30
  # Get a shortcut to the ProjectManager Mock
31
- self.projects_mock = self.app.client_manager.identity.projects
31
+ self.projects_mock = self.identity_client.projects
32
32
 
33
33
 
34
34
  class TestCreateNetworkQosPolicy(TestQosPolicy):
@@ -226,7 +226,7 @@ class TestCreateNetworkQosRuleMinimumPacketRate(TestNetworkQosRule):
226
226
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
227
227
  columns, data = self.cmd.take_action(parsed_args)
228
228
 
229
- self.network_client.create_qos_minimum_packet_rate_rule.assert_called_once_with( # noqa: E501
229
+ self.network_client.create_qos_minimum_packet_rate_rule.assert_called_once_with(
230
230
  self.qos_policy.id,
231
231
  **{
232
232
  'min_kpps': self.new_rule.min_kpps,
@@ -613,7 +613,7 @@ class TestDeleteNetworkQosRuleMinimumPacketRate(TestNetworkQosRule):
613
613
  self.network_client.find_qos_policy.assert_called_once_with(
614
614
  self.qos_policy.id, ignore_missing=False
615
615
  )
616
- self.network_client.delete_qos_minimum_packet_rate_rule.assert_called_once_with( # noqa: E501
616
+ self.network_client.delete_qos_minimum_packet_rate_rule.assert_called_once_with(
617
617
  self.new_rule.id, self.qos_policy.id
618
618
  )
619
619
  self.assertIsNone(result)
@@ -224,7 +224,7 @@ class TestCreateNetworkRBAC(TestNetworkRBAC):
224
224
  ]
225
225
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
226
226
 
227
- columns, data = self.cmd.take_action(parsed_args)
227
+ _columns, _data = self.cmd.take_action(parsed_args)
228
228
 
229
229
  self.network_client.create_rbac_policy.assert_called_with(
230
230
  **{
@@ -250,7 +250,7 @@ class TestListNetworkSegment(TestNetworkSegment):
250
250
  'Network Type',
251
251
  'Segment',
252
252
  )
253
- columns_long = columns + ('Physical Network',)
253
+ columns_long = (*columns, 'Physical Network')
254
254
 
255
255
  data = []
256
256
  for _network_segment in _network_segments: