forked from LBRYCommunity/lbry-sdk
update test
check sd info read from the blob and from the database
This commit is contained in:
parent
d7bfeae6b8
commit
8b93fb5b13
1 changed files with 18 additions and 3 deletions
|
@ -5,6 +5,7 @@ from twisted.trial import unittest
|
||||||
from twisted.internet import defer
|
from twisted.internet import defer
|
||||||
|
|
||||||
from lbrynet.database.storage import SQLiteStorage
|
from lbrynet.database.storage import SQLiteStorage
|
||||||
|
from lbrynet.core.StreamDescriptor import get_sd_info, BlobStreamDescriptorReader
|
||||||
from lbrynet.core import BlobManager
|
from lbrynet.core import BlobManager
|
||||||
from lbrynet.core import Session
|
from lbrynet.core import Session
|
||||||
from lbrynet.core.server import DHTHashAnnouncer
|
from lbrynet.core.server import DHTHashAnnouncer
|
||||||
|
@ -15,6 +16,7 @@ from lbrynet.tests.util import mk_db_and_blob_dir, rm_db_and_blob_dir
|
||||||
|
|
||||||
MB = 2**20
|
MB = 2**20
|
||||||
|
|
||||||
|
|
||||||
def iv_generator():
|
def iv_generator():
|
||||||
while True:
|
while True:
|
||||||
yield '3' * AES.block_size
|
yield '3' * AES.block_size
|
||||||
|
@ -22,6 +24,7 @@ def iv_generator():
|
||||||
|
|
||||||
class CreateEncryptedFileTest(unittest.TestCase):
|
class CreateEncryptedFileTest(unittest.TestCase):
|
||||||
timeout = 5
|
timeout = 5
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
mocks.mock_conf_settings(self)
|
mocks.mock_conf_settings(self)
|
||||||
|
@ -57,16 +60,28 @@ class CreateEncryptedFileTest(unittest.TestCase):
|
||||||
def test_can_create_file(self):
|
def test_can_create_file(self):
|
||||||
expected_stream_hash = "41e6b247d923d191b154fb6f1b8529d6ddd6a73d65c35" \
|
expected_stream_hash = "41e6b247d923d191b154fb6f1b8529d6ddd6a73d65c35" \
|
||||||
"7b1acb742dd83151fb66393a7709e9f346260a4f4db6de10c25"
|
"7b1acb742dd83151fb66393a7709e9f346260a4f4db6de10c25"
|
||||||
expected_sd_hash = "bc435ae0c4659635e6514e05bb1fcd0d365b234f6f0e78002" \
|
expected_sd_hash = "db043b44384c149126685990f6bb6563aa565ae331303d522" \
|
||||||
"d2576ff84a0b8710a9847757a9aa8cbeda5a8e1aeafa48b"
|
"c8728fe0534dd06fbcacae92b0891787ad9b68ffc8d20c1"
|
||||||
filename = 'test.file'
|
filename = 'test.file'
|
||||||
lbry_file = yield self.create_file(filename)
|
lbry_file = yield self.create_file(filename)
|
||||||
sd_hash = yield self.session.storage.get_sd_blob_hash_for_stream(lbry_file.stream_hash)
|
sd_hash = yield self.session.storage.get_sd_blob_hash_for_stream(lbry_file.stream_hash)
|
||||||
|
|
||||||
|
# read the sd blob file
|
||||||
|
sd_blob = self.blob_manager.blobs[sd_hash]
|
||||||
|
sd_reader = BlobStreamDescriptorReader(sd_blob)
|
||||||
|
sd_file_info = yield sd_reader.get_info()
|
||||||
|
|
||||||
|
# this comes from the database, the blobs returned are sorted
|
||||||
|
sd_info = yield get_sd_info(self.session.storage, lbry_file.stream_hash, include_blobs=True)
|
||||||
|
self.assertDictEqual(sd_info, sd_file_info)
|
||||||
|
self.assertEqual(sd_info['stream_hash'], expected_stream_hash)
|
||||||
|
self.assertEqual(len(sd_info['blobs']), 3)
|
||||||
|
self.assertNotEqual(sd_info['blobs'][0]['length'], 0)
|
||||||
|
self.assertNotEqual(sd_info['blobs'][1]['length'], 0)
|
||||||
|
self.assertEqual(sd_info['blobs'][2]['length'], 0)
|
||||||
self.assertEqual(expected_stream_hash, lbry_file.stream_hash)
|
self.assertEqual(expected_stream_hash, lbry_file.stream_hash)
|
||||||
self.assertEqual(sd_hash, lbry_file.sd_hash)
|
self.assertEqual(sd_hash, lbry_file.sd_hash)
|
||||||
self.assertEqual(sd_hash, expected_sd_hash)
|
self.assertEqual(sd_hash, expected_sd_hash)
|
||||||
|
|
||||||
blobs = yield self.blob_manager.get_all_verified_blobs()
|
blobs = yield self.blob_manager.get_all_verified_blobs()
|
||||||
self.assertEqual(3, len(blobs))
|
self.assertEqual(3, len(blobs))
|
||||||
num_should_announce_blobs = yield self.blob_manager.count_should_announce_blobs()
|
num_should_announce_blobs = yield self.blob_manager.count_should_announce_blobs()
|
||||||
|
|
Loading…
Add table
Reference in a new issue