From 266e7776558139cd9877efb5e2e6813c619ea024 Mon Sep 17 00:00:00 2001
From: Victor Shyba <victor1984@riseup.net>
Date: Tue, 12 Feb 2019 20:42:01 -0300
Subject: [PATCH] add integration test for different download errors

---
 tests/integration/test_file_commands.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/tests/integration/test_file_commands.py b/tests/integration/test_file_commands.py
index 32df77a40..d7bec4939 100644
--- a/tests/integration/test_file_commands.py
+++ b/tests/integration/test_file_commands.py
@@ -21,3 +21,20 @@ class FileCommands(CommandTestCase):
 
         await self.daemon.jsonrpc_get('lbry://foo')
         self.assertEqual(len(self.daemon.jsonrpc_file_list()), 1)
+
+    async def test_download_different_timeouts(self):
+        claim = await self.make_claim('foo', '0.01')
+        sd_hash = claim['output']['value']['stream']['source']['source']
+        await self.daemon.jsonrpc_file_delete(claim_name='foo')
+        all_except_sd = [
+            blob_hash for blob_hash in self.server.blob_manager.completed_blob_hashes if blob_hash != sd_hash
+        ]
+        await self.server.blob_manager.delete_blobs(all_except_sd)
+        resp = await self.daemon.jsonrpc_get('lbry://foo', timeout=2)
+        self.assertIn('error', resp)
+        self.assertEquals('Failed to download data blobs for sd hash %s within timeout' % sd_hash, resp['error'])
+        await self.daemon.jsonrpc_file_delete(claim_name='foo')
+        await self.server.blob_manager.delete_blob(sd_hash)
+        resp = await self.daemon.jsonrpc_get('lbry://foo', timeout=2)
+        self.assertIn('error', resp)
+        self.assertEquals('Failed to download sd blob %s within timeout' % sd_hash, resp['error'])