]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Do not assume order of security group rules
authorCedric Brandily <zzelle@gmail.com>
Wed, 27 May 2015 18:30:28 +0000 (20:30 +0200)
committerCedric Brandily <zzelle@gmail.com>
Thu, 28 May 2015 16:31:50 +0000 (16:31 +0000)
This fixes the unit tests[1] that breaks with a randomized
PYTHONHASHSEED (see the bug report).

The test assumed that the security_group_rules_for_devices method from
neutron.agent.securitygroups_rpc returned security group rules in a
particular order. Found with PYTHONHASHSEED=2.

The fix refactors the test case to handle unsorted security group rules.

[1] neutron.tests.unit.plugins.ml2.test_security_group.\
    TestMl2SGServerRpcCallBack.\
    test_security_group_rules_for_devices_ipv4_ingress_addr_pair

Partial-bug: #1348818

Note: There are several other unrelated unit tests that also break with
a randomized PYTHONHASHSEED, but they are not addressed here. They will
be addressed in separate patches.

Change-Id: I1b2bd4100c19004f12822c414aefc86aae9849db

neutron/tests/unit/agent/test_securitygroups_rpc.py

index 5fd97ba144802a7e4179d6cf48e7852cb2147c8a..7b6c8ee40f314acc526ab5ee89ed3d3dc218693b 100644 (file)
@@ -36,6 +36,7 @@ from neutron.extensions import securitygroup as ext_sg
 from neutron import manager
 from neutron.plugins.openvswitch.agent import ovs_neutron_agent
 from neutron.tests import base
+from neutron.tests import tools
 from neutron.tests.unit.extensions import test_securitygroup as test_sg
 
 FAKE_PREFIX = {const.IPv4: '10.0.0.0/24',
@@ -321,6 +322,7 @@ class SGServerRpcCallBackTestCase(test_sg.SecurityGroupDBTestCase):
                          'port_range_min': 23,
                          'source_ip_prefix': fake_prefix},
                         ]
+            expected = tools.UnorderedList(expected)
             self.assertEqual(expected,
                              port_rpc['security_group_rules'])
             self.assertEqual(port['port']['allowed_address_pairs'],