ranger/orm/tests/unit/fms/test_wsme_models.py

82 lines
3.6 KiB
Python
Executable File

from orm.services.flavor_manager.fms_rest.data.sql_alchemy import db_models
from orm.services.flavor_manager.fms_rest.data.wsme import models
from orm.tests.unit.fms import FunctionalTest
class TestWsmeModels(FunctionalTest):
def test_flavor_wrapper_from_db_model(self):
sql_flavor = db_models.Flavor()
sql_flavor.description = 'desc'
sql_flavor.disk = 1
sql_flavor.ephemeral = 1
sql_flavor.flavor_extra_specs = [db_models.FlavorExtraSpec('key1', 'val1'),
db_models.FlavorExtraSpec('key2', 'val2')]
sql_flavor.flavor_tag = [db_models.FlavorExtraSpec('key1', 'val1'),
db_models.FlavorExtraSpec('key2', 'val2')]
sql_flavor.flavor_options = [db_models.FlavorExtraSpec('key1', 'val1'),
db_models.FlavorExtraSpec('key2', 'val2')]
sql_flavor.flavor_regions = [db_models.FlavorRegion('region1'),
db_models.FlavorRegion('region2')]
sql_flavor.flavor_tenants = [db_models.FlavorTenant('tenant1'),
db_models.FlavorTenant('tenant2')]
sql_flavor.id = 'id'
sql_flavor.internal_id = 1
sql_flavor.ram = 1
sql_flavor.visibility = 'visibility'
sql_flavor.vcpus = 1
sql_flavor.series = "p1"
sql_flavor.swap = 1
sql_flavor.disk = 1
sql_flavor.name = 'name'
wsme_flavors = models.FlavorWrapper.from_db_model(sql_flavor)
self.assertEqual(len(wsme_flavors.flavor.regions), 2)
self.assertEqual(len(wsme_flavors.flavor.tenants), 2)
self.assertEqual(wsme_flavors.flavor.extra_specs['key1'], 'val1')
self.assertEqual(wsme_flavors.flavor.extra_specs['key2'], 'val2')
def test_flavor_wrapper_to_db_model(self):
flavor_wrapper = models.FlavorWrapper()
flavor_wrapper.flavor = models.Flavor()
flavor_wrapper.flavor.description = 'desc'
flavor_wrapper.flavor.disk = '1'
flavor_wrapper.flavor.ephemeral = '1'
flavor_wrapper.flavor.extra_specs = {'key1': 'val1', 'key2': 'val2'}
flavor_wrapper.flavor.tag = {'key1': 'val1', 'key2': 'val2'}
flavor_wrapper.flavor.options = {'key1': 'val1', 'key2': 'val2'}
flavor_wrapper.flavor.regions = [models.Region('region1'),
models.Region('region2')]
flavor_wrapper.flavor.tenants = ['tenant1', 'tenant2']
flavor_wrapper.flavor.id = 'id'
flavor_wrapper.flavor.ram = '1'
flavor_wrapper.flavor.visibility = 'visibility'
flavor_wrapper.flavor.vcpus = '1'
flavor_wrapper.flavor.swap = '1'
flavor_wrapper.flavor.disk = '1'
flavor_wrapper.flavor.name = 'name'
flavor_wrapper.flavor.series = 'p1'
sql_flavor = flavor_wrapper.to_db_model()
self.assertEqual(len(sql_flavor.flavor_regions), 2)
self.assertEqual(len(sql_flavor.flavor_tenants), 2)
spec = next(s for s in sql_flavor.flavor_extra_specs if s.key_name == 'key1')
self.assertEqual(spec.key_value, 'val1')
def test_flavor_summary_from_db_model(self):
sql_flavor = db_models.Flavor()
sql_flavor.id = 'some id'
sql_flavor.name = 'some name'
sql_flavor.description = 'some_decription'
flavor_summary = models.FlavorSummary.from_db_model(sql_flavor)
self.assertEqual(flavor_summary.id, sql_flavor.id)
self.assertEqual(flavor_summary.name, sql_flavor.name)
self.assertEqual(flavor_summary.description, sql_flavor.description)