@@ -277,6 +277,44 @@ class S3StorageTest {
277277 }
278278 }
279279
280+ @Test
281+ fun testForceFileSizeAndType () {
282+ // init storage
283+ if (! storage.bucketExist(bucketName)) {
284+ storage.createBucket(bucketName)
285+ }
286+
287+ val (svgFileName, svgStream) = getFile(FileType .SVG )
288+ val mimeType = " image/svg+xml"
289+ val fileSize = svgStream.available().toLong()
290+
291+ // Check wrong cases
292+ assertFalse(storage.objectExists(bucketName, svgFileName))
293+
294+ // Put object to storage
295+ assertTrue(
296+ storage.put(
297+ bucketName, svgFileName, FileObjectDto (
298+ inputStream = svgStream.buffered(),
299+ size = fileSize,
300+ contentType = mimeType
301+ )
302+ )
303+ )
304+
305+ // Check object exist
306+ assertTrue(storage.objectExists(bucketName, svgFileName))
307+
308+ val svgObject = storage.get(bucketName, svgFileName)
309+
310+ assertEquals(mimeType, svgObject?.response()?.contentType())
311+ assertEquals(fileSize, svgObject?.response()?.contentLength())
312+
313+ assertTrue {
314+ storage.deleteBucketWithObjects(bucketName)
315+ }
316+ }
317+
280318 @Test
281319 fun testMetadata () {
282320 // init storage
@@ -565,6 +603,7 @@ class S3StorageTest {
565603 FileType .PDF -> dotenv[" PDF_TEST_OBJECT" ] ? : throw S3StorageException (" PDF File not found" )
566604 FileType .ZIP -> dotenv[" ZIP_TEST_OBJECT" ] ? : throw S3StorageException (" ZIP File not found" )
567605 FileType .BIN -> dotenv[" BIN_TEST_OBJECT" ] ? : throw S3StorageException (" BIN File not found" )
606+ FileType .SVG -> dotenv[" SVG_TEST_OBJECT" ] ? : throw S3StorageException (" SVG File not found" )
568607 }
569608
570609 return key to (classLoader.getResourceAsStream(fileName) ? : throw S3StorageException (" File not readable" ))
@@ -576,7 +615,8 @@ class S3StorageTest {
576615 PNG ,
577616 PDF ,
578617 ZIP ,
579- BIN ;
618+ BIN ,
619+ SVG ;
580620 }
581621
582622 @Throws(IOException ::class )
0 commit comments