rubick/ostack_validator/test_config_schema_registry.py

49 lines
1.6 KiB
Python

from ostack_validator.schema import ConfigSchemaRegistry, Version
from ostack_validator.common import find
import unittest
class ConfigSchemaRegistryTests(unittest.TestCase):
def test_sample(self):
nova = ConfigSchemaRegistry.register_schema(project='nova')
nova.version('1.0.0')
nova.section('DEFAULT')
nova.param(name='verbose', type='boolean')
nova.param(name='rabbit_host', type='address')
nova.version('1.1.0')
nova.section('DEFAULT')
nova.param(name='verbose', type='boolean', default=False)
nova.remove_param('rabbit_host')
nova.commit()
schema10 = ConfigSchemaRegistry.get_schema(project='nova', version='1.0.0')
self.assertEqual(Version('1.0.0'), schema10.version)
self.assertEqual('ini', schema10.format)
verbose_param = find(schema10.parameters, lambda p: p.name == 'verbose')
self.assertIsNotNone(verbose_param)
self.assertEqual('boolean', verbose_param.type)
self.assertEqual(None, verbose_param.default)
rabbit_host_param = find(schema10.parameters, lambda p: p.name == 'rabbit_host')
self.assertIsNotNone(rabbit_host_param)
self.assertEqual('address', rabbit_host_param.type)
schema11 = ConfigSchemaRegistry.get_schema(project='nova', version='1.1.0')
verbose_param11 = find(schema11.parameters, lambda p: p.name == 'verbose')
self.assertIsNotNone(verbose_param11)
self.assertEqual(False, verbose_param11.default)
rabbit_host_param11 = find(schema11.parameters, lambda p: p.name == 'rabbit_host')
self.assertIsNone(rabbit_host_param11)
if __name__ == '__main__':
unittest.main()