summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser-0.3.0/toscaparser/tests/test_scalarunit.py
diff options
context:
space:
mode:
Diffstat (limited to 'tosca2heat/tosca-parser-0.3.0/toscaparser/tests/test_scalarunit.py')
-rw-r--r--tosca2heat/tosca-parser-0.3.0/toscaparser/tests/test_scalarunit.py355
1 files changed, 0 insertions, 355 deletions
diff --git a/tosca2heat/tosca-parser-0.3.0/toscaparser/tests/test_scalarunit.py b/tosca2heat/tosca-parser-0.3.0/toscaparser/tests/test_scalarunit.py
deleted file mode 100644
index 24864a1..0000000
--- a/tosca2heat/tosca-parser-0.3.0/toscaparser/tests/test_scalarunit.py
+++ /dev/null
@@ -1,355 +0,0 @@
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from toscaparser.common import exception
-from toscaparser.elements.scalarunit import ScalarUnit_Frequency
-from toscaparser.elements.scalarunit import ScalarUnit_Size
-from toscaparser.elements.scalarunit import ScalarUnit_Time
-from toscaparser.nodetemplate import NodeTemplate
-from toscaparser.tests.base import TestCase
-from toscaparser.utils.gettextutils import _
-from toscaparser.utils import yamlparser
-
-
-class ScalarUnitPositiveTest(TestCase):
-
- scenarios = [
- (
- # tpl_snippet with mem_size given as number+space+MB
- 'mem_size_is_number_Space_MB',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- mem_size: 1024 MB
- ''',
- property='mem_size',
- expected='1024 MB')
- ),
- (
- # tpl_snippet with mem_size given as number+spaces+GB
- 'mem_size_is_number_Space_GB',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- mem_size: 1 GB
- ''',
- property='mem_size',
- expected='1 GB')
- ),
- (
- # tpl_snippet with mem_size given as number+tiB
- 'mem_size_is_number_NoSpace_GB',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- mem_size: 1tiB
- ''',
- property='mem_size',
- expected='1 TiB')
- ),
- (
- # tpl_snippet with mem_size given as number+Spaces+GIB
- 'mem_size_is_number_Spaces_GB',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- mem_size: 1 GIB
- ''',
- property='mem_size',
- expected='1 GiB')
- ),
- (
- # tpl_snippet with mem_size given as number+Space+tib
- 'mem_size_is_number_Spaces_GB',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- mem_size: 1 tib
- ''',
- property='mem_size',
- expected='1 TiB')
- ),
- (
- 'cpu_frequency_is_float_Space_GHz',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- cpu_frequency: 2.5 GHz
- ''',
- property='cpu_frequency',
- expected='2.5 GHz')
- ),
- (
- 'cpu_frequency_is_float_Space_MHz',
- dict(tpl_snippet='''
- server:
- type: tosca.nodes.Compute
- capabilities:
- host:
- properties:
- cpu_frequency: 800 MHz
- ''',
- property='cpu_frequency',
- expected='800 MHz')
- ),
- ]
-
- def test_scenario_scalar_unit_positive(self):
- tpl = self.tpl_snippet
- nodetemplates = yamlparser.simple_parse(tpl)
- nodetemplate = NodeTemplate('server', nodetemplates)
- props = nodetemplate.get_capability('host').get_properties()
- prop_name = self.property
- if props and prop_name in props.keys():
- prop = props[prop_name]
- self.assertIsNone(prop.validate())
- resolved = prop.value
- self.assertEqual(resolved, self.expected)
-
-
-class GetNumFromScalarUnitSizePositive(TestCase):
-
- scenarios = [
- ( # Note that (1 TB) / (1 GB) = 1000
- 'Input is TB, user input is GB',
- dict(InputMemSize='1 TB',
- UserInputUnit='gB',
- expected=1000)
- ),
- ( # Note that (1 Tib)/ (1 GB) = 1099
- 'Input is TiB, user input is GB',
- dict(InputMemSize='1 TiB',
- UserInputUnit='gB',
- expected=1099.511627776)
- ),
- ]
-
- def test_scenario_get_num_from_scalar_unit_size(self):
- resolved = (ScalarUnit_Size(self.InputMemSize).
- get_num_from_scalar_unit(self.UserInputUnit))
- self.assertEqual(resolved, self.expected)
-
-
-class GetNumFromScalarUnitFrequencyPositive(TestCase):
-
- scenarios = [
- ( # Note that (1 GHz) / (1 Hz) = 1000000000
- 'Input is GHz, user input is Hz',
- dict(InputMemSize='1 GHz',
- UserInputUnit='Hz',
- expected=1000000000)
- ),
- (
- 'Input is GHz, user input is Hz',
- dict(InputMemSize='2.4 GHz',
- UserInputUnit='Hz',
- expected=2400000000)
- ),
- ( # Note that (1 GHz)/ (1 MHz) = 1000
- 'Input is MHz, user input is GHz',
- dict(InputMemSize='800 MHz',
- UserInputUnit='GHz',
- expected=0.8)
- ),
- (
- 'Input is GHz, user input is Hz',
- dict(InputMemSize='0.9 GHz',
- UserInputUnit='MHz',
- expected=900)
- ),
- (
- 'Input is GHz, user input is Hz',
- dict(InputMemSize='2.7GHz',
- UserInputUnit='MHz',
- expected=2700)
- ),
- ]
-
- def test_scenario_get_num_from_scalar_unit_frequency(self):
- resolved = (ScalarUnit_Frequency(self.InputMemSize).
- get_num_from_scalar_unit(self.UserInputUnit))
- self.assertEqual(resolved, self.expected)
-
-
-class GetNumFromScalarUnitTimePositive(TestCase):
-
- scenarios = [
- ( # Note that (1 s) / (1 ms) = 1000
- 'Input is 500ms, user input is s',
- dict(InputMemSize='500 ms',
- UserInputUnit='s',
- expected=0.5)
- ),
- ( # Note that (1 h)/ (1 s) = 3600
- 'Input is h, user input is s',
- dict(InputMemSize='1 h',
- UserInputUnit='s',
- expected=3600)
- ),
- ( # Note that (1 m)/ (1 s) = 60
- 'Input is m, user input is s',
- dict(InputMemSize='0.5 m',
- UserInputUnit='s',
- expected=30)
- ),
- ( # Note that (1 d)/ (1 h) = 24
- 'Input is d, user input is h',
- dict(InputMemSize='1 d',
- UserInputUnit='h',
- expected=24)
- ),
- ]
-
- def test_scenario_get_num_from_scalar_unit_time(self):
- resolved = (ScalarUnit_Time(self.InputMemSize).
- get_num_from_scalar_unit(self.UserInputUnit))
- self.assertEqual(resolved, self.expected)
-
-
-class GetNumFromScalarUnitSizeNegative(TestCase):
-
- InputMemSize = '1 GB'
- UserInputUnit = 'qB'
-
- def test_get_num_from_scalar_unit_size_negative(self):
- try:
- (ScalarUnit_Size(self.InputMemSize).
- get_num_from_scalar_unit(self.UserInputUnit))
- except Exception as error:
- self.assertTrue(isinstance(error, ValueError))
- self.assertEqual(_('The unit "qB" is not valid. Valid units are '
- '"[\'B\', \'GB\', \'GiB\', \'KiB\', \'MB\', '
- '\'MiB\', \'TB\', \'TiB\', \'kB\']".'),
- error.__str__())
-
-
-class GetNumFromScalarUnitFrequencyNegative(TestCase):
-
- InputFrequency = '2.7 GHz'
- UserInputUnit = 'Jz'
-
- def test_get_num_from_scalar_unit_frequency_negative(self):
- try:
- (ScalarUnit_Frequency(self.InputFrequency).
- get_num_from_scalar_unit(self.UserInputUnit))
- except Exception as error:
- self.assertTrue(isinstance(error, ValueError))
- self.assertEqual(_('The unit "Jz" is not valid. Valid units are '
- '"[\'GHz\', \'Hz\', \'MHz\', \'kHz\']".'),
- error.__str__())
-
-
-class GetNumFromScalarUnitTimeNegative(TestCase):
-
- InputTime = '5 ms'
- UserInputUnit = 'D'
-
- def test_get_num_from_scalar_unit_frequency_negative(self):
- try:
- (ScalarUnit_Time(self.InputTime).
- get_num_from_scalar_unit(self.UserInputUnit))
- except Exception as error:
- self.assertTrue(isinstance(error, ValueError))
- self.assertEqual(_('"Jz" is not a valid scalar-unit.'),
- error.__str__())
-
-
-class ScalarUnitNegativeTest(TestCase):
-
- custom_def_snippet = '''
- tosca.my.nodes.Compute:
- derived_from: tosca.nodes.Root
- properties:
- cpu_frequency:
- required: no
- type: scalar-unit.frequency
- constraints:
- - greater_or_equal: 0.1 GHz
- disk_size:
- required: no
- type: scalar-unit.size
- constraints:
- - greater_or_equal: 1 GB
- mem_size:
- required: no
- type: scalar-unit.size
- constraints:
- - in_range: [1 MiB, 1 GiB]
- '''
- custom_def = yamlparser.simple_parse(custom_def_snippet)
-
- # disk_size doesn't provide a value, mem_size uses an invalid unit.
- def test_invalid_scalar_unit(self):
- tpl_snippet = '''
- server:
- type: tosca.my.nodes.Compute
- properties:
- cpu_frequency: 50.3.6 GHZ
- disk_size: MB
- mem_size: 1 QB
- '''
- nodetemplates = yamlparser.simple_parse(tpl_snippet)
- nodetemplate = NodeTemplate('server', nodetemplates, self.custom_def)
- for p in nodetemplate.get_properties_objects():
- self.assertRaises(ValueError, p.validate)
-
- # disk_size is less than 1 GB, mem_size is not in the required range.
- # Note: in the spec, the minimum value of mem_size is 1 MiB (> 1 MB)
- def test_constraint_for_scalar_unit(self):
- tpl_snippet = '''
- server:
- type: tosca.my.nodes.Compute
- properties:
- cpu_frequency: 0.05 GHz
- disk_size: 500 MB
- mem_size: 1 MB
- '''
- nodetemplates = yamlparser.simple_parse(tpl_snippet)
- nodetemplate = NodeTemplate('server', nodetemplates, self.custom_def)
- props = nodetemplate.get_properties()
- if 'cpu_frequency' in props.keys():
- error = self.assertRaises(exception.ValidationError,
- props['cpu_frequency'].validate)
- self.assertEqual(_('The value "0.05 GHz" of property '
- '"cpu_frequency" must be greater than or equal '
- 'to "0.1 GHz".'), error.__str__())
- if 'disk_size' in props.keys():
- error = self.assertRaises(exception.ValidationError,
- props['disk_size'].validate)
- self.assertEqual(_('The value "500 MB" of property "disk_size" '
- 'must be greater than or equal to "1 GB".'),
- error.__str__())
-
- if 'mem_size' in props.keys():
- error = self.assertRaises(exception.ValidationError,
- props['mem_size'].validate)
- self.assertEqual(_('The value "1 MB" of property "mem_size" is '
- 'out of range "(min:1 MiB, max:1 GiB)".'),
- error.__str__())