Ejemplo n.º 1
0
    def test_render_template_with_variables(self):
        def key_globber(e):
            if e == "dynamic-key-*":
                return ["dynamic-key-1"]
            else:
                return []

        template = """
        {% set clients = 16 %}
        {% import "rally.helpers" as rally with context %}
        {
            "key1": "static value",
            {{ rally.collect(parts="dynamic-key-*") }}

        }
        """
        rendered = loader.render_template(loader=jinja2.DictLoader({
            "unittest":
            template,
            "dynamic-key-1":
            '"dkey1": {{ clients }}',
        }),
                                          template_name="unittest",
                                          glob_helper=key_globber,
                                          clock=StaticClock)

        expected = """
        {
            "key1": "static value",
            "dkey1": 16
        }
        """
        self.assertEqualIgnoreWhitespace(expected, rendered)
Ejemplo n.º 2
0
    def test_render_template(self):
        template = """
        {
            "key": {{'01-01-2000' | days_ago(now)}},
            "key2": "static value"
        }
        """

        rendered = loader.render_template(loader=jinja2.DictLoader({"unittest": template}), template_name="unittest", clock=StaticClock)

        expected = """
        {
            "key": 5864,
            "key2": "static value"
        }
        """
        self.assertEqual(expected, rendered)
Ejemplo n.º 3
0
    def test_render_template_with_globbing(self):
        def key_globber(e):
            if e == "dynamic-key-*":
                return [
                    "dynamic-key-1",
                    "dynamic-key-2",
                    "dynamic-key-3",
                ]
            else:
                return []

        template = """
        {% import "rally.helpers" as rally %}
        {
            "key1": "static value",
            {{ rally.collect(parts="dynamic-key-*") }}

        }
        """

        rendered = loader.render_template(loader=jinja2.DictLoader({
            "unittest":
            template,
            "dynamic-key-1":
            '"dkey1": "value1"',
            "dynamic-key-2":
            '"dkey2": "value2"',
            "dynamic-key-3":
            '"dkey3": "value3"',
        }),
                                          template_name="unittest",
                                          glob_helper=key_globber,
                                          clock=StaticClock)

        expected = """
        {
            "key1": "static value",
            "dkey1": "value1",
            "dkey2": "value2",
            "dkey3": "value3"

        }
        """
        self.assertEqualIgnoreWhitespace(expected, rendered)