コード例 #1
0
 def test_seekable(self):
   with bytes_io.SlowReadableRawBytes(
       b'The quick brown fox', seekable=True) as f:
     self.assertTrue(f.seekable())
     self.assertIsNone(None, f.read())
     self.assertEqual(b'The quick ', f.read())
     f.seek(0)
     self.assertEqual(b'The quick ', f.read())
コード例 #2
0
 def test_read_slow_raw_readall(self, seekable):
     input_stream = bytes_io.SlowReadableRawBytes(b'The quick brown fox',
                                                  seekable)
     with _rewindable_input_stream.RewindableInputStream(
             cast(BinaryIO, input_stream)) as f:
         self.assertIsNone(f.readall())
         self.assertEqual(b'The quick ', f.readall())
         self.assertEqual(b'brown fox', f.readall())
         self.assertEqual(b'', f.readall())
コード例 #3
0
 def test_read(self):
   with bytes_io.SlowReadableRawBytes(b'The quick brown fox') as f:
     self.assertIsNone(f.read(10))
     self.assertEqual(b'The q', f.read(10))
     self.assertEqual(b'uick ', f.read(10))
     self.assertIsNone(f.read(10))
     self.assertEqual(b'brown', f.read(10))
     self.assertEqual(b' fox', f.read(10))
     self.assertIsNone(f.read(10))
     self.assertEqual(b'', f.read(10))
   self.assertTrue(f.closed)
コード例 #4
0
    def test_fake_streaming_aead_slow_read_success(self):
        saead = fake_streaming_aead.FakeRawStreamingAead('Name')

        ciphertext_dest = bytes_io.BytesIOWithValueAfterClose()
        with saead.new_raw_encrypting_stream(ciphertext_dest, b'aad') as es:
            self.assertLen(b'plaintext', es.write(b'plaintext'))
        self.assertTrue(ciphertext_dest.closed)

        ciphertext_src = bytes_io.SlowReadableRawBytes(
            ciphertext_dest.value_after_close())
        with saead.new_raw_decrypting_stream(
                cast(BinaryIO, ciphertext_src),
                b'aad',
                close_ciphertext_source=True) as ds:
            # explicitly test that read returns None on the first call, because
            # that is needed to test one execution path in the wrapper.
            self.assertIsNone(ds.read())
            self.assertEqual(ds.read(), b'plaintext')
コード例 #5
0
 def test_not_seekable(self):
   with bytes_io.SlowReadableRawBytes(
       b'The quick brown fox', seekable=False) as f:
     self.assertFalse(f.seekable())
     with self.assertRaises(io.UnsupportedOperation):
       f.seek(0)
コード例 #6
0
 def test_read_minus_one(self):
   with bytes_io.SlowReadableRawBytes(b'The quick brown fox') as f:
     self.assertIsNone(None, f.read(-1))
     self.assertEqual(b'The quick ', f.read(-1))
     self.assertEqual(b'brown fox', f.read(-1))
     self.assertEqual(b'', f.read(-1))
コード例 #7
0
 def test_read_no_argument(self):
   with bytes_io.SlowReadableRawBytes(b'The quick brown fox') as f:
     self.assertIsNone(None, f.read())
     self.assertEqual(b'The quick ', f.read())
     self.assertEqual(b'brown fox', f.read())
     self.assertEqual(b'', f.read())