61 lines
1.7 KiB
Python
61 lines
1.7 KiB
Python
from orm.services.image_manager.ims.persistency.wsme import models
|
|
from orm.tests.unit.ims import FunctionalTest
|
|
|
|
import mock
|
|
|
|
GROUP_REGIONS = [
|
|
"DPK",
|
|
"SNA1",
|
|
"SNA2"
|
|
]
|
|
|
|
|
|
class TestModels(FunctionalTest):
|
|
|
|
def setUp(self):
|
|
FunctionalTest.setUp(self)
|
|
models.get_regions_of_group = mock.MagicMock(
|
|
return_value=GROUP_REGIONS)
|
|
models.set_utils_conf = mock.MagicMock()
|
|
|
|
def test_handle_group_success(self):
|
|
image = get_image_model()
|
|
image.handle_region_group()
|
|
|
|
self.assertEqual(len(image.regions), 3)
|
|
|
|
def test_handle_group_not_found(self):
|
|
models.get_regions_of_group = mock.MagicMock(return_value=None)
|
|
image = get_image_model()
|
|
|
|
self.assertRaises(models.ErrorStatus, image.handle_region_group,)
|
|
|
|
|
|
class TestWsmeModels(FunctionalTest):
|
|
def test_create_image_visibility(self):
|
|
image_wrapper = models.ImageWrapper()
|
|
image_wrapper.image = models.Image()
|
|
|
|
image_wrapper.image.name = 'name'
|
|
image_wrapper.image.url = 'http://aic.att.com'
|
|
image_wrapper.image.visibility = 'shared'
|
|
image_wrapper.image.disk_format = 'raw'
|
|
image_wrapper.image.container_format = 'bare'
|
|
image_wrapper.image.min_ram = 1024
|
|
image_wrapper.image.customers = ['a1', 'a2']
|
|
|
|
sql_image = image_wrapper.validate_model()
|
|
|
|
self.assertEqual(len(image_wrapper.image.customers), 2)
|
|
|
|
|
|
def get_image_model():
|
|
"""this function create a customer model object for testing
|
|
:return: new customer object
|
|
"""
|
|
|
|
image = models.Image(id='a',
|
|
regions=[models.Region(name='r1', type='group')])
|
|
|
|
return image
|