diff options
Diffstat (limited to 'ironic/tests/unit/db')
-rw-r--r-- | ironic/tests/unit/db/test_ports.py | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/ironic/tests/unit/db/test_ports.py b/ironic/tests/unit/db/test_ports.py index fa12c4c25..e0d2e1d66 100644 --- a/ironic/tests/unit/db/test_ports.py +++ b/ironic/tests/unit/db/test_ports.py @@ -28,7 +28,7 @@ class DbPortTestCase(base.DbTestCase): # This method creates a port for every test and # replaces a test for creating a port. super(DbPortTestCase, self).setUp() - self.node = db_utils.create_test_node() + self.node = db_utils.create_test_node(owner='12345') self.portgroup = db_utils.create_test_portgroup(node_id=self.node.id) self.port = db_utils.create_test_port(node_id=self.node.id, portgroup_id=self.portgroup.id) @@ -45,6 +45,17 @@ class DbPortTestCase(base.DbTestCase): res = self.dbapi.get_port_by_address(self.port.address) self.assertEqual(self.port.id, res.id) + def test_get_port_by_address_filter_by_owner(self): + res = self.dbapi.get_port_by_address(self.port.address, + owner=self.node.owner) + self.assertEqual(self.port.id, res.id) + + def test_get_port_by_address_filter_by_owner_no_match(self): + self.assertRaises(exception.PortNotFound, + self.dbapi.get_port_by_address, + self.port.address, + owner='54321') + def test_get_port_list(self): uuids = [] for i in range(1, 6): @@ -72,10 +83,36 @@ class DbPortTestCase(base.DbTestCase): self.assertRaises(exception.InvalidParameterValue, self.dbapi.get_port_list, sort_key='foo') + def test_get_port_list_filter_by_node_owner(self): + uuids = [] + for i in range(1, 3): + port = db_utils.create_test_port(uuid=uuidutils.generate_uuid(), + address='52:54:00:cf:2d:4%s' % i) + for i in range(4, 6): + port = db_utils.create_test_port(uuid=uuidutils.generate_uuid(), + node_id=self.node.id, + address='52:54:00:cf:2d:4%s' % i) + uuids.append(str(port.uuid)) + # Also add the uuid for the port created in setUp() + uuids.append(str(self.port.uuid)) + res = self.dbapi.get_port_list(owner=self.node.owner) + res_uuids = [r.uuid for r in res] + self.assertCountEqual(uuids, res_uuids) + def test_get_ports_by_node_id(self): res = self.dbapi.get_ports_by_node_id(self.node.id) self.assertEqual(self.port.address, res[0].address) + def test_get_ports_by_node_id_filter_by_node_owner(self): + res = self.dbapi.get_ports_by_node_id(self.node.id, + owner=self.node.owner) + self.assertEqual(self.port.address, res[0].address) + + def test_get_ports_by_node_id_filter_by_node_owner_no_match(self): + res = self.dbapi.get_ports_by_node_id(self.node.id, + owner='54321') + self.assertEqual([], res) + def test_get_ports_by_node_id_that_does_not_exist(self): self.assertEqual([], self.dbapi.get_ports_by_node_id(99)) @@ -83,6 +120,16 @@ class DbPortTestCase(base.DbTestCase): res = self.dbapi.get_ports_by_portgroup_id(self.portgroup.id) self.assertEqual(self.port.address, res[0].address) + def test_get_ports_by_portgroup_id_filter_by_node_owner(self): + res = self.dbapi.get_ports_by_portgroup_id(self.portgroup.id, + owner=self.node.owner) + self.assertEqual(self.port.address, res[0].address) + + def test_get_ports_by_portgroup_id_filter_by_node_owner_no_match(self): + res = self.dbapi.get_ports_by_portgroup_id(self.portgroup.id, + owner='54321') + self.assertEqual([], res) + def test_get_ports_by_portgroup_id_that_does_not_exist(self): self.assertEqual([], self.dbapi.get_ports_by_portgroup_id(99)) |