comparison Tests/Tests.py @ 663:7a6996b9b9ee

added specific c-find test
author Alain Mazy <am@orthanc.team>
date Fri, 05 Jul 2024 19:19:02 +0200
parents b31aa560210d
children 854640df43d3
comparison
equal deleted inserted replaced
662:b31aa560210d 663:7a6996b9b9ee
10410 a = DoGet(_REMOTE, '/patients/%s?requested-tags=0020,1200;0020,1202;0020,1204' % patient) 10410 a = DoGet(_REMOTE, '/patients/%s?requested-tags=0020,1200;0020,1202;0020,1204' % patient)
10411 self.assertEqual(3, len(a['RequestedTags'])) 10411 self.assertEqual(3, len(a['RequestedTags']))
10412 self.assertEqual(1, int(a['RequestedTags']['NumberOfPatientRelatedStudies'])) 10412 self.assertEqual(1, int(a['RequestedTags']['NumberOfPatientRelatedStudies']))
10413 self.assertEqual(2, int(a['RequestedTags']['NumberOfPatientRelatedSeries'])) 10413 self.assertEqual(2, int(a['RequestedTags']['NumberOfPatientRelatedSeries']))
10414 self.assertEqual(4, int(a['RequestedTags']['NumberOfPatientRelatedInstances'])) 10414 self.assertEqual(4, int(a['RequestedTags']['NumberOfPatientRelatedInstances']))
10415
10416 def test_computed_tags_and_patient_comments(self):
10417 UploadInstance(_REMOTE, 'WithEmptyPatientComments.dcm')
10418
10419 # without requesting PatientComments, we get the computed tags
10420 i = CallFindScu([ '-k', 'PatientID=WITH_COMMENTS', '-k', 'QueryRetrieveLevel=Study', '-k', 'ModalitiesInStudy', '-k', 'NumberOfStudyRelatedSeries', '-k', 'NumberOfStudyRelatedInstances' ])
10421 modalitiesInStudy = re.findall('\(0008,0061\).*?\[(.*?)\]', i)
10422 self.assertEqual(1, len(modalitiesInStudy))
10423 self.assertEqual('CT', modalitiesInStudy[0])
10424
10425 if IsOrthancVersionAbove(_REMOTE, 1, 12, 4):
10426 # when requesting PatientComments, with 1.12.4, we did not get the computed tags
10427 i = CallFindScu([ '-k', 'PatientID=WITH_COMMENTS', '-k', 'QueryRetrieveLevel=Study', '-k', 'ModalitiesInStudy', '-k', 'NumberOfStudyRelatedSeries', '-k', 'NumberOfStudyRelatedInstances', '-k', 'PatientComments' ])
10428 modalitiesInStudy = re.findall('\(0008,0061\).*?\[(.*?)\]', i)
10429 self.assertEqual(1, len(modalitiesInStudy))
10430 self.assertEqual('CT', modalitiesInStudy[0])
10431 numberOfStudyRelatedSeries = re.findall('\(0020,1206\).*?\[(.*?)\]', i)
10432 self.assertEqual(1, len(numberOfStudyRelatedSeries))
10433 self.assertEqual(1, int(numberOfStudyRelatedSeries[0]))
10434 numberOfStudyRelatedInstances = re.findall('\(0020,1208\).*?\[(.*?)\]', i)
10435 self.assertEqual(1, len(numberOfStudyRelatedInstances))
10436 self.assertEqual(1, int(numberOfStudyRelatedInstances[0]))
10437
10438 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study',
10439 'Expand': True,
10440 'Query' : { 'PatientID' : 'WITH_COMMENTS'},
10441 'RequestedTags': ['ModalitiesInStudy', 'NumberOfStudyRelatedSeries', 'NumberOfStudyRelatedInstances', 'PatientComments']})
10442
10443 self.assertEqual(4, len(a[0]['RequestedTags'].keys()))
10444 self.assertEqual(1, int(a[0]['RequestedTags']['NumberOfStudyRelatedSeries']))
10445 self.assertEqual(1, int(a[0]['RequestedTags']['NumberOfStudyRelatedInstances']))
10446 self.assertEqual('CT', a[0]['RequestedTags']['ModalitiesInStudy'])
10447 self.assertEqual('', a[0]['RequestedTags']['PatientComments'])