Example #1
0
def test_value():
    context = make_context('GET')
    path = '/users/name/$value'
    urlpath.parse(path, context)
    assert unicode(context['sqlobj']) == unicode(
        select().select_from(users).column(users.c.name))
    assert 'Content-Type' in context['response_headers']
    assert context['response_headers']['Content-Type'] == 'text/plain'
Example #2
0
 def parse(self, path, http_verb,
           headers=None, query_args=None, payload=None):
     context = create_context(self.tables, http_verb, headers, payload)
     urlpath.parse(path, context)
     if query_args:
         urlquery.parse(context, query_args)
     if headers:
         urlheaders.parse(context)
     context['sqlobj'] = validate_and_cleanup(context['sqlobj'], payload)
     try:
         context['payload'] = self.query(context['sqlobj'])
     except NoContent as e:
         e.code = context['response_status']
         raise e
     return self.render(context)
Example #3
0
def test_raiserpe(verb, path):
    context = make_context(verb)
    with pytest.raises(RequestParseError):
        urlpath.parse(path, context)
Example #4
0
def test_raise404(verb, path):
    context = make_context(verb)
    with pytest.raises(NotFoundException):
        urlpath.parse(path, context)
Example #5
0
def test_expected(verb, path, query):
    context = make_context(verb)
    urlpath.parse(path, context)
    assert unicode(context['sqlobj']) == query