Files
microdot/tests/test_utemplate.py

48 lines
1.4 KiB
Python

import asyncio
import unittest
from microdot import Microdot
from microdot.test_client import TestClient
from microdot.utemplate import Template
Template.initialize('tests/templates')
class TestUTemplate(unittest.TestCase):
@classmethod
def setUpClass(cls):
if hasattr(asyncio, 'set_event_loop'):
asyncio.set_event_loop(asyncio.new_event_loop())
cls.loop = asyncio.get_event_loop()
def _run(self, coro):
return self.loop.run_until_complete(coro)
def test_render_template(self):
s = Template('hello.utemplate.txt').render(name='foo')
self.assertEqual(s, 'Hello, foo!\n')
def test_render_template_in_app(self):
app = Microdot()
@app.route('/')
async def index(req):
return Template('hello.utemplate.txt').render(name='foo')
client = TestClient(app)
res = self._run(client.get('/'))
self.assertEqual(res.status_code, 200)
self.assertEqual(res.body, b'Hello, foo!\n')
def test_render_async_template_in_app(self):
app = Microdot()
@app.route('/')
async def index(req):
return await Template('hello.utemplate.txt').render_async(
name='foo')
client = TestClient(app)
res = self._run(client.get('/'))
self.assertEqual(res.status_code, 200)
self.assertEqual(res.body, b'Hello, foo!\n')