54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
import sys
|
|
|
|
import testtools
|
|
|
|
try:
|
|
from StringIO import StringIO
|
|
except ImportError:
|
|
from io import StringIO
|
|
|
|
from falcon import API
|
|
from falcon.cmd import print_routes
|
|
|
|
|
|
_api = API()
|
|
_api.add_route('/test', None)
|
|
|
|
STDOUT = sys.stdout
|
|
|
|
|
|
class TestPrintRoutes(testtools.TestCase):
|
|
|
|
def setUp(self):
|
|
"""Capture stdout"""
|
|
super(TestPrintRoutes, self).setUp()
|
|
self.output = StringIO()
|
|
sys.stdout = self.output
|
|
|
|
def tearDown(self):
|
|
"""Reset stdout"""
|
|
super(TestPrintRoutes, self).tearDown()
|
|
self.output.close()
|
|
del self.output
|
|
sys.stdout = STDOUT
|
|
|
|
def test_traverse_with_verbose(self):
|
|
"""Ensure traverse finds the proper routes and adds verbose output."""
|
|
print_routes.traverse(
|
|
_api._router._roots,
|
|
verbose=True)
|
|
|
|
route, options = self.output.getvalue().strip().split('\n')
|
|
self.assertEquals('-> /test', route)
|
|
self.assertTrue('OPTIONS' in options)
|
|
self.assertTrue('falcon/falcon/responders.py:' in options)
|
|
|
|
def test_traverse(self):
|
|
"""Ensure traverse finds the proper routes."""
|
|
print_routes.traverse(
|
|
_api._router._roots,
|
|
verbose=False)
|
|
|
|
route = self.output.getvalue().strip()
|
|
self.assertEquals('-> /test', route)
|