def test_get_image_url_with_none_url_images_and_image_pattern(self): base_image = vmimage.ImageProviderBase(version="[0-9]+", build=None, arch=None) with self.assertRaises(vmimage.ImageProviderError) as exc: base_image.get_image_url() self.assertIn("attributes are required to get image url", exc.exception.args[0])
def test_get_version_from_bad_url_open(self, urlopen_mock): urlopen_mock.side_effect = HTTPError(None, None, None, None, None) base_image = vmimage.ImageProviderBase(version="[0-9]+", build=None, arch=None) with self.assertRaises(vmimage.ImageProviderError) as exc: base_image.get_version() self.assertIn("Cannot open", exc.exception.args[0])
def test_get_version_with_float_versions(self, urlopen_mock): html_fixture = self.get_html_with_versions([10.1, 10.3, 10.2]) urlread_mocked = unittest.mock.Mock(return_value=html_fixture) urlopen_mock.return_value = unittest.mock.Mock(read=urlread_mocked) base_image = vmimage.ImageProviderBase( version=r"[0-9]+\.[0-9]+", build=None, arch=None ) self.assertEqual(base_image.get_version(), 10.3)
def test_get_version_with_string_versions(self, urlopen_mock): html_fixture = self.get_html_with_versions(['abc', 'abcd', 'abcde']) urlread_mocked = unittest.mock.Mock(return_value=html_fixture) urlopen_mock.return_value = unittest.mock.Mock(read=urlread_mocked) base_image = vmimage.ImageProviderBase(version=r'[\w]+', build=None, arch=None) self.assertEqual(base_image.get_version(), 'abcde')
def test_get_version(self, urlopen_mock): html_fixture = self.get_html_with_versions([10, 11, 12]) urlread_mocked = mock.Mock(return_value=html_fixture) urlopen_mock.return_value = mock.Mock(read=urlread_mocked) base_image = vmimage.ImageProviderBase(version='[0-9]+', build=None, arch=None) self.assertEqual(base_image.get_version(), 12)
def test_get_version_versions_not_found(self, urlopen_mock): html_fixture = self.get_html_with_versions([]) urlread_mocked = unittest.mock.Mock(return_value=html_fixture) urlopen_mock.return_value = unittest.mock.Mock(read=urlread_mocked) base_image = vmimage.ImageProviderBase(version="[0-9]+", build=None, arch=None) with self.assertRaises(vmimage.ImageProviderError) as exc: base_image.get_version() self.assertIn("Version not available at", exc.exception.args[0])