comparison Tests/Tests.py @ 254:05b77ade5e1d

test generation of sopinstanceuid in split/merge
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 28 Aug 2019 16:50:36 +0200
parents 1abdab0ba0e6
children 02c3d91b155c
comparison
equal deleted inserted replaced
253:74c693e093ce 254:05b77ade5e1d
4005 4005
4006 4006
4007 def test_split(self): 4007 def test_split(self):
4008 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') 4008 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')
4009 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') 4009 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm')
4010 knee1Sop = '1.3.46.670589.11.17521.5.0.3124.2008081908590448738'
4011 knee2Sop = '1.3.46.670589.11.17521.5.0.3124.2008081909113806560'
4010 study = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918' 4012 study = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918'
4011 t1 = '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285' 4013 t1 = '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285'
4012 t2 = 'bbf7a453-0d34251a-03663b55-46bb31b9-ffd74c59' 4014 t2 = 'bbf7a453-0d34251a-03663b55-46bb31b9-ffd74c59'
4013 4015
4014 self.assertEqual(1, len(DoGet(_REMOTE, '/studies'))) 4016 self.assertEqual(1, len(DoGet(_REMOTE, '/studies')))
4041 4043
4042 info = DoGet(_REMOTE, '/studies/%s' % study2) 4044 info = DoGet(_REMOTE, '/studies/%s' % study2)
4043 self.assertTrue('Hello', info['PatientMainDicomTags']['PatientName']) 4045 self.assertTrue('Hello', info['PatientMainDicomTags']['PatientName'])
4044 self.assertFalse('ReferringPhysicianName' in info['MainDicomTags']) 4046 self.assertFalse('ReferringPhysicianName' in info['MainDicomTags'])
4045 4047
4048 sopInstanceUids = set()
4049 for i in DoGet(_REMOTE, '/instances?expand'):
4050 sopInstanceUids.add(i['MainDicomTags']['SOPInstanceUID'])
4051
4052 self.assertTrue(knee1Sop in sopInstanceUids)
4053
4054 # Fails if Orthanc <= 1.5.7
4055 self.assertFalse(knee2Sop in sopInstanceUids) # Because "KeepSource" is False
4056
4057 # One original instance is kept, another one is added because of the split
4058 self.assertEqual(2, len(sopInstanceUids))
4059
4046 4060
4047 def test_merge(self): 4061 def test_merge(self):
4048 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') 4062 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')
4049 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm')['ID'] 4063 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm')
4064 kneeSop = '1.3.46.670589.11.17521.5.0.3124.2008081908590448738'
4065 brainixSop = '1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114314079549'
4050 knee = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918' 4066 knee = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918'
4051 t1 = '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285' 4067 t1 = '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285'
4052 brainix = '27f7126f-4f66fb14-03f4081b-f9341db2-53925988' 4068 brainix = '27f7126f-4f66fb14-03f4081b-f9341db2-53925988'
4053 flair = '1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0' 4069 flair = '1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0'
4054 4070
4099 'RequestingPhysician', 4115 'RequestingPhysician',
4100 'RequestedProcedureDescription', ]): 4116 'RequestedProcedureDescription', ]):
4101 self.assertEqual(a[key], merged[key]) 4117 self.assertEqual(a[key], merged[key])
4102 if (key in b): 4118 if (key in b):
4103 self.assertNotEqual(a[key], b[key]) 4119 self.assertNotEqual(a[key], b[key])
4120
4121 sopInstanceUids = set()
4122 for i in DoGet(_REMOTE, '/instances?expand'):
4123 sopInstanceUids.add(i['MainDicomTags']['SOPInstanceUID'])
4124
4125 self.assertTrue(kneeSop in sopInstanceUids)
4126 self.assertTrue(brainixSop in sopInstanceUids)
4127
4128 # Fails if Orthanc <= 1.5.7
4129 # The 2 original instances are kept, another one is added because of the merge
4130 self.assertEqual(3, len(sopInstanceUids))
4104 4131
4105 4132
4106 def test_async_archive(self): 4133 def test_async_archive(self):
4107 # Testing the asynchronous generation of archives/medias (new 4134 # Testing the asynchronous generation of archives/medias (new
4108 # in Orthanc 1.4.3) 4135 # in Orthanc 1.4.3)