diff --git a/nova/tests/fixtures.py b/nova/tests/fixtures.py index 35dfe89cd..6df93db4c 100644 --- a/nova/tests/fixtures.py +++ b/nova/tests/fixtures.py @@ -1216,6 +1216,13 @@ class NeutronFixture(fixtures.Fixture): else: return None + def _filter_ports(self, **_params): + ports = copy.deepcopy(self._ports) + for opt in _params: + filtered_ports = [p for p in ports if p.get(opt) == _params[opt]] + ports = filtered_ports + return {'ports': ports} + def list_extensions(self, *args, **kwargs): return copy.deepcopy({'extensions': self._extensions}) @@ -1234,7 +1241,7 @@ class NeutronFixture(fixtures.Fixture): return copy.deepcopy({'networks': self._networks}) def list_ports(self, retrieve_all=True, **_params): - return copy.deepcopy({'ports': self._ports}) + return self._filter_ports(**_params) def list_subnets(self, retrieve_all=True, **_params): return copy.deepcopy({'subnets': self._subnets})