コード例 #1
0
ファイル: test_language_http.py プロジェクト: camerony/pathod
 def test_parse_err(self):
     tutils.raises(language.ParseException, language.parse_pathod, "400:msg,b:")
     try:
         language.parse_pathod("400'msg':b:")
     except language.ParseException as v:
         assert v.marked()
         assert str(v)
コード例 #2
0
def test_shortcuts():
    assert language.parse_pathod(
        "400:c'foo'").next().headers[0].key.val == "Content-Type"
    assert language.parse_pathod(
        "400:l'foo'").next().headers[0].key.val == "Location"

    assert "Android" in tutils.render(parse_request("get:/:ua"))
    assert "User-Agent" in tutils.render(parse_request("get:/:ua"))
コード例 #3
0
    def test_parse_pathod(self):
        a = language.parse_pathod("400:ir,@100").next().actions[0]
        assert a.offset == "r"
        assert a.value.datatype == "bytes"
        assert a.value.usize == 100

        a = language.parse_pathod("400:ia,@100").next().actions[0]
        assert a.offset == "a"
コード例 #4
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
def test_shortcuts():
    assert language.parse_pathod(
        "400:c'foo'").next().headers[0].key.val == "Content-Type"
    assert language.parse_pathod(
        "400:l'foo'").next().headers[0].key.val == "Location"

    assert "Android" in tutils.render(parse_request("get:/:ua"))
    assert "User-Agent" in tutils.render(parse_request("get:/:ua"))
コード例 #5
0
    def test_parse_pathod(self):
        a = language.parse_pathod("400:ir,@100").next().actions[0]
        assert a.offset == "r"
        assert a.value.datatype == "bytes"
        assert a.value.usize == 100

        a = language.parse_pathod("400:ia,@100").next().actions[0]
        assert a.offset == "a"
コード例 #6
0
 def test_parse_err(self):
     tutils.raises(language.ParseException, language.parse_pathod,
                   "400:msg,b:")
     try:
         language.parse_pathod("400'msg':b:")
     except language.ParseException as v:
         assert v.marked()
         assert str(v)
コード例 #7
0
    def test_render(self):
        s = cStringIO.StringIO()
        r = language.parse_pathod("400:m'msg'").next()
        assert language.serve(r, s, {})

        r = language.parse_pathod("400:p0,100:dr").next()
        assert "p0" in r.spec()
        s = r.preview_safe()
        assert "p0" not in s.spec()
コード例 #8
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
    def test_render(self):
        s = cStringIO.StringIO()
        r = language.parse_pathod("400:m'msg'").next()
        assert language.serve(r, s, {})

        r = language.parse_pathod("400:p0,100:dr").next()
        assert "p0" in r.spec()
        s = r.preview_safe()
        assert "p0" not in s.spec()
コード例 #9
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_length(self):
     def testlen(x):
         s = cStringIO.StringIO()
         x = x.next()
         language.serve(x, s, language.Settings())
         assert x.length(language.Settings()) == len(s.getvalue())
     testlen(language.parse_pathod("400:m'msg':r"))
     testlen(language.parse_pathod("400:m'msg':h'foo'='bar':r"))
     testlen(language.parse_pathod("400:m'msg':h'foo'='bar':b@100b:r"))
コード例 #10
0
    def test_length(self):
        def testlen(x):
            s = cStringIO.StringIO()
            x = x.next()
            language.serve(x, s, language.Settings())
            assert x.length(language.Settings()) == len(s.getvalue())

        testlen(language.parse_pathod("400:m'msg':r"))
        testlen(language.parse_pathod("400:m'msg':h'foo'='bar':r"))
        testlen(language.parse_pathod("400:m'msg':h'foo'='bar':b@100b:r"))
コード例 #11
0
    def test_raw(self):
        s = cStringIO.StringIO()
        r = language.parse_pathod("400:b'foo'").next()
        language.serve(r, s, {})
        v = s.getvalue()
        assert "Content-Length" in v

        s = cStringIO.StringIO()
        r = language.parse_pathod("400:b'foo':r").next()
        language.serve(r, s, {})
        v = s.getvalue()
        assert "Content-Length" not in v
コード例 #12
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
    def test_raw(self):
        s = cStringIO.StringIO()
        r = language.parse_pathod("400:b'foo'").next()
        language.serve(r, s, {})
        v = s.getvalue()
        assert "Content-Length" in v

        s = cStringIO.StringIO()
        r = language.parse_pathod("400:b'foo':r").next()
        language.serve(r, s, {})
        v = s.getvalue()
        assert "Content-Length" not in v
コード例 #13
0
def test_write_values_after():
    s = cStringIO.StringIO()
    r = language.parse_pathod("400:da").next()
    language.serve(r, s, {})

    s = cStringIO.StringIO()
    r = language.parse_pathod("400:pa,0").next()
    language.serve(r, s, {})

    s = cStringIO.StringIO()
    r = language.parse_pathod("400:ia,'xx'").next()
    language.serve(r, s, {})
    assert s.getvalue().endswith('xx')
コード例 #14
0
def test_write_values_after():
    s = cStringIO.StringIO()
    r = language.parse_pathod("400:da").next()
    language.serve(r, s, {})

    s = cStringIO.StringIO()
    r = language.parse_pathod("400:pa,0").next()
    language.serve(r, s, {})

    s = cStringIO.StringIO()
    r = language.parse_pathod("400:ia,'xx'").next()
    language.serve(r, s, {})
    assert s.getvalue().endswith('xx')
コード例 #15
0
    def test_response(self):
        r = language.parse_pathod("400:m'msg'").next()
        assert r.status_code.string() == "400"
        assert r.reason.string() == "msg"

        r = language.parse_pathod("400:m'msg':b@100b").next()
        assert r.reason.string() == "msg"
        assert r.body.values({})
        assert str(r)

        r = language.parse_pathod("200").next()
        assert r.status_code.string() == "200"
        assert not r.reason
        assert "OK" in [i[:] for i in r.preamble({})]
コード例 #16
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
    def test_response(self):
        r = language.parse_pathod("400:m'msg'").next()
        assert r.status_code.string() == "400"
        assert r.reason.string() == "msg"

        r = language.parse_pathod("400:m'msg':b@100b").next()
        assert r.reason.string() == "msg"
        assert r.body.values({})
        assert str(r)

        r = language.parse_pathod("200").next()
        assert r.status_code.string() == "200"
        assert not r.reason
        assert "OK" in [i[:] for i in r.preamble({})]
コード例 #17
0
 def test_parse_stress(self):
     # While larger values are known to work on linux, len() technically
     # returns an int and a python 2.7 int on windows has 32bit precision.
     # Therefore, we should keep the body length < 2147483647 bytes in our
     # tests.
     r = language.parse_pathod("400:b@1g").next()
     assert r.length({})
コード例 #18
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_parse_stress(self):
     # While larger values are known to work on linux, len() technically
     # returns an int and a python 2.7 int on windows has 32bit precision.
     # Therefore, we should keep the body length < 2147483647 bytes in our
     # tests.
     r = language.parse_pathod("400:b@1g").next()
     assert r.length({})
コード例 #19
0
    def test_maximum_length(self):
        def testlen(x):
            x = x.next()
            s = cStringIO.StringIO()
            m = x.maximum_length({})
            language.serve(x, s, {})
            assert m >= len(s.getvalue())

        r = language.parse_pathod("400:m'msg':b@100:d0")
        testlen(r)

        r = language.parse_pathod("400:m'msg':b@100:d0:i0,'foo'")
        testlen(r)

        r = language.parse_pathod("400:m'msg':b@100:d0:i0,'foo'")
        testlen(r)
コード例 #20
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
    def test_maximum_length(self):
        def testlen(x):
            x = x.next()
            s = cStringIO.StringIO()
            m = x.maximum_length({})
            language.serve(x, s, {})
            assert m >= len(s.getvalue())

        r = language.parse_pathod("400:m'msg':b@100:d0")
        testlen(r)

        r = language.parse_pathod("400:m'msg':b@100:d0:i0,'foo'")
        testlen(r)

        r = language.parse_pathod("400:m'msg':b@100:d0:i0,'foo'")
        testlen(r)
コード例 #21
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_parse_header(self):
     r = language.parse_pathod('400:h"foo"="bar"').next()
     assert http.get_header("foo", r.headers)
コード例 #22
0
 def test_request(self):
     r = language.parse_pathod('400:p10,10').next()
     assert r.actions[0].spec() == "p10,10"
コード例 #23
0
ファイル: test_language_http2.py プロジェクト: Kriechi/pathod
def parse_response(s):
    return language.parse_pathod(s, True).next()
コード例 #24
0
 def dummy_response(self):
     return language.parse_pathod("400'msg'").next()
コード例 #25
0
 def test_websockets(self):
     r = language.parse_pathod("ws").next()
     tutils.raises("no websocket key", r.resolve, language.Settings())
     res = r.resolve(language.Settings(websocket_key="foo"))
     assert res.status_code.string() == "101"
コード例 #26
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_parse_pause_random(self):
     r = language.parse_pathod("400:pr,10").next()
     assert r.actions[0].spec() == "pr,10"
コード例 #27
0
 def test_serve(self):
     s = cStringIO.StringIO()
     r = language.parse_pathod("400:i0,'foo'").next()
     assert language.serve(r, s, {})
コード例 #28
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def rt(s):
     s = language.parse_pathod(s).next().spec()
     assert language.parse_pathod(s).next().spec() == s
コード例 #29
0
 def test_parse_pause_random(self):
     r = language.parse_pathod("400:pr,10").next()
     assert r.actions[0].spec() == "pr,10"
コード例 #30
0
 def test_parse_pathod(self):
     a = language.parse_pathod("400:d0").next().actions[0]
     assert a.spec() == "d0"
     a = language.parse_pathod("400:dr").next().actions[0]
     assert a.spec() == "dr"
コード例 #31
0
def parse_response(s):
    return language.parse_pathod(s, True).next()
コード例 #32
0
 def test_parse_pathod(self):
     a = language.parse_pathod("400:d0").next().actions[0]
     assert a.spec() == "d0"
     a = language.parse_pathod("400:dr").next().actions[0]
     assert a.spec() == "dr"
コード例 #33
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_parse_pause_before(self):
     r = language.parse_pathod("400:p0,10").next()
     assert r.actions[0].spec() == "p0,10"
コード例 #34
0
 def test_parse_pause_before(self):
     r = language.parse_pathod("400:p0,10").next()
     assert r.actions[0].spec() == "p0,10"
コード例 #35
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_parse_pause_after(self):
     r = language.parse_pathod("400:pa,10").next()
     assert r.actions[0].spec() == "pa,10"
コード例 #36
0
 def test_parse_pause_after(self):
     r = language.parse_pathod("400:pa,10").next()
     assert r.actions[0].spec() == "pa,10"
コード例 #37
0
 def test_serve(self):
     s = cStringIO.StringIO()
     r = language.parse_pathod("400:i0,'foo'").next()
     assert language.serve(r, s, {})
コード例 #38
0
 def rt(s):
     s = language.parse_pathod(s).next().spec()
     assert language.parse_pathod(s).next().spec() == s
コード例 #39
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def test_websockets(self):
     r = language.parse_pathod("ws").next()
     tutils.raises("no websocket key", r.resolve, language.Settings())
     res = r.resolve(language.Settings(websocket_key="foo"))
     assert res.status_code.string() == "101"
コード例 #40
0
 def test_request(self):
     r = language.parse_pathod('400:p10,10').next()
     assert r.actions[0].spec() == "p10,10"
コード例 #41
0
ファイル: test_language_http.py プロジェクト: Kriechi/pathod
 def dummy_response(self):
     return language.parse_pathod("400'msg'").next()
コード例 #42
0
 def test_parse_header(self):
     r = language.parse_pathod('400:h"foo"="bar"').next()
     assert http.get_header("foo", r.headers)