12
12
__metaclass__ = type
15
from maasserver.models import BootImage
15
from maasserver.models import (
16
19
from maasserver.testing.factory import factory
17
20
from maasserver.testing.testcase import TestCase
18
21
from provisioningserver.testing.boot_images import make_boot_image_params
21
24
class TestBootImageManager(TestCase):
27
super(TestBootImageManager, self).setUp()
28
self.nodegroup = NodeGroup.objects.ensure_master()
23
30
def test_have_image_returns_False_if_image_not_available(self):
25
BootImage.objects.have_image(**make_boot_image_params()))
32
BootImage.objects.have_image(
33
self.nodegroup, **make_boot_image_params()))
27
35
def test_have_image_returns_True_if_image_available(self):
28
36
params = make_boot_image_params()
29
factory.make_boot_image(**params)
30
self.assertTrue(BootImage.objects.have_image(**params))
37
factory.make_boot_image(nodegroup=self.nodegroup, **params)
39
BootImage.objects.have_image(self.nodegroup, **params))
32
41
def test_register_image_registers_new_image(self):
33
42
params = make_boot_image_params()
34
BootImage.objects.register_image(**params)
35
self.assertTrue(BootImage.objects.have_image(**params))
43
BootImage.objects.register_image(self.nodegroup, **params)
45
BootImage.objects.have_image(self.nodegroup, **params))
37
47
def test_register_image_leaves_existing_image_intact(self):
38
48
params = make_boot_image_params()
39
factory.make_boot_image(**params)
40
BootImage.objects.register_image(**params)
41
self.assertTrue(BootImage.objects.have_image(**params))
49
factory.make_boot_image(nodegroup=self.nodegroup, **params)
50
BootImage.objects.register_image(self.nodegroup, **params)
52
BootImage.objects.have_image(self.nodegroup, **params))