示例#1
0
 def testItem(self):
     items = iterator.Lookahead(iter(["foo", "bar", "baz"]))
     self.assertEqual(items.item, "foo")
     next(items)
     self.assertEqual(items.item, "bar")
     next(items)
     self.assertEqual(items.item, "baz")
示例#2
0
 def testDone(self):
     items = iterator.Lookahead(iter(["foo", "bar", "baz"]))
     self.assertFalse(items.done)
     next(items)
     self.assertFalse(items.done)
     next(items)
     self.assertFalse(items.done)
     next(items)
     self.assertTrue(items.done)
示例#3
0
    def Generate() -> Iterator[bytes]:
        chunks = ioutil.Chunk(stream, size=_AEAD_CHUNK_SIZE)
        chunks = iterator.Lookahead(enumerate(chunks))

        for idx, chunk in chunks:
            nonce = os.urandom(_AEAD_NONCE_SIZE)
            adata = _AEAD_ADATA_FORMAT.pack(idx, chunks.done)

            yield nonce + aesgcm.encrypt(nonce, chunk, adata)
示例#4
0
 def testIterate(self):
     items = iterator.Lookahead(iter(["foo", "bar", "baz"]))
     self.assertEqual(list(items), ["foo", "bar", "baz"])
示例#5
0
 def testEmptyDone(self):
     items = iterator.Lookahead(iter([]))
     self.assertTrue(items.done)
示例#6
0
 def testEmptyItem(self):
     items = iterator.Lookahead(iter([]))
     with self.assertRaises(ValueError):
         items.item  # pylint: disable=pointless-statement
示例#7
0
 def testEmptyNext(self):
     items = iterator.Lookahead(iter([]))
     with self.assertRaises(StopIteration):
         next(items)