Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 52:7c08e542db23
test_compression
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 09 Oct 2015 17:19:26 +0200 |
parents | 264a20a0276d |
children | e0d1ee04119f |
comparison
equal
deleted
inserted
replaced
51:264a20a0276d | 52:7c08e542db23 |
---|---|
2360 }), | 2360 }), |
2361 'application/json') | 2361 'application/json') |
2362 j = DoPost(_REMOTE, '/instances', j, 'application/dicom')['ID'] | 2362 j = DoPost(_REMOTE, '/instances', j, 'application/dicom')['ID'] |
2363 DoDelete(_REMOTE, '/instances/%s' % i) | 2363 DoDelete(_REMOTE, '/instances/%s' % i) |
2364 | 2364 |
2365 self.assertEqual(2, len( DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence' % j))) | 2365 self.assertEqual(2, len(DoGet(_REMOTE, '/instances/%s/content/ReferencedStudySequence' % j))) |
2366 | |
2367 | |
2368 def test_compression(self): | |
2369 i = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID'] | |
2370 | |
2371 data = DoGetRaw(_REMOTE, '/instances/%s/attachments/dicom-as-json/data' % i)[1] | |
2372 | |
2373 # "StorageCompression" is enabled in the Orthanc to be tested, | |
2374 # uncompress the data before running the test | |
2375 if DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/is-compressed' % i) != 0: | |
2376 DoPost(_REMOTE, '/instances/%s/attachments/dicom-as-json/uncompress' % i) | |
2377 | |
2378 cs = DoGet(_REMOTE, '/statistics')['TotalDiskSize'] | |
2379 us = DoGet(_REMOTE, '/statistics')['TotalUncompressedSize'] | |
2380 size = DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/size' % i) | |
2381 md5 = DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/md5' % i) | |
2382 self.assertEqual(data, DoGetRaw(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-data' % i)[1]) | |
2383 self.assertEqual(md5, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-md5' % i)) | |
2384 self.assertEqual(size, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-size' % i)) | |
2385 | |
2386 ops = DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json' % i) | |
2387 self.assertTrue('compress' in ops) | |
2388 self.assertTrue('uncompress' in ops) | |
2389 self.assertTrue('is-compressed' in ops) | |
2390 self.assertEqual(0, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/is-compressed' % i)) | |
2391 DoPost(_REMOTE, '/instances/%s/attachments/dicom-as-json/verify-md5' % i) | |
2392 | |
2393 DoPost(_REMOTE, '/instances/%s/attachments/dicom-as-json/compress' % i) | |
2394 DoPost(_REMOTE, '/instances/%s/attachments/dicom-as-json/verify-md5' % i) | |
2395 self.assertEqual(1, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/is-compressed' % i)) | |
2396 self.assertLess(cs, DoGet(_REMOTE, '/statistics')['TotalDiskSize']) | |
2397 self.assertEqual(us, DoGet(_REMOTE, '/statistics')['TotalUncompressedSize']) | |
2398 self.assertGreater(len(data), len(DoGetRaw(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-data' % i)[1])) | |
2399 self.assertGreater(size, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-size' % i)) | |
2400 self.assertEqual(size, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/size' % i)) | |
2401 self.assertEqual(md5, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/md5' % i)) | |
2402 self.assertNotEqual(md5, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-md5' % i)) | |
2403 | |
2404 DoPost(_REMOTE, '/instances/%s/attachments/dicom-as-json/uncompress' % i) | |
2405 DoPost(_REMOTE, '/instances/%s/attachments/dicom-as-json/verify-md5' % i) | |
2406 self.assertEqual(0, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/is-compressed' % i)) | |
2407 self.assertEqual(data, DoGetRaw(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-data' % i)[1]) | |
2408 self.assertEqual(size, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-size' % i)) | |
2409 self.assertEqual(size, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/size' % i)) | |
2410 self.assertEqual(md5, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/md5' % i)) | |
2411 self.assertEqual(md5, DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/compressed-md5' % i)) | |
2412 self.assertEqual(cs, DoGet(_REMOTE, '/statistics')['TotalDiskSize']) | |
2413 self.assertEqual(us, DoGet(_REMOTE, '/statistics')['TotalUncompressedSize']) |