mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							962d72b58b
						
					
				
				
					commit
					6e433186a1
				
			@@ -54,7 +54,7 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
        # Test thumbnail size.
 | 
					        # Test thumbnail size.
 | 
				
			||||||
        result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_uri))
 | 
					        result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_uri))
 | 
				
			||||||
        self.assertEqual(result.status_code, 302, result)
 | 
					        self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
        expected_part_url = get_file_path_urlpart(uri, '0x100')
 | 
					        expected_part_url = get_file_path_urlpart(uri, '0x300')
 | 
				
			||||||
        self.assertIn(expected_part_url, result.url)
 | 
					        self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Test custom emoji urls in Zulip messages.
 | 
					        # Test custom emoji urls in Zulip messages.
 | 
				
			||||||
@@ -105,7 +105,7 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
            # Test thumbnail size.
 | 
					            # Test thumbnail size.
 | 
				
			||||||
            result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_url))
 | 
					            result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_url))
 | 
				
			||||||
            self.assertEqual(result.status_code, 302, result)
 | 
					            self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
            expected_part_url = '/0x100/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
					            expected_part_url = '/0x300/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
				
			||||||
            self.assertIn(expected_part_url, result.url)
 | 
					            self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Test api endpoint with standard API authentication.
 | 
					            # Test api endpoint with standard API authentication.
 | 
				
			||||||
@@ -114,7 +114,7 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
            result = self.api_get(user_profile.email,
 | 
					            result = self.api_get(user_profile.email,
 | 
				
			||||||
                                  "/thumbnail?url=%s&size=thumbnail" % (quoted_url,))
 | 
					                                  "/thumbnail?url=%s&size=thumbnail" % (quoted_url,))
 | 
				
			||||||
            self.assertEqual(result.status_code, 302, result)
 | 
					            self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
            expected_part_url = '/0x100/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
					            expected_part_url = '/0x300/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
				
			||||||
            self.assertIn(expected_part_url, result.url)
 | 
					            self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Test api endpoint with legacy API authentication.
 | 
					            # Test api endpoint with legacy API authentication.
 | 
				
			||||||
@@ -122,7 +122,7 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
            result = self.client_get("/thumbnail?url=%s&size=thumbnail&api_key=%s" % (
 | 
					            result = self.client_get("/thumbnail?url=%s&size=thumbnail&api_key=%s" % (
 | 
				
			||||||
                quoted_url, get_api_key(user_profile)))
 | 
					                quoted_url, get_api_key(user_profile)))
 | 
				
			||||||
            self.assertEqual(result.status_code, 302, result)
 | 
					            self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
            expected_part_url = '/0x100/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
					            expected_part_url = '/0x300/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
				
			||||||
            self.assertIn(expected_part_url, result.url)
 | 
					            self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Test a second logged-in user; they should also be able to access it
 | 
					            # Test a second logged-in user; they should also be able to access it
 | 
				
			||||||
@@ -130,7 +130,7 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
            result = self.client_get("/thumbnail?url=%s&size=thumbnail&api_key=%s" % (
 | 
					            result = self.client_get("/thumbnail?url=%s&size=thumbnail&api_key=%s" % (
 | 
				
			||||||
                quoted_url, get_api_key(user_profile)))
 | 
					                quoted_url, get_api_key(user_profile)))
 | 
				
			||||||
            self.assertEqual(result.status_code, 302, result)
 | 
					            self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
            expected_part_url = '/0x100/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
					            expected_part_url = '/0x300/smart/filters:no_upscale()/' + encoded_url + '/source_type/external'
 | 
				
			||||||
            self.assertIn(expected_part_url, result.url)
 | 
					            self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Test with another user trying to access image using thumbor.
 | 
					            # Test with another user trying to access image using thumbor.
 | 
				
			||||||
@@ -179,7 +179,7 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
        # Test thumbnail size.
 | 
					        # Test thumbnail size.
 | 
				
			||||||
        result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_uri))
 | 
					        result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_uri))
 | 
				
			||||||
        self.assertEqual(result.status_code, 302, result)
 | 
					        self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
        expected_part_url = get_file_path_urlpart(uri, '0x100')
 | 
					        expected_part_url = get_file_path_urlpart(uri, '0x300')
 | 
				
			||||||
        self.assertIn(expected_part_url, result.url)
 | 
					        self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Test with a unicode filename.
 | 
					        # Test with a unicode filename.
 | 
				
			||||||
@@ -333,12 +333,12 @@ class ThumbnailTest(ZulipTestCase):
 | 
				
			|||||||
        self.assertEqual(base, uri[:len(base)])
 | 
					        self.assertEqual(base, uri[:len(base)])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Test with size supplied as a query parameter.
 | 
					        # Test with size supplied as a query parameter.
 | 
				
			||||||
        # size=thumbnail should return a 0x100 sized image.
 | 
					        # size=thumbnail should return a 0x300 sized image.
 | 
				
			||||||
        # size=full should return the original resolution image.
 | 
					        # size=full should return the original resolution image.
 | 
				
			||||||
        quoted_uri = urllib.parse.quote(uri[1:], safe='')
 | 
					        quoted_uri = urllib.parse.quote(uri[1:], safe='')
 | 
				
			||||||
        result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_uri))
 | 
					        result = self.client_get("/thumbnail?url=%s&size=thumbnail" % (quoted_uri))
 | 
				
			||||||
        self.assertEqual(result.status_code, 302, result)
 | 
					        self.assertEqual(result.status_code, 302, result)
 | 
				
			||||||
        expected_part_url = get_file_path_urlpart(uri, '0x100')
 | 
					        expected_part_url = get_file_path_urlpart(uri, '0x300')
 | 
				
			||||||
        self.assertIn(expected_part_url, result.url)
 | 
					        self.assertIn(expected_part_url, result.url)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        result = self.client_get("/thumbnail?url=%s&size=full" % (quoted_uri))
 | 
					        result = self.client_get("/thumbnail?url=%s&size=full" % (quoted_uri))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,7 +28,7 @@ def backend_serve_thumbnail(request: HttpRequest, user_profile: UserProfile,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    size = None
 | 
					    size = None
 | 
				
			||||||
    if size_requested == 'thumbnail':
 | 
					    if size_requested == 'thumbnail':
 | 
				
			||||||
        size = '0x100'
 | 
					        size = '0x300'
 | 
				
			||||||
    elif size_requested == 'full':
 | 
					    elif size_requested == 'full':
 | 
				
			||||||
        size = '0x0'
 | 
					        size = '0x0'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user