changeset 794:f930532604bb

new deflated tests
author Alain Mazy <am@orthanc.team>
date Mon, 17 Mar 2025 17:05:29 +0100 (3 months ago)
parents 3da6edb11ee9
children 7002190323f8
files Database/TransferSyntaxes/1.2.840.10008.1.2.1.99.dcm Tests/Tests.py
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file Database/TransferSyntaxes/1.2.840.10008.1.2.1.99.dcm has changed
--- a/Tests/Tests.py	Tue Feb 25 19:27:02 2025 +0100
+++ b/Tests/Tests.py	Mon Mar 17 17:05:29 2025 +0100
@@ -11953,3 +11953,20 @@
                                                     ]
                                                 })
             self.assertEqual(1, len(a))
+
+    def test_deflated_invalid_size(self):  # https://discourse.orthanc-server.org/t/transcoding-to-deflated-transfer-syntax-fails/5489
+        if IsOrthancVersionAbove(_REMOTE, 1, 12, 7) and HasExtendedFind(_REMOTE):
+            instanceId = '6582b1c0-292ad5ab-ba0f088f-f7a1766f-9a29a54f'
+
+            r = UploadInstance(_REMOTE, 'TransferSyntaxes/1.2.840.10008.1.2.1.99.dcm')
+            attachments = DoGet(_REMOTE, '/instances/' + instanceId + '/attachments/dicom/info/')
+            self.assertEqual(instanceId, r['ID'])
+            self.assertEqual(181071, int(attachments['UncompressedSize']))
+
+            DoDelete(_REMOTE, '/instances/' + instanceId)
+
+            subprocess.check_call([ FindExecutable('storescu'), '-xd', # propose deflated
+                                _REMOTE['Server'], str(_REMOTE['DicomPort']),
+                                GetDatabasePath('TransferSyntaxes/1.2.840.10008.1.2.1.99.dcm') ])
+            attachments = DoGet(_REMOTE, '/instances/' + instanceId + '/attachments/dicom/info/')
+            self.assertEqual(181071, int(attachments['UncompressedSize']))