from falcon import API
from falcon.cmd import print_routes
from falcon.testing import redirected
from falcon.util import compat

try:
    import cython
except ImportError:
    cython = None


class DummyResource(object):

    def on_get(self, req, resp):
        resp.body = 'Test\n'
        resp.status = '200 OK'


_api = API()
_api.add_route('/test', DummyResource())


def test_traverse():
    """Ensure traverse() finds the proper routes."""
    output = compat.StringIO()
    with redirected(stdout=output):
        print_routes.traverse(_api._router._roots, verbose=False)

    route = output.getvalue().strip()
    assert '-> /test' == route
