def test__set_compute_flavors(self, mock_nova): mock_novaclient = mock.MagicMock() mock_novaclient.flavors.list.return_value = [ fakes.FakeFlavor(id="id1"), fakes.FakeFlavor(id="id2") ] mock_nova.Client.return_value = mock_novaclient self.conf_generator._set_compute_flavors() expected = ("id1", "id2") results = (self.conf_generator.conf.get("compute", "flavor_ref"), self.conf_generator.conf.get("compute", "flavor_ref_alt")) self.assertEqual(sorted(expected), sorted(results))
def test_image_valid_on_flavor_fail(self, mock_osclients): fakegclient = fakes.FakeGlanceClient() image = fakes.FakeImage() image.min_ram = 1 image.size = 1 image.min_disk = 1 fakegclient.images.get = mock.MagicMock(return_value=image) mock_osclients.glance.return_value = fakegclient fakenclient = fakes.FakeNovaClient() flavor = fakes.FakeFlavor() flavor.ram = 0 flavor.disk = 0 fakenclient.flavors.get = mock.MagicMock(return_value=flavor) mock_osclients.nova.return_value = fakenclient validator = validation.image_valid_on_flavor("flavor", "image") result = validator(clients=mock_osclients, flavor={"id": flavor.id}, image={"id": image.id}) fakenclient.flavors.get.assert_called_once_with(flavor=flavor.id) fakegclient.images.get.assert_called_once_with(image=image.id) self.assertFalse(result.is_valid) self.assertIsNotNone(result.msg)
def test_image_valid_on_missing_flavor_disk(self, mock_osclients): fakegclient = fakes.FakeGlanceClient() image = fakes.FakeImage() image.min_ram = 0 image.size = 0 image.min_disk = 100 fakegclient.images.get = mock.MagicMock(return_value=image) mock_osclients.glance.return_value = fakegclient fakenclient = fakes.FakeNovaClient() flavor = fakes.FakeFlavor() flavor.ram = 1 fakenclient.flavors.get = mock.MagicMock(return_value=flavor) mock_osclients.nova.return_value = fakenclient validator = validation.image_valid_on_flavor("flavor", "image") config = { "args": { "image": { "id": image.id }, "flavor": { "id": flavor.id } } } result = validator(config, clients=mock_osclients, task=None) fakenclient.flavors.get.assert_called_once_with(flavor=flavor.id) fakegclient.images.get.assert_called_once_with(image=image.id) self.assertTrue(result.is_valid)
def test_image_valid_on_flavor_image_not_exist(self, mock_osclients): fakegclient = fakes.FakeGlanceClient() fakegclient.images.get = mock.MagicMock() fakegclient.images.get.side_effect = glance_exc.HTTPNotFound mock_osclients.glance.return_value = fakegclient fakenclient = fakes.FakeNovaClient() flavor = fakes.FakeFlavor() fakenclient.flavors.get = mock.MagicMock(return_value=flavor) mock_osclients.nova.return_value = fakenclient validator = validation.image_valid_on_flavor("flavor", "image") test_img_id = "test_image_id" config = { "args": { "flavor": { "id": flavor.id }, "image": { "id": test_img_id } } } result = validator(config, clients=mock_osclients, task=None) fakenclient.flavors.get.assert_called_once_with(flavor=flavor.id) fakegclient.images.get.assert_called_once_with(image=test_img_id) self.assertFalse(result.is_valid) self.assertEqual(result.msg, "Image with id 'test_image_id' not found")
def test_image_invalid_on_size(self, mock_osclients): fakegclient = fakes.FakeGlanceClient() image = fakes.FakeImage() image.min_ram = 0 image.size = 0 image.min_disk = 100 fakegclient.images.get = mock.MagicMock(return_value=image) mock_osclients.glance.return_value = fakegclient fakenclient = fakes.FakeNovaClient() flavor = fakes.FakeFlavor() flavor.ram = 1 flavor.disk = 99 fakenclient.flavors.get = mock.MagicMock(return_value=flavor) mock_osclients.nova.return_value = fakenclient validator = validation.image_valid_on_flavor("flavor", "image") config = { "args": { "image": { "id": image.id }, "flavor": { "id": flavor.id } } } result = validator(config, clients=mock_osclients, task=None) fakenclient.flavors.get.assert_called_once_with(flavor=flavor.id) fakegclient.images.get.assert_called_once_with(image=image.id) self.assertFalse(result.is_valid) self.assertEqual( result.msg, _("The disk size for flavor 'flavor-id-0'" " is too small for requested image 'image-id-0'"))