forked from LBRYCommunity/lbry-sdk
add send_blob tests
This commit is contained in:
parent
f74f075b4e
commit
53bf1fe4fd
2 changed files with 30 additions and 6 deletions
|
@ -140,6 +140,7 @@ class BlobRequestHandler(object):
|
|||
def set_expected_payment():
|
||||
log.info("Setting expected payment")
|
||||
if self.blob_bytes_uploaded != 0 and self.blob_data_payment_rate is not None:
|
||||
# TODO: explain why 2**20
|
||||
self.wallet.add_expected_payment(self.peer,
|
||||
self.currently_uploading.length * 1.0 *
|
||||
self.blob_data_payment_rate / 2**20)
|
||||
|
@ -156,4 +157,4 @@ class BlobRequestHandler(object):
|
|||
if reason is not None and isinstance(reason, Failure):
|
||||
log.info("Upload has failed. Reason: %s", reason.getErrorMessage())
|
||||
|
||||
return _send_file()
|
||||
return _send_file()
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
import StringIO
|
||||
|
||||
import mock
|
||||
from twisted.internet import defer
|
||||
from twisted.internet import defer, protocol
|
||||
from twisted.test import proto_helpers
|
||||
from twisted.trial import unittest
|
||||
|
||||
from lbrynet.core import Peer
|
||||
from lbrynet.core.server import BlobRequestHandler
|
||||
|
||||
|
||||
|
@ -13,8 +17,9 @@ class TestBlobRequestHandlerQueries(unittest.TestCase):
|
|||
self.blob_manager, None, self.payment_rate_manager)
|
||||
|
||||
def test_empty_response_when_empty_query(self):
|
||||
self.assertEqual({}, self.successResultOf(self.handler.handle_queries({})))
|
||||
|
||||
self.assertEqual(
|
||||
{}, self.successResultOf(self.handler.handle_queries({})))
|
||||
|
||||
def test_error_set_when_rate_is_missing(self):
|
||||
query = {'requested_blob': 'blob'}
|
||||
deferred = self.handler.handle_queries(query)
|
||||
|
@ -99,6 +104,24 @@ class TestBlobRequestHandlerQueries(unittest.TestCase):
|
|||
}
|
||||
}
|
||||
self.assertEqual(response, self.successResultOf(deferred))
|
||||
|
||||
|
||||
|
||||
|
||||
class TestBlobRequestHandlerSender(unittest.TestCase):
|
||||
def test_nothing_happens_if_not_currently_uploading(self):
|
||||
handler = BlobRequestHandler.BlobRequestHandler(None, None, None)
|
||||
handler.currently_uploading = None
|
||||
deferred = handler.send_blob_if_requested(None)
|
||||
self.assertEqual(True, self.successResultOf(deferred))
|
||||
|
||||
def test_file_is_sent_to_consumer(self):
|
||||
# TODO: also check that the expected payment values are set
|
||||
consumer = proto_helpers.StringTransport()
|
||||
test_file = StringIO.StringIO('test')
|
||||
handler = BlobRequestHandler.BlobRequestHandler(None, None, None)
|
||||
handler.peer = mock.create_autospec(Peer.Peer)
|
||||
handler.currently_uploading = mock.Mock()
|
||||
handler.read_handle = test_file
|
||||
handler.send_blob_if_requested(consumer)
|
||||
while consumer.producer:
|
||||
consumer.producer.resumeProducing()
|
||||
self.assertEqual(consumer.value(), 'test')
|
||||
|
|
Loading…
Add table
Reference in a new issue