@@ -24,8 +24,8 @@ async def test_framedbuffer(framed_buffer, msg_id):
2424
2525 await framed_buffer .put (f1 .serialize () + header_bytes )
2626
27- payload = b"tina loves butts "
28- payload2 = b"yep yep yep "
27+ payload = b"payload one is very boring "
28+ payload2 = b"payload two is also very boring "
2929 f2 = Frame (Frame .Types .PAYLOAD , 1 , len (payload ) + len (payload2 ), msg_id , 2 )
3030
3131 await framed_buffer .put (f2 .serialize () + payload )
@@ -84,7 +84,7 @@ async def test_command(framed_buffer, msg_id):
8484@pytest .mark .asyncio
8585async def test_overfull (framed_buffer , msg_id ):
8686 header = {"foo" : "bar" }
87- payload = b' this is a test'
87+ payload = b" this is a test"
8888 msg = FramedMessage (header = header , payload = payload )
8989
9090 await framed_buffer .put (msg .serialize ())
@@ -98,7 +98,7 @@ async def test_overfull(framed_buffer, msg_id):
9898@pytest .mark .asyncio
9999async def test_underfull (framed_buffer , msg_id ):
100100 header = {"foo" : "bar" }
101- payload = b' this is a test'
101+ payload = b" this is a test"
102102 msg = FramedMessage (header = header , payload = payload )
103103 b = msg .serialize ()
104104
@@ -109,3 +109,28 @@ async def test_underfull(framed_buffer, msg_id):
109109
110110 assert m .header == header
111111 assert m .payload == payload
112+
113+
114+ @pytest .mark .asyncio
115+ async def test_malformed_frame (framed_buffer , msg_id ):
116+ with pytest .raises (ValueError ):
117+ await framed_buffer .put (
118+ b"this is total garbage and should break things very nicely"
119+ )
120+
121+
122+ @pytest .mark .skip (
123+ reason = """
124+ This test illustrates that sending an incomplete stream corrupts the transport"""
125+ )
126+ @pytest .mark .asyncio
127+ async def test_too_short (framed_buffer , msg_id ):
128+ f1 = Frame (Frame .Types .HEADER , 1 , 100 , 1 , 1 )
129+ too_short_header = b"this is not long enough"
130+ f2 = Frame (Frame .Types .PAYLOAD , 1 , 100 , 1 , 2 )
131+ too_short_payload = b"this is also not long enough"
132+
133+ await framed_buffer .put (f1 .serialize () + too_short_header )
134+ await framed_buffer .put (f2 .serialize () + too_short_payload )
135+
136+ await framed_buffer .get ()
0 commit comments