From 30846f932b80b8cf1cba1647cad4deeb04d66f78 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Tue, 5 Feb 2019 01:07:37 -0300 Subject: [PATCH] test that creating a stream marks sd and head to announce --- tests/unit/stream/test_assembler.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/unit/stream/test_assembler.py b/tests/unit/stream/test_assembler.py index ac318c45b..ce62f695d 100644 --- a/tests/unit/stream/test_assembler.py +++ b/tests/unit/stream/test_assembler.py @@ -2,6 +2,7 @@ import os import asyncio import tempfile import shutil + from torba.testcase import AsyncioTestCase from lbrynet.conf import Config from lbrynet.blob.blob_file import MAX_BLOB_SIZE @@ -9,6 +10,7 @@ from lbrynet.extras.daemon.storage import SQLiteStorage from lbrynet.blob.blob_manager import BlobFileManager from lbrynet.stream.assembler import StreamAssembler from lbrynet.stream.descriptor import StreamDescriptor +from lbrynet.stream.stream_manager import StreamManager class TestStreamAssembler(AsyncioTestCase): @@ -80,3 +82,23 @@ class TestStreamAssembler(AsyncioTestCase): async def test_create_and_decrypt_random(self): self.cleartext = os.urandom(20000000) await self.test_create_and_decrypt_one_blob_stream() + + async def test_create_managed_stream_announces(self): + # setup a blob manager + storage = SQLiteStorage(Config(), ":memory:") + await storage.open() + tmp_dir = tempfile.mkdtemp() + self.addCleanup(lambda: shutil.rmtree(tmp_dir)) + blob_manager = BlobFileManager(self.loop, tmp_dir, storage) + stream_manager = StreamManager(self.loop, Config(), blob_manager, None, storage, None) + # create the stream + download_dir = tempfile.mkdtemp() + self.addCleanup(lambda: shutil.rmtree(download_dir)) + file_path = os.path.join(download_dir, "test_file") + with open(file_path, 'wb') as f: + f.write(b'testtest') + + stream = await stream_manager.create_stream(file_path) + self.assertEqual( + [stream.sd_hash, stream.descriptor.blobs[0].blob_hash], + await storage.get_blobs_to_announce())