def topic(self): config = Config( FILE_STORAGE_ROOT_PATH="/tmp/thumbor/file_storage/") storage = FileStorage( Context(config=config, server=get_server('ACME-SEC'))) storage.put(IMAGE_URL % 1, IMAGE_BYTES) return storage.get(IMAGE_URL % 1)
def test_can_store_image_should_be_in_catalog(self): url = self.get_image_url('image.jpg') image_bytes = self.get_image_bytes('image.jpg') storage = FileStorage(self.context) storage.put(url, image_bytes) got = yield storage.get(url) expect(got).not_to_be_null() expect(got).not_to_be_an_error()
def test_can_get_if_expire_set_to_none(self): iurl = self.get_image_url('image_2.jpg') ibytes = self.get_image_bytes('image.jpg') storage = FileStorage(self.context) storage.put(iurl, ibytes) got = yield storage.get(iurl) expect(got).not_to_be_null() expect(got).not_to_be_an_error()
def test_can_store_image_with_spaces_encoded(self): url = self.get_image_url('image%20.jpg') image_bytes = self.get_image_bytes('image .jpg') storage = FileStorage(self.context) storage.put(url, image_bytes) got = yield storage.get(url) expect(got).not_to_be_null() expect(got).not_to_be_an_error() expect(got).to_equal(image_bytes)
def test_cannot_get_expired_1_day_old_image(self): iurl = self.get_image_url('image_2.jpg') ibytes = self.get_image_bytes('image.jpg') storage = FileStorage(self.context) storage.put(iurl, ibytes) current_timestamp = (datetime.utcnow() - datetime(1970, 1, 1)).total_seconds() new_mtime = current_timestamp - 60 * 60 * 24 with mock.patch('thumbor.storages.file_storage.getmtime', return_value=new_mtime): got = yield storage.get(iurl) expect(got).to_be_null() expect(got).not_to_be_an_error()
def test_cannot_get_expired_1_day_old_image(self): iurl = self.get_image_url('image_2.jpg') ibytes = self.get_image_bytes('image.jpg') storage = FileStorage(self.context) storage.put(iurl, ibytes) current_timestamp = ( datetime.utcnow() - datetime(1970, 1, 1)).total_seconds() new_mtime = current_timestamp - 60 * 60 * 24 with mock.patch( 'thumbor.storages.file_storage.getmtime', return_value=new_mtime): got = yield storage.get(iurl) expect(got).to_be_null() expect(got).not_to_be_an_error()
def test_can_store_images_in_same_folder(self): iurl = self.get_image_url('image_999.jpg') other_iurl = iurl.replace('/some/', '/some_other/') root_path = join(self.config.FILE_STORAGE_ROOT_PATH, dirname(other_iurl)) if exists(root_path): shutil.rmtree(root_path) storage = FileStorage(self.context) ibytes = self.get_image_bytes('image.jpg') storage.put(other_iurl.replace('999', '998'), ibytes) storage.put(other_iurl, ibytes) got = yield storage.get(other_iurl) expect(got).not_to_be_null() expect(got).not_to_be_an_error()
def topic(self): config = Config(FILE_STORAGE_ROOT_PATH="/tmp/thumbor/file_storage/", STORAGE_EXPIRATION_SECONDS=None) storage = FileStorage(Context(config=config, server=get_server('ACME-SEC'))) storage.put(IMAGE_URL % 2, IMAGE_BYTES) return storage.get(IMAGE_URL % 2)