def test_dev_os_remap(self): populate_dir(self.tmp, CFG_DRIVE_FILES_V2) cfg_ds = ds.DataSourceConfigDrive(settings.CFG_BUILTIN, None, helpers.Paths({})) found = ds.read_config_drive_dir(self.tmp) cfg_ds.metadata = found['metadata'] name_tests = { 'ami': '/dev/vda1', 'root': '/dev/vda1', 'ephemeral0': '/dev/vda2', 'swap': '/dev/vda3', } for name, dev_name in name_tests.items(): with unit_helpers.mocker() as my_mock: find_mock = my_mock.replace(util.find_devs_with, spec=False, passthrough=False) provided_name = dev_name[len('/dev/'):] provided_name = "s" + provided_name[1:] find_mock(mocker.ARGS) my_mock.result([provided_name]) exists_mock = my_mock.replace(os.path.exists, spec=False, passthrough=False) exists_mock(mocker.ARGS) my_mock.result(False) exists_mock(mocker.ARGS) my_mock.result(True) my_mock.replay() device = cfg_ds.device_name_to_device(name) self.assertEquals(dev_name, device)
def test_dev_ec2_remap(self): populate_dir(self.tmp, CFG_DRIVE_FILES_V2) cfg_ds = ds.DataSourceConfigDrive(settings.CFG_BUILTIN, None, helpers.Paths({})) found = ds.read_config_drive_dir(self.tmp) ec2_md = found['ec2-metadata'] os_md = found['metadata'] cfg_ds.ec2_metadata = ec2_md cfg_ds.metadata = os_md name_tests = { 'ami': '/dev/vda1', 'root': '/dev/vda1', 'ephemeral0': '/dev/vda2', 'swap': '/dev/vda3', None: None, 'bob': None, 'root2k': None, } for name, dev_name in name_tests.items(): with unit_helpers.mocker(verify_calls=False) as my_mock: exists_mock = my_mock.replace(os.path.exists, spec=False, passthrough=False) exists_mock(mocker.ARGS) my_mock.result(False) exists_mock(mocker.ARGS) my_mock.result(True) my_mock.replay() device = cfg_ds.device_name_to_device(name) self.assertEquals(dev_name, device)