1
# This file is part of Online Services virtual machine tools.
1
# This file is part of Build Your Own Virtual machine.
3
# Copyright 2018 Vincent Ladeuil.
3
4
# Copyright 2016, 2017 Canonical Ltd.
5
6
# This program is free software: you can redistribute it and/or modify it under
31
from olsvms import config
32
from olsvms.tests import (
32
from byov import config
33
from byov.tests import (
33
34
features as vms_features,
34
35
fixtures as vms_fixtures,
38
39
if sys.version_info < (3,):
39
40
# novaclient doesn't support python3 (yet)
40
from olsvms.vms import nova
41
from byov.vms import nova
41
42
except ImportError:
48
49
@features.requires(vms_features.nova_creds)
49
class TestOlsImageName(unittest.TestCase):
50
class TestByovImageName(unittest.TestCase):
51
52
def test_valid_britney_image(self):
53
'ols/britney/precise-amd64.img',
54
nova.ols_image_name('britney', 'precise', 'amd64'))
54
'byov/britney/precise-amd64.img',
55
nova.byov_image_name('britney', 'precise', 'amd64'))
56
57
def test_valid_cloud_image(self):
58
'ols/cloudimg/precise-amd64.img',
59
nova.ols_image_name('cloudimg', 'precise', 'amd64'))
59
'byov/cloudimg/precise-amd64.img',
60
nova.byov_image_name('cloudimg', 'precise', 'amd64'))
61
62
def test_invalid_image(self):
62
63
with self.assertRaises(ValueError) as cm:
63
nova.ols_image_name('I-dont-exist', 'precise', 'amd64')
64
nova.byov_image_name('I-dont-exist', 'precise', 'amd64')
64
65
self.assertEqual('Invalid image domain', str(cm.exception))
86
87
vms_fixtures.override_logging(self, self.log_stream)
88
89
def get_image_id(self, series, arch):
89
return nova.ols_image_name('cloudimg', series, arch)
90
return nova.byov_image_name('cloudimg', series, arch)
91
92
def test_retry_is_called(self):
92
93
self.retry_calls = []
183
184
vms_fixtures.override_logging(self, self.log_stream)
185
186
def get_image_id(self, series='precise', arch='amd64'):
186
return nova.ols_image_name('cloudimg', series, arch)
187
return nova.byov_image_name('cloudimg', series, arch)
188
189
def test_create_no_image(self):
189
190
tb = nova.NovaServer(self.conf)
274
275
vms_fixtures.override_logging(self, self.log_stream)
276
277
def get_image_id(self):
277
return nova.ols_image_name('cloudimg', self.series, self.arch)
278
return nova.byov_image_name('cloudimg', self.series, self.arch)
279
280
def test_create_usable_testbed(self):
280
281
self.conf.set('nova.image', self.get_image_id())