# Copyright 2013 IBM Corp. import unittest import mox from nova.openstack.common import gettextutils gettextutils.install('nova') from nova.compute import flavors from powervc.nova.driver.compute.manager import PowerVCCloudManager from test.fake_os_flavor import FakeOSFlavor from test.fake_os_image import FakeOSImage from test.fake_os_instance import FakeOSInstance from test.fake_pvc_flavor import FakePVCFlavor from test.fake_pvc_image import FakePVCImage from test.fake_pvc_instance import FakePVCInstance from test.fake_ctx import FakeCTX from powervc.common.utils import Utils from powervc.common.utils import StagingCache class TestSyncInstance(unittest.TestCase): def setUp(self): """ The method "setUp" is used to initialize the fake environment """ # Create an instance of Mox self.moxer = mox.Mox() # Create a fake OpenStack flavor object self.osflavor = FakeOSFlavor() # Create a fake OpenStack image object self.osimage = FakeOSImage() # Create a fake OpenStack instance object self.osinstance = FakeOSInstance() # Create a fake PowerVC flavor object self.pvcflavor = FakePVCFlavor() # Create a fake PowerVC image object self.pvcimage = FakePVCImage() # Create a fake PowerVC instance object self.pvcinstance = FakePVCInstance() self.ctx = FakeCTX() def init(self, compute_driver=None, *args, **kwargs): self.project_id = "ibm-default" self.scg_id = "storage connection group" self._staging_cache = StagingCache() def init_utils(self): pass def fake_get_id(self): return "" def fake_get_user_id(self): return "" PowerVCCloudManager.__init__ = init Utils.__init__ = init_utils Utils.get_local_staging_project_id = fake_get_id Utils.get_local_staging_user_id = fake_get_user_id self.PowerVCCloudManager = PowerVCCloudManager() def tearDown(self): pass def test_translate_pvc_instance(self): pvc_instance = self.pvcinstance.pvc_instance ctx = self.ctx self.moxer.StubOutWithMock(self.PowerVCCloudManager._staging_cache, "get_staging_user_and_project") self.PowerVCCloudManager._staging_cache.\ get_staging_user_and_project(True)\ .AndReturn(('', '')) self.moxer.StubOutWithMock(self.PowerVCCloudManager, "_get_image_from_instance") self.PowerVCCloudManager._get_image_from_instance(ctx, pvc_instance, None)\ .AndReturn(self.osimage.os_image) self.moxer.StubOutWithMock(self.PowerVCCloudManager, "_get_flavor_from_instance") self.PowerVCCloudManager._get_flavor_from_instance(ctx, pvc_instance, None)\ .AndReturn(self.osflavor.os_flavor) self.moxer.StubOutWithMock(flavors, "save_flavor_info") flavors.save_flavor_info(dict(), self.osflavor.os_flavor)\ .AndReturn("system_metadata") self.moxer.ReplayAll() ins, image, flavor = self.PowerVCCloudManager.\ _translate_pvc_instance(ctx, pvc_instance) self.moxer.UnsetStubs() self.moxer.VerifyAll() print "====ins=======================================================" print ins print "===self.osinstance.os_instance================================" print self.osinstance.os_instance print "==============================================================" self.assertEqual(ins, self.osinstance.os_instance)