Serializing frame yields data. Parsing data yields frame.
(self, frame, data, mask, extensions=None)
| 26 | return self.assertGeneratorReturns(parser) |
| 27 | |
| 28 | def assertFrameData(self, frame, data, mask, extensions=None): |
| 29 | """ |
| 30 | Serializing frame yields data. Parsing data yields frame. |
| 31 | |
| 32 | """ |
| 33 | # Compare frames first, because test failures are easier to read, |
| 34 | # especially when mask = True. |
| 35 | parsed = self.parse(data, mask=mask, extensions=extensions) |
| 36 | self.assertEqual(parsed, frame) |
| 37 | |
| 38 | # Make masking deterministic by reusing the same "random" mask. |
| 39 | # This has an effect only when mask is True. |
| 40 | mask_bytes = data[2:6] if mask else b"" |
| 41 | with patch("secrets.token_bytes", return_value=mask_bytes): |
| 42 | serialized = frame.serialize(mask=mask, extensions=extensions) |
| 43 | self.assertEqual(serialized, data) |
| 44 | |
| 45 | |
| 46 | class FrameTests(FramesTestCase): |
no test coverage detected