summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-12-04 21:33:25 +0100
committerMichał Górny <mgorny@gentoo.org>2023-12-04 21:39:31 +0100
commit6b00547810a925620aedaa409bc6c63359668d92 (patch)
treef19a38795de2b5b8c192bd4a22c4fc547872abbc /dev-python/python-openstackclient
parentdev-java/concurrentlinkedhashmap-lru: new package, add 1.4.2 (diff)
downloadgentoo-6b00547810a925620aedaa409bc6c63359668d92.tar.gz
gentoo-6b00547810a925620aedaa409bc6c63359668d92.tar.bz2
gentoo-6b00547810a925620aedaa409bc6c63359668d92.zip
dev-python/python-openstackclient: Backport test fix
Closes: https://bugs.gentoo.org/918417 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/python-openstackclient')
-rw-r--r--dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch254
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild5
2 files changed, 259 insertions, 0 deletions
diff --git a/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch
new file mode 100644
index 000000000000..b82097f36ae7
--- /dev/null
+++ b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch
@@ -0,0 +1,254 @@
+From fb2e0ced6e2413f5641e65bdc44ff1350a172a24 Mon Sep 17 00:00:00 2001
+From: Stephen Finucane <stephenfin@redhat.com>
+Date: Mon, 11 Sep 2023 10:46:23 +0100
+Subject: [PATCH] tests: Explicitly specify port fields for output
+
+Rather than excluding the few fields we don't want, explicitly indicate
+the ones we do want. We were already in-effect doing this in our tests,
+so this is simply moving the definition from tests to the main code.
+
+Note that this is a problem in the tests for virtually all commands
+that will be seen as the SDK continues to evolve and new fields are
+added to existing resources. This is a problem that be solved over
+time though, rather than in a big bang commit.
+
+Change-Id: Iaa64e97450f5c73cab2e2c3b0c741aec1495b4f1
+Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
+---
+ openstackclient/network/v2/port.py | 52 +++++++++++++++----
+ .../tests/unit/network/v2/test_port.py | 36 ++++++-------
+ 2 files changed, 59 insertions(+), 29 deletions(-)
+
+diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
+index 6ca069bb..710e8fe3 100644
+--- a/openstackclient/network/v2/port.py
++++ b/openstackclient/network/v2/port.py
+@@ -55,18 +55,48 @@ _formatters = {
+
+
+ def _get_columns(item):
+- column_map = {
+- 'binding:host_id': 'binding_host_id',
+- 'binding:profile': 'binding_profile',
+- 'binding:vif_details': 'binding_vif_details',
+- 'binding:vif_type': 'binding_vif_type',
+- 'binding:vnic_type': 'binding_vnic_type',
+- 'is_admin_state_up': 'admin_state_up',
+- 'is_port_security_enabled': 'port_security_enabled',
++ column_data_mapping = {
++ 'admin_state_up': 'is_admin_state_up',
++ 'allowed_address_pairs': 'allowed_address_pairs',
++ 'binding_host_id': 'binding_host_id',
++ 'binding_profile': 'binding_profile',
++ 'binding_vif_details': 'binding_vif_details',
++ 'binding_vif_type': 'binding_vif_type',
++ 'binding_vnic_type': 'binding_vnic_type',
++ 'created_at': 'created_at',
++ 'data_plane_status': 'data_plane_status',
++ 'description': 'description',
++ 'device_id': 'device_id',
++ 'device_owner': 'device_owner',
++ 'device_profile': 'device_profile',
++ 'dns_assignment': 'dns_assignment',
++ 'dns_domain': 'dns_domain',
++ 'dns_name': 'dns_name',
++ 'extra_dhcp_opts': 'extra_dhcp_opts',
++ 'fixed_ips': 'fixed_ips',
++ 'hints': 'hints',
++ 'id': 'id',
++ 'ip_allocation': 'ip_allocation',
++ 'mac_address': 'mac_address',
++ 'name': 'name',
++ 'network_id': 'network_id',
++ 'numa_affinity_policy': 'numa_affinity_policy',
++ 'port_security_enabled': 'is_port_security_enabled',
++ 'project_id': 'project_id',
++ 'propagate_uplink_status': 'propagate_uplink_status',
++ 'resource_request': 'resource_request',
++ 'revision_number': 'revision_number',
++ 'qos_network_policy_id': 'qos_network_policy_id',
++ 'qos_policy_id': 'qos_policy_id',
++ 'security_group_ids': 'security_group_ids',
++ 'status': 'status',
++ 'tags': 'tags',
++ 'trunk_details': 'trunk_details',
++ 'updated_at': 'updated_at',
+ }
+- hidden_columns = ['location', 'tenant_id']
+- return utils.get_osc_show_columns_for_sdk_resource(
+- item, column_map, hidden_columns
++ return (
++ tuple(column_data_mapping.keys()),
++ tuple(column_data_mapping.values()),
+ )
+
+
+diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py
+index 59755bb9..c897a1af 100644
+--- a/openstackclient/tests/unit/network/v2/test_port.py
++++ b/openstackclient/tests/unit/network/v2/test_port.py
+@@ -172,7 +172,7 @@ class TestCreatePort(TestPort):
+ )
+ self.assertFalse(self.network_client.set_tags.called)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_full_options(self):
+@@ -245,7 +245,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_invalid_json_binding_profile(self):
+@@ -309,7 +309,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_security_group(self):
+@@ -347,7 +347,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_dns_name(self):
+@@ -380,7 +380,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_security_groups(self):
+@@ -420,7 +420,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_no_security_groups(self):
+@@ -449,7 +449,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_no_fixed_ips(self):
+@@ -478,7 +478,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_allowed_address_pair_ipaddr(self):
+@@ -520,7 +520,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_allowed_address_pair(self):
+@@ -571,7 +571,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_qos(self):
+@@ -608,7 +608,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_security_enabled(self):
+@@ -738,7 +738,7 @@ class TestCreatePort(TestPort):
+ else:
+ self.assertFalse(self.network_client.set_tags.called)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_tags(self):
+@@ -787,7 +787,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_uplink_status_propagation_enabled(self):
+@@ -893,7 +893,7 @@ class TestCreatePort(TestPort):
+ create_args['numa_affinity_policy'] = numa_affinity_policy
+ self.network_client.create_port.assert_called_once_with(**create_args)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_numa_affinity_policy_required(self):
+@@ -940,7 +940,7 @@ class TestCreatePort(TestPort):
+ 'device_profile': 'cyborg_device_profile_1',
+ }
+ self.network_client.create_port.assert_called_once_with(**create_args)
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_hints_invalid_json(self):
+@@ -1032,7 +1032,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_hints_valid_json(self):
+@@ -1067,7 +1067,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+
+@@ -2496,7 +2496,7 @@ class TestShowPort(TestPort):
+ self._port.name, ignore_missing=False
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+
+--
+2.43.0
+
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
index 90321acb3163..a331211dd91a 100644
--- a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
+++ b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
@@ -50,6 +50,11 @@ BDEPEND="
distutils_enable_tests unittest
src_prepare() {
+ local PATCHES=(
+ # backport from master
+ "${FILESDIR}/${P}-test.patch"
+ )
+
# Depends on specific runner
sed -e 's/test_command_has_logger/_&/' -i openstackclient/tests/unit/common/test_command.py || die