comparison Tests/Tests.py @ 305:ed20ead1a8b6

test_store_peer_transcoding
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 19 May 2020 20:35:20 +0200
parents b8399213b840
children 2565d39dd36c
comparison
equal deleted inserted replaced
304:b8399213b840 305:ed20ead1a8b6
5706 self.assertEqual(1, len(k)) 5706 self.assertEqual(1, len(k))
5707 self.assertEqual(i['ID'], DoGet(_REMOTE, '/instances/%s/metadata?expand' % k[0]) ['ModifiedFrom']) 5707 self.assertEqual(i['ID'], DoGet(_REMOTE, '/instances/%s/metadata?expand' % k[0]) ['ModifiedFrom'])
5708 self.assertEqual('1.2.840.10008.1.2.4.50', GetTransferSyntax( 5708 self.assertEqual('1.2.840.10008.1.2.4.50', GetTransferSyntax(
5709 DoGet(_REMOTE, '/instances/%s/file' % k[0]))) 5709 DoGet(_REMOTE, '/instances/%s/file' % k[0])))
5710 5710
5711
5712 def test_store_peer_transcoding(self):
5713 i = UploadInstance(_REMOTE, 'KarstenHilbertRF.dcm')['ID']
5714
5715 SYNTAXES = [
5716 '1.2.840.10008.1.2',
5717 '1.2.840.10008.1.2.1',
5718 #'1.2.840.10008.1.2.1.99', # Deflated Explicit VR Little Endian (cannot be decoded in debug mode if Orthanc is statically linked against DCMTK 3.6.5)
5719 '1.2.840.10008.1.2.2',
5720 '1.2.840.10008.1.2.4.50',
5721 '1.2.840.10008.1.2.4.51',
5722 '1.2.840.10008.1.2.4.57',
5723 '1.2.840.10008.1.2.4.70',
5724 ]
5725
5726 if HasGdcmPlugin(_REMOTE):
5727 SYNTAXES = SYNTAXES + [
5728 '1.2.840.10008.1.2.4.80', # This makes DCMTK 3.6.2 crash
5729 '1.2.840.10008.1.2.4.81', # This makes DCMTK 3.6.2 crash
5730 '1.2.840.10008.1.2.4.90', # JPEG2k, unavailable without GDCM
5731 '1.2.840.10008.1.2.4.91', # JPEG2k, unavailable without GDCM
5732 ]
5733
5734 for syntax in SYNTAXES:
5735 body = {
5736 'Resources' : [ i ],
5737 }
5738
5739 if syntax != '1.2.840.10008.1.2.1':
5740 body['Transcode'] = syntax
5741
5742 self.assertEqual(0, len(DoGet(_LOCAL, '/instances')))
5743 self.assertEqual(1, len(DoGet(_REMOTE, '/instances')))
5744 DoPost(_REMOTE, '/peers/peer/store', body, 'text/plain')
5745 self.assertEqual(1, len(DoGet(_LOCAL, '/instances')))
5746 self.assertEqual(1, len(DoGet(_REMOTE, '/instances')))
5747 self.assertEqual(syntax, GetTransferSyntax(
5748 DoGet(_LOCAL, '/instances/%s/file' % DoGet(_LOCAL, '/instances') [0])))
5749
5750 DropOrthanc(_LOCAL)