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'])