From 1a209e6f83aa2d5e797d83dd9d22bc64fbaaeffc Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Sat, 5 Nov 2011 15:51:43 -0700 Subject: Refactor metadata code out of ec2/cloud.py part 2 of blueprint separate-nova-metadata Change-Id: Id41e48434ff3a38e524a1c64757a21bd461c06b8 --- nova/tests/api/ec2/test_cloud.py | 29 ------------------------- nova/tests/test_metadata.py | 47 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 46 insertions(+), 30 deletions(-) (limited to 'nova/tests') diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py index 45f15706c..e7cb4289b 100644 --- a/nova/tests/api/ec2/test_cloud.py +++ b/nova/tests/api/ec2/test_cloud.py @@ -24,7 +24,6 @@ import os from eventlet import greenthread from M2Crypto import BIO from M2Crypto import RSA -import mox from nova.api.ec2 import cloud from nova.api.ec2 import ec2utils @@ -37,7 +36,6 @@ from nova import flags from nova.image import fake from nova import log as logging from nova import manager -from nova import network from nova import rpc from nova import test from nova import utils @@ -1750,33 +1748,6 @@ class CloudTestCase(test.TestCase): 'device_name': '/dev/sd3'}, ] - def test_get_instance_mapping(self): - """Make sure that _get_instance_mapping works""" - ctxt = None - instance_ref0 = {'id': 0, - 'root_device_name': None} - instance_ref1 = {'id': 0, - 'root_device_name': '/dev/sda1'} - - self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', - self._fake_bdm_get) - - expected = {'ami': 'sda1', - 'root': '/dev/sda1', - 'ephemeral0': '/dev/sdb', - 'swap': '/dev/sdc', - 'ephemeral1': '/dev/sdd', - 'ephemeral2': '/dev/sd3', - 'ebs0': '/dev/sdh', - 'ebs1': '/dev/sdi'} - - self.assertEqual(self.cloud._format_instance_mapping(ctxt, - instance_ref0), - cloud._DEFAULT_MAPPINGS) - self.assertEqual(self.cloud._format_instance_mapping(ctxt, - instance_ref1), - expected) - def test_describe_instance_attribute(self): """Make sure that describe_instance_attribute works""" self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', diff --git a/nova/tests/test_metadata.py b/nova/tests/test_metadata.py index 283b6a7cb..b3884c06e 100644 --- a/nova/tests/test_metadata.py +++ b/nova/tests/test_metadata.py @@ -23,6 +23,7 @@ import webob from nova.api.metadata import handler from nova.db.sqlalchemy import api +from nova import db from nova import exception from nova import flags from nova import network @@ -88,7 +89,7 @@ class MetadataTestCase(test.TestCase): self.stubs.Set(api, 'instance_get_floating_address', floating_get) self.app = handler.MetadataRequestHandler() network_manager = fake_network.FakeNetworkManager() - self.stubs.Set(self.app.cc.network_api, + self.stubs.Set(self.app.compute_api.network_api, 'get_instance_uuids_by_ip_filter', network_manager.get_instance_uuids_by_ip_filter) @@ -145,3 +146,47 @@ class MetadataTestCase(test.TestCase): def test_local_hostname_fqdn(self): self.assertEqual(self.request('/meta-data/local-hostname'), "%s.%s" % (self.instance['hostname'], FLAGS.dhcp_domain)) + + def test_get_instance_mapping(self): + """Make sure that _get_instance_mapping works""" + ctxt = None + instance_ref0 = {'id': 0, + 'root_device_name': None} + instance_ref1 = {'id': 0, + 'root_device_name': '/dev/sda1'} + + def fake_bdm_get(ctxt, id): + return [{'volume_id': 87654321, + 'snapshot_id': None, + 'no_device': None, + 'virtual_name': None, + 'delete_on_termination': True, + 'device_name': '/dev/sdh'}, + {'volume_id': None, + 'snapshot_id': None, + 'no_device': None, + 'virtual_name': 'swap', + 'delete_on_termination': None, + 'device_name': '/dev/sdc'}, + {'volume_id': None, + 'snapshot_id': None, + 'no_device': None, + 'virtual_name': 'ephemeral0', + 'delete_on_termination': None, + 'device_name': '/dev/sdb'}] + + self.stubs.Set(db, 'block_device_mapping_get_all_by_instance', + fake_bdm_get) + + expected = {'ami': 'sda1', + 'root': '/dev/sda1', + 'ephemeral0': '/dev/sdb', + 'swap': '/dev/sdc', + 'ebs0': '/dev/sdh'} + + self.assertEqual(self.app._format_instance_mapping(ctxt, + instance_ref0), + handler._DEFAULT_MAPPINGS) + self.assertEqual(self.app._format_instance_mapping(ctxt, + instance_ref1), + expected) -- cgit