Пример #1
0
    def test_resolve(self):
        list_template = expression.ConstantTemplate(
            ['${a}', ['${a}', '${a+int(b)}']])
        self.assertEqual(list_template.resolve({
            'a': 2,
            'b': '3'
        }), ['2', ['2', '5']])

        tuple_template = expression.ConstantTemplate(
            ('${a}', ('${a}', '${a+int(b)}')))
        self.assertEqual(tuple_template.resolve({
            'a': 2,
            'b': '3'
        }), ('2', ('2', '5')))

        dict_template = expression.ConstantTemplate(
            {'aaaa': {
                'a': '${a}',
                'b': '${a+int(b)}'
            }})
        self.assertEqual(dict_template.resolve({
            'a': 2,
            'b': '3'
        }), {'aaaa': {
            'a': '2',
            'b': '5'
        }})
Пример #2
0
    def test_get_reference(self):
        all_in_cons_template = expression.ConstantTemplate(
            ['${a}', ['${a}', '${a+int(b)}']])
        self.assertEqual(set(all_in_cons_template.get_reference()),
                         set(['a', 'b', 'int']))

        comma_exclude_template = expression.ConstantTemplate(
            ['${a["c"]}', ['${"%s" % a}', '${a+int(b)}']])
        self.assertEqual(set(comma_exclude_template.get_reference()),
                         set(['a', 'b', 'int']))
Пример #3
0
    def test_resolve_template(self):
        cons_tmpl = expression.ConstantTemplate('')
        simple = '${a}'
        self.assertEqual(cons_tmpl.resolve_template(simple, {'a': '1'}), '1')

        calculate = '${a+int(b)}'
        self.assertEqual(
            cons_tmpl.resolve_template(calculate, {
                'a': 2,
                'b': '3'
            }), '5')

        split = '${a[0]}'
        self.assertEqual(cons_tmpl.resolve_template(split, {'a': [1, 2]}), '1')

        dict_item = '${a["b"]}'
        self.assertEqual(
            cons_tmpl.resolve_template(dict_item, {'a': {
                'b': 1
            }}), '1')

        not_exists = '{a}'
        self.assertEqual(cons_tmpl.resolve_template(not_exists, {}), '{a}')

        syntax_error = '${a.b}'
        self.assertRaises(exceptions.ConstantSyntaxException,
                          cons_tmpl.resolve_template, syntax_error, {})
Пример #4
0
 def test_resolve_string(self):
     cons_tmpl = expression.ConstantTemplate('')
     one_template = '${a}'
     self.assertEqual(cons_tmpl.resolve_string(one_template, {'a': '1'}),
                      '1')
Пример #5
0
 def test_get_template_reference(self):
     cons_tmpl = expression.ConstantTemplate('')
     self.assertEqual(cons_tmpl.get_template_reference('${a}'), ['a'])
Пример #6
0
 def test_get_string_templates(self):
     cons_tmpl = expression.ConstantTemplate('')
     self.assertEqual(cons_tmpl.get_string_templates('${a}'), ['${a}'])
Пример #7
0
 def test_get_templates(self):
     cons_tmpl = expression.ConstantTemplate(['${a}', ['${a}', '${a+int(b)}']])
     self.assertEqual(cons_tmpl.get_templates(), ['${a}', '${a+int(b)}'])