Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 289:4a70411ac9ad
test_storescu_transcoding
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 07 May 2020 11:12:06 +0200 |
parents | 281a32ecc5c1 |
children | b5333f87065b |
comparison
equal
deleted
inserted
replaced
288:7419c10e9edd | 289:4a70411ac9ad |
---|---|
5447 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', | 5447 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', |
5448 answer['SOPInstanceUID']) | 5448 answer['SOPInstanceUID']) |
5449 | 5449 |
5450 self.assertEqual(1, len(DoGet(_LOCAL, '/instances'))) | 5450 self.assertEqual(1, len(DoGet(_LOCAL, '/instances'))) |
5451 self.assertEqual(0, len(DoGet(_REMOTE, '/instances'))) | 5451 self.assertEqual(0, len(DoGet(_REMOTE, '/instances'))) |
5452 | |
5453 | |
5454 def test_storescu_transcoding(self): # New in Orthanc 1.7.0 | |
5455 # Add a RLE-encoded DICOM file | |
5456 i = UploadInstance(_REMOTE, 'TransferSyntaxes/1.2.840.10008.1.2.5.dcm')['ID'] | |
5457 self.assertEqual(0, len(DoGet(_LOCAL, '/instances'))) | |
5458 self.assertEqual(1, len(DoGet(_REMOTE, '/instances'))) | |
5459 rleSize = len(DoGet(_REMOTE, '/instances/%s/file' % i)) | |
5460 | |
5461 # Export the instance, with transcoding: "_REMOTE" is the | |
5462 # Orthanc server being tested | |
5463 try: | |
5464 DoDelete(_REMOTE, '/modalities/toto') | |
5465 except: | |
5466 pass | |
5467 | |
5468 params = DoGet(_REMOTE, '/modalities?expand') ['orthanctest'] | |
5469 DoPut(_REMOTE, '/modalities/toto', params) | |
5470 DoPost(_REMOTE, '/modalities/toto/store', str(i), 'text/plain') | |
5471 j = DoGet(_LOCAL, '/instances') | |
5472 self.assertEqual(1, len(j)) | |
5473 uncompressedSize = len(DoGet(_LOCAL, '/instances/%s/file' % j[0])) | |
5474 self.assertTrue(uncompressedSize > rleSize / 2) | |
5475 | |
5476 # Export, with transcoding disabled => this fails | |
5477 params['AllowTranscoding'] = False | |
5478 DoPut(_REMOTE, '/modalities/toto', params) | |
5479 self.assertRaises(Exception, lambda: DoPost(_REMOTE, '/modalities/toto/store', str(i), 'text/plain')) |