async def test_exists(self): iurl = self.get_image_url("image_7.jpg") ibytes = self.get_image_bytes("image.jpg") storage = Storage(self.context) await storage.put(iurl, ibytes) exists = await storage.exists(iurl) not_exists = await storage.exists("some-invalid-random-file.jpg") expect(exists).to_be_true() expect(not_exists).to_be_false()
async def test_should_put(self): url = self.get_image_url("image.jpg") image_bytes = self.get_image_bytes("image.jpg") storage = Storage(self.context) await storage.put(url, image_bytes) result = await storage.get(url) expect(result).not_to_be_null() expect(result).not_to_be_an_error() expect(result).to_equal(image_bytes)
async def test_remove(self): iurl = self.get_image_url("image_7.jpg") ibytes = self.get_image_bytes("image.jpg") storage = Storage(self.context) await storage.put(iurl, ibytes) exists = await storage.exists(iurl) expect(exists).to_be_true() await storage.remove(iurl) not_exists = await storage.exists(iurl) expect(not_exists).to_be_false()
async def test_should_put_crypto(self): iurl = self.get_image_url("image_7.jpg") ibytes = self.get_image_bytes("image.jpg") storage = Storage(self.context) await storage.put(iurl, ibytes) await storage.put_crypto(iurl) got = await storage.get_crypto(iurl) expect(got).not_to_be_null() expect(got).not_to_be_an_error() expect(got).to_equal("ACME-SEC")
async def test_should_put_detector_data(self): iurl = self.get_image_url("image_7.jpg") ibytes = self.get_image_bytes("image.jpg") storage = Storage(self.context) await storage.put(iurl, ibytes) await storage.put_detector_data(iurl, "some-data") got = await storage.get_detector_data(iurl) expect(got).not_to_be_null() expect(got).not_to_be_an_error() expect(got).to_equal("some-data")
async def test_should_raise_for_invalid_compatibility_storage(self): config = Config( FILE_LOADER_ROOT_PATH=STORAGE_PATH, STORES_CRYPTO_KEY_FOR_EACH_IMAGE=True, ) importer = Importer(config) importer.import_modules() server = ServerParameters(8889, "localhost", "thumbor.conf", None, "info", None) server.security_key = "ACME-SEC" ctx = Context(server, config=config, importer=importer) storage = Storage(ctx) with expect.error_to_happen( RuntimeError, message=( "The 'COMPATIBILITY_LEGACY_STORAGE' configuration should " "point to a valid storage when using compatibility storage." ), ): await storage.get("invalid-path")
async def test_should_return_none_for_invalid_image(self): storage = Storage(self.context) result = await storage.get("invalid-path") expect(result).to_be_null()