comparison Tests/Tests.py @ 123:ff7438e51f63

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 Jul 2017 18:41:04 +0200
parents 80895f4961d0
children b110dc52ab38
comparison
equal deleted inserted replaced
122:80895f4961d0 123:ff7438e51f63
83 if i in a: 83 if i in a:
84 del a[i] 84 del a[i]
85 if i in b: 85 if i in b:
86 del b[i] 86 del b[i]
87 87
88 return a == b 88 if a.keys() == b.keys():
89 return True
90 else:
91 print('Mismatch in tags: %s' % str(set(a.keys()) ^ set(b.keys())))
92 return False
89 93
90 94
91 def CallFindScu(args): 95 def CallFindScu(args):
92 p = subprocess.Popen([ FindExecutable('findscu'), 96 p = subprocess.Popen([ FindExecutable('findscu'),
93 '-P', '-aec', _REMOTE['DicomAet'], '-aet', _LOCAL['DicomAet'], 97 '-P', '-aec', _REMOTE['DicomAet'], '-aet', _LOCAL['DicomAet'],
2602 j = UploadInstance(_REMOTE, 'PrivateTags.dcm')['ID'] 2606 j = UploadInstance(_REMOTE, 'PrivateTags.dcm')['ID']
2603 2607
2604 t = DoGet(_REMOTE, '/instances/%s/tags?simplify' % i) 2608 t = DoGet(_REMOTE, '/instances/%s/tags?simplify' % i)
2605 with open(GetDatabasePath('PrivateMDNTagsSimplify.json'), 'r') as f: 2609 with open(GetDatabasePath('PrivateMDNTagsSimplify.json'), 'r') as f:
2606 self.assertTrue(CompareTags(t, json.loads(f.read()), [ 2610 self.assertTrue(CompareTags(t, json.loads(f.read()), [
2611 # Tags for compatibility with DCMTK 3.6.0
2612 'RETIRED_OtherPatientIDs',
2613 'OtherPatientIDs',
2614 'ACR_NEMA_2C_VariablePixelDataGroupLength',
2607 ])) 2615 ]))
2608 2616
2609 t = DoGet(_REMOTE, '/instances/%s/tags' % i) 2617 t = DoGet(_REMOTE, '/instances/%s/tags' % i)
2610 with open(GetDatabasePath('PrivateMDNTagsFull.json'), 'r') as f: 2618 with open(GetDatabasePath('PrivateMDNTagsFull.json'), 'r') as f:
2611 self.assertTrue(CompareTags(t, json.loads(f.read()), [ 2619 self.assertTrue(CompareTags(t, json.loads(f.read()), [
3188 self.assertEqual(255, im.getpixel((0,0))) 3196 self.assertEqual(255, im.getpixel((0,0)))
3189 3197
3190 3198
3191 def test_bitbucket_issue_42(self): 3199 def test_bitbucket_issue_42(self):
3192 # https://bitbucket.org/sjodogne/orthanc/issues/42/fails-to-modify-a-dicom-video-file 3200 # https://bitbucket.org/sjodogne/orthanc/issues/42/fails-to-modify-a-dicom-video-file
3193 # This test fails on DCMTK 3.6.0, but succeeds in DCMTK 3.6.1 snapshots 3201 # This test fails on DCMTK 3.6.0, but succeeds in DCMTK 3.6.1 snapshots and DCMTK 3.6.2
3194 UploadInstance(_REMOTE, 'Issue42.dcm')['ID'] 3202 UploadInstance(_REMOTE, 'Issue42.dcm')['ID']
3195 modified = DoPost(_REMOTE, 3203 modified = DoPost(_REMOTE,
3196 '/patients/da128605-e040d0c4-310615d2-3475da63-df2d1ef4/modify', 3204 '/patients/da128605-e040d0c4-310615d2-3475da63-df2d1ef4/modify',
3197 '{"Replace":{"PatientID":"Hello","PatientName":"Sample patient name"},"Force":true}', 3205 '{"Replace":{"PatientID":"Hello","PatientName":"Sample patient name"},"Force":true}',
3198 'application/json') 3206 'application/json')