Example #1
0
    def test_simple_http(self):
        root = ultramini.Resource()
        root.template = 'hello'
        site = ultramini.SiteMap(root)
        headers, result = sendreq(site, GET_TEMPLATE % ('/', ))

        assert result == 'hello', (site, result, headers)
Example #2
0
    def test_post_request(self):
        class Simple(ultramini.Resource):
            def post(self, req, form):
                return '/'

        headers, result = sendreq(ultramini.SiteMap(Simple()),
                                  POST_TEMPLATE % ('/', 0, ''))

        assert headers.startswith('HTTP/1.1 303')
Example #3
0
    def test_query_parameter(self):
        class Simple(ultramini.Resource):
            @ultramini.annotate(foo=str)
            def get_default(self, foo):
                assert foo == 'bar'

        root = Simple()
        headers, result = sendreq(ultramini.SiteMap(root),
                                  GET_TEMPLATE % ('/?foo=bar', ))

        assert headers.startswith("HTTP/1.1 200")
Example #4
0
    def test_header(self):
        class Simple(ultramini.Resource):
            @ultramini.arguments(ultramini.HEADER.host)
            def host(self, foo):
                assert foo == 'localhost'
                return "ok"

            template = host

        headers, result = sendreq(ultramini.SiteMap(Simple()),
                                  GET_TEMPLATE % ('/', ))

        assert result == 'ok'
Example #5
0
    def test_outgoing_header(self):
        class Simple(ultramini.Resource):
            @ultramini.annotate(req=ultramini.REQUEST)
            def get_default(self, req):
                req.set_header('Some-header', 'Some-value')
                assert req.has_key('Some-header')
                assert req.get_outgoing_header('Some-header') == ['Some-value']
                return "ok"

        headers, result = sendreq(ultramini.SiteMap(Simple()),
                                  GET_TEMPLATE % ('/', ))

        self.assertEqual(result, 'ok')
        assert 'Some-header: Some-value'.lower() in headers.lower()
Example #6
0
    def test_cached_resource(self):
        class Simple(ultramini.Resource):
            template = 0

            def willHandle(self, request):
                self.template = self.template + 1
                return self

        sitemap = ultramini.SiteMap(Simple())

        headers, result = sendreq(sitemap, GET_TEMPLATE % ('/', ))
        assert result == '1', ('Fail', result)

        headers, result = sendreq(sitemap, GET_TEMPLATE % ('/', ))
        assert result == '2', ('Fail', result)
Example #7
0
    def test_continuation_header(self):
        class Simple(ultramini.Resource):
            @ultramini.arguments(ultramini.HEADER.continuation)
            def continuation(self, foo):
                assert foo == "foo bar baz\n foo bar baz"
                return "ok"

            template = continuation

        headers, result = sendreq(
            ultramini.SiteMap(Simple()), """GET / HTTP/1.1\r
Host: localhost\r
Continuation: foo bar baz\r
 foo bar baz\r
Another-Header: 1234-asdf\r
\r
	""")
        self.assertEqual(result, 'ok')
Example #8
0
 def test_simple_not_found(self):
     root = ultramini.Resource()
     site = ultramini.SiteMap(root)
     headers, result = sendreq(
         site, GET_TEMPLATE % ('/asdfkjasdfhakshdfkhaqe/asdfhas/a.dhf', ))
     assert headers.startswith("HTTP/1.1 404"), ('Fail', headers, result)
Example #9
0
 def handle_resource(self, req, root):
     ultramini.SiteMap(root).match(req)
     req.resource.handle(req)
     return req.result()
Example #10
0
 def find_resource(self, path, root):
     req = loc(path=path)
     ultramini.SiteMap(root).match(req)
     return req.resource