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