blob: 9043df68c8f9b4f3d5a0b8569804777448e64805 [file] [log] [blame]
import asyncio
import unittest
import juju.loop
class TestLoop(unittest.TestCase):
def setUp(self):
# new event loop for each test
policy = asyncio.get_event_loop_policy()
self.loop = policy.new_event_loop()
policy.set_event_loop(self.loop)
def tearDown(self):
self.loop.close()
def test_run(self):
assert asyncio.get_event_loop() == self.loop
async def _test():
return 'success'
self.assertEqual(juju.loop.run(_test()), 'success')
def test_run_interrupt(self):
async def _test():
juju.loop.run._sigint = True
self.assertRaises(KeyboardInterrupt, juju.loop.run, _test())
def test_run_exception(self):
async def _test():
raise ValueError()
self.assertRaises(ValueError, juju.loop.run, _test())