summaryrefslogtreecommitdiff
path: root/nova/tests/functional/db/test_instance_mapping.py
diff options
context:
space:
mode:
authorMatt Riedemann <mriedem@us.ibm.com>2017-01-15 15:55:15 -0500
committerMatt Riedemann <mriedem@us.ibm.com>2017-01-16 12:04:30 -0500
commit90cd8acf9112df2ce14d9d059d221bb38e7d6097 (patch)
tree312b0ed14617d9291c6ca2d5c9dcf3083bac6122 /nova/tests/functional/db/test_instance_mapping.py
parent8677aca6542f7cf45ca1b3673dede84d264192aa (diff)
downloadnova-90cd8acf9112df2ce14d9d059d221bb38e7d6097.tar.gz
Add InstanceMappingList.get_by_cell_id
This adds the InstanceMappingList.get_by_cell_id method which will provide a way to list InstanceMappings by a given CellMapping.id. This is going to be used later in a "nova-manage cell_v2 delete_cell" command. Change-Id: I98a22161b28f2de32760c578713be27766e6809e Related-Bug: #1656691
Diffstat (limited to 'nova/tests/functional/db/test_instance_mapping.py')
-rw-r--r--nova/tests/functional/db/test_instance_mapping.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/nova/tests/functional/db/test_instance_mapping.py b/nova/tests/functional/db/test_instance_mapping.py
index 5f1f618b7f..f975d4a0fa 100644
--- a/nova/tests/functional/db/test_instance_mapping.py
+++ b/nova/tests/functional/db/test_instance_mapping.py
@@ -147,3 +147,26 @@ class InstanceMappingListTestCase(test.NoDBTestCase):
mapping = mappings[db_mapping.instance_uuid]
for key in instance_mapping.InstanceMapping.fields.keys():
self.assertEqual(db_mapping[key], mapping[key])
+
+ def test_instance_mapping_list_get_by_cell_id(self):
+ """Tests getting all of the InstanceMappings for a given CellMapping id
+ """
+ # we shouldn't have any instance mappings yet
+ inst_mapping_list = (
+ instance_mapping.InstanceMappingList.get_by_cell_id(
+ self.context, sample_cell_mapping['id'])
+ )
+ self.assertEqual(0, len(inst_mapping_list))
+ # now create an instance mapping in a cell
+ db_inst_mapping1 = create_mapping()
+ # let's also create an instance mapping that's not in a cell to make
+ # sure our filtering is working
+ db_inst_mapping2 = create_mapping(cell_id=None)
+ self.assertIsNone(db_inst_mapping2['cell_id'])
+ # now we should list out one instance mapping for the cell
+ inst_mapping_list = (
+ instance_mapping.InstanceMappingList.get_by_cell_id(
+ self.context, db_inst_mapping1['cell_id'])
+ )
+ self.assertEqual(1, len(inst_mapping_list))
+ self.assertEqual(db_inst_mapping1['id'], inst_mapping_list[0].id)