2626from werkzeug .wrappers import Response
2727from werkzeug .wsgi import responder
2828
29- from cms .db .filecacher import TombstoneError
29+ from cms .db .filecacher import FileCacher , TombstoneError
3030from cms .server .file_middleware import FileServerMiddleware
3131from cmscommon .digest import bytes_digest
3232
3333
34+ # Choose a size that is larger than FileCacher.CHUNK_SIZE.
35+ TESTFILE_LEN = FileCacher .CHUNK_SIZE + 128
36+
37+
3438class TestFileByDigestMiddleware (unittest .TestCase ):
3539
3640 def setUp (self ):
37- # Choose a size that is larger than FileCacher.CHUNK_SIZE.
3841 self .content = \
39- bytes (random .getrandbits (8 ) for _ in range (17 * 1024 ))
42+ bytes (random .getrandbits (8 ) for _ in range (TESTFILE_LEN ))
4043 self .digest = bytes_digest (self .content )
4144
4245 self .filename = "foobar.pdf"
@@ -51,7 +54,7 @@ def setUp(self):
5154 self .provide_filename = True
5255
5356 self .wsgi_app = \
54- FileServerMiddleware (self .file_cacher ,self .wrapped_wsgi_app )
57+ FileServerMiddleware (self .file_cacher , self .wrapped_wsgi_app )
5558 self .environ_builder = EnvironBuilder ("/some/url" )
5659 self .client = Client (self .wsgi_app , Response )
5760
@@ -141,7 +144,7 @@ def test_range_request(self):
141144 self .assertEqual (response .content_range .units , "bytes" )
142145 self .assertEqual (response .content_range .start , 256 )
143146 self .assertEqual (response .content_range .stop , 768 )
144- self .assertEqual (response .content_range .length , 17 * 1024 )
147+ self .assertEqual (response .content_range .length , TESTFILE_LEN )
145148 self .assertEqual (response .get_data (), self .content [256 :768 ])
146149
147150 def test_range_request_end_overflows (self ):
@@ -151,12 +154,13 @@ def test_range_request_end_overflows(self):
151154 self .assertEqual (response .content_range .units , "bytes" )
152155 self .assertEqual (response .content_range .start , 256 )
153156 self .assertEqual (response .content_range .stop , 2048 )
154- self .assertEqual (response .content_range .length , 17 * 1024 )
157+ self .assertEqual (response .content_range .length , TESTFILE_LEN )
155158 self .assertEqual (response .get_data (), self .content [256 :2048 ])
156159
157160 def test_range_request_start_overflows (self ):
158161 # Test a range that starts after the end of the file.
159- response = self .request (headers = [("Range" , f"bytes={ len (self .content ) + 1 } -" )])
162+ response = self .request (
163+ headers = [("Range" , f"bytes={ len (self .content ) + 1 } -" )])
160164 self .assertEqual (response .status_code , 416 )
161165
162166
0 commit comments