Ejemplo n.º 1
0
 def test_iterate_input_variables(self):
     variable1 = spec.Variable(name='testvariable1', value='a')
     variable2 = spec.Variable(name='testvariable2', value='b')
     variable3 = spec.Variable(name='testvariable3', generator='debug')
     variables = spec.Variables(variable1, variable2, variable3)
     input_variables = list(variables.iterate_input_variables())
     self.assertEqual(input_variables, [variable1, variable2])
Ejemplo n.º 2
0
 def test_values_as_dict(self):
     variable1 = spec.Variable(name='testvariable1', value='a')
     variable2 = spec.Variable(name='testvariable2', value='b')
     variables = spec.Variables(variable1, variable2)
     self.assertEqual(variables.values_as_dict(), {
         'testvariable1': 'a',
         'testvariable2': 'b'
     })
Ejemplo n.º 3
0
 def test_add_variables(self):
     variable1 = spec.Variable(name='testvariable1')
     variable2 = spec.Variable(name='testvariable2')
     variables = spec.Variables()
     variables.add_variables(variable1, variable2)
     self.assertEqual(len(variables._variables), 2)
     self.assertEqual(variables._variables['testvariable1'], variable1)
     self.assertEqual(variables._variables['testvariable2'], variable2)
Ejemplo n.º 4
0
 def test_set_variable_values(self):
     variables = spec.Variables()
     variables._variables['testvariable1'] = spec.Variable(
         name='testvariable')
     variables._variables['testvariable2'] = spec.Variable(
         name='testvariable')
     self.assertEqual(variables._variables['testvariable1'].value, None)
     self.assertEqual(variables._variables['testvariable2'].value, None)
     variables.set_variable_values(testvariable1='a', testvariable2='b')
     self.assertEqual(variables._variables['testvariable1'].value, 'a')
     self.assertEqual(variables._variables['testvariable2'].value, 'b')
Ejemplo n.º 5
0
    def test_get_content_from_template(self):
        snippet = spec.Snippet(base_directory=self.enviroment_directory,
                               template='a = {{{ a }}}',
                               variables=spec.Variables(
                                   spec.Variable(name='a', value=10)))

        self.assertEqual(snippet.render(), 'a = 10')
Ejemplo n.º 6
0
 def test_validate_value_valid(self):
     variables = spec.Variables()
     variable = spec.Variable(variables=variables,
                              name='testname',
                              validators=spec.ValueValidators(
                                  {'one_letter': {}}))
     variable.validate_value(value='x')
Ejemplo n.º 7
0
 def test_get_value_has_default(self):
     variable = spec.Variable(variables=mock.MagicMock(),
                              name='testname',
                              default=spec.Default(
                                  variables=mock.MagicMock(),
                                  value='defaultvalue'))
     self.assertEqual(variable.get_value(), 'defaultvalue')
Ejemplo n.º 8
0
 def test_deserialize_empty_data(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.deserialize(data={})
     self.assertEqual(variable.name, 'testname')
     self.assertEqual(variable.default, None)
     self.assertEqual(len(variable.validators), 0)
     self.assertEqual(variable.help_text, None)
     self.assertEqual(variable.generator, None)
     self.assertEqual(variable.arguments, None)
Ejemplo n.º 9
0
 def test_validate_value_invalid(self):
     variables = spec.Variables()
     variable = spec.Variable(variables=variables,
                              name='testname',
                              validators=spec.ValueValidators(
                                  {'one_letter': {}}))
     with self.assertRaisesRegex(exceptions.ValueValidationError,
                                 'Must be exactly one letter'):
         variable.validate_value(value='xx')
Ejemplo n.º 10
0
 def test_validate_spec_arguments_without_generator(self):
     variables = spec.Variables()
     variable = spec.Variable(variables=variables,
                              name='testname',
                              arguments={'a': 10})
     with self.assertRaisesRegex(
             exceptions.SpecValidationError,
             'Can not use "arguments" without a "generator".'):
         variable.validate_spec(path='test')
Ejemplo n.º 11
0
 def test_validate_spec_invalid_generator(self):
     variables = spec.Variables()
     variable = spec.Variable(variables=variables,
                              name='testname',
                              generator='invalidgenerator')
     with self.assertRaisesRegex(
             exceptions.SpecValidationError,
             "Invalid generator: 'invalidgenerator'. Must be one of:"):
         variable.validate_spec(path='test')
Ejemplo n.º 12
0
 def test_validate_spec_both_generator_and_default(self):
     variables = spec.Variables()
     variable = spec.Variable(
         variables=variables,
         name='testname',
         generator='debug',
         default=spec.Default(variables=mock.MagicMock()))
     with self.assertRaisesRegex(
             exceptions.SpecValidationError,
             'Can not provide both "default" and "generator".'):
         variable.validate_spec(path='test')
Ejemplo n.º 13
0
 def test_is_required_has_default_false(self):
     variable = spec.Variable(
         variables=mock.MagicMock(),
         name='testname',
         default=spec.Default(variables=mock.MagicMock()))
     self.assertFalse(variable.is_required())
Ejemplo n.º 14
0
 def test_deserialize_arguments(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.deserialize(data={'arguments': {'length': 10}})
     self.assertEqual(variable.arguments, {'length': 10})
Ejemplo n.º 15
0
 def test_has_variable_true(self):
     variables = spec.Variables()
     variables._variables['testvariable'] = spec.Variable(
         name='testvariable', value='test')
     self.assertTrue(variables.has_variable('testvariable'))
Ejemplo n.º 16
0
 def test_get_value_has_generator_with_arguments(self):
     variable = spec.Variable(variables=mock.MagicMock(),
                              name='testname',
                              generator='debug',
                              arguments={'suffix': 'xx'})
     self.assertEqual(variable.get_value(), 'DEBUGxx')
Ejemplo n.º 17
0
 def test_get_value_has_value(self):
     variable = spec.Variable(variables=mock.MagicMock(),
                              name='testname',
                              value='testvalue')
     self.assertEqual(variable.get_value(), 'testvalue')
Ejemplo n.º 18
0
 def test_takes_input_no_generator_true(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     self.assertTrue(variable.takes_input())
Ejemplo n.º 19
0
 def test_get_value_variable(self):
     variables = spec.Variables(
         spec.Variable(name='testvariable', value='variablevalue'))
     default = spec.Default(variables=variables, variable='testvariable')
     self.assertEqual(default.get_value(), 'variablevalue')
Ejemplo n.º 20
0
 def test_is_required_no_default_true(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     self.assertTrue(variable.is_required())
Ejemplo n.º 21
0
 def test_takes_input_has_generator_false(self):
     variable = spec.Variable(variables=mock.MagicMock(),
                              name='testname',
                              generator='random_alphanumeric_string')
     self.assertFalse(variable.takes_input())
Ejemplo n.º 22
0
 def test_validate_value_no_validators(self):
     variables = spec.Variables()
     variable = spec.Variable(variables=variables, name='testname')
     variable.validate_value(value='x')
Ejemplo n.º 23
0
 def test_set_value(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.set_value('testvalue')
     self.assertEqual(variable.value, 'testvalue')
Ejemplo n.º 24
0
 def test_deserialize_default(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.deserialize(data={'default': {'value': 'the default'}})
     self.assertEqual(variable.default.value, 'the default')
Ejemplo n.º 25
0
 def test_get_variable_value(self):
     variables = spec.Variables()
     variables._variables['testvariable'] = spec.Variable(
         name='testvariable', value='test')
     self.assertEqual(variables.get_variable_value('testvariable'), 'test')
Ejemplo n.º 26
0
 def test_deserialize_help_text(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.deserialize(data={'help_text': 'some help'})
     self.assertEqual(variable.help_text, 'some help')
Ejemplo n.º 27
0
 def test_get_value_has_generator(self):
     variable = spec.Variable(variables=mock.MagicMock(),
                              name='testname',
                              generator='debug')
     self.assertEqual(variable.get_value(), 'DEBUG')
Ejemplo n.º 28
0
 def test_deserialize_generator(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.deserialize(data={'generator': 'random_alphanumeric_string'})
     self.assertEqual(variable.generator, 'random_alphanumeric_string')
Ejemplo n.º 29
0
 def test_deserialize_validators(self):
     variable = spec.Variable(variables=mock.MagicMock(), name='testname')
     variable.deserialize(data={'validators': {'email': {}}})
     self.assertEqual(len(variable.validators), 1)
Ejemplo n.º 30
0
 def test_add_variable(self):
     variable = spec.Variable(name='testvariable')
     variables = spec.Variables()
     variables.add_variable(variable)
     self.assertEqual(variables._variables['testvariable'], variable)