comparison Tests/Tests.py @ 188:7d585263808b

new test: test_queries_hierarchy
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 08 Dec 2018 18:17:10 +0100
parents 770f6f5aea16
children 11719f19bd62
comparison
equal deleted inserted replaced
187:770f6f5aea16 188:7d585263808b
4013 })) 4013 }))
4014 4014
4015 z = GetArchive(_REMOTE, '/jobs/%s/archive' % job) 4015 z = GetArchive(_REMOTE, '/jobs/%s/archive' % job)
4016 self.assertEqual(3, len(z.namelist())) 4016 self.assertEqual(3, len(z.namelist()))
4017 self.assertTrue('DICOMDIR' in z.namelist()) 4017 self.assertTrue('DICOMDIR' in z.namelist())
4018 4018
4019
4020 def test_queries_hierarchy(self):
4021 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')
4022
4023 tags = {
4024 'NumberOfPatientRelatedInstances' : '',
4025 'NumberOfPatientRelatedSeries' : '',
4026 'NumberOfPatientRelatedStudies' : '',
4027 'NumberOfStudyRelatedInstances' : '',
4028 'NumberOfStudyRelatedSeries' : '',
4029 'NumberOfSeriesRelatedInstances' : '',
4030 }
4031
4032 patient = DoPost(_REMOTE, '/modalities/self/query', {
4033 'Level' : 'Patient',
4034 'Query' : tags
4035 }) ['ID']
4036
4037 study = DoPost(_REMOTE, '/modalities/self/query', {
4038 'Level' : 'Study',
4039 'Query' : tags
4040 }) ['ID']
4041
4042 series = DoPost(_REMOTE, '/modalities/self/query', {
4043 'Level' : 'Series',
4044 'Query' : tags
4045 }) ['ID']
4046
4047 instance = DoPost(_REMOTE, '/modalities/self/query', {
4048 'Level' : 'Instance',
4049 'Query' : tags
4050 }) ['ID']
4051
4052 p = DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % patient)
4053 self.assertEqual(1, len(p))
4054 self.assertEqual('887', p[0]['PatientID'])
4055 self.assertEqual('1', p[0]['NumberOfPatientRelatedInstances'])
4056 self.assertEqual('1', p[0]['NumberOfPatientRelatedSeries'])
4057 self.assertEqual('1', p[0]['NumberOfPatientRelatedStudies'])
4058 self.assertFalse('NumberOfStudyRelatedInstances' in p[0])
4059 self.assertFalse('NumberOfStudyRelatedSeries' in p[0])
4060 self.assertFalse('NumberOfSeriesRelatedInstances' in p[0])
4061
4062 p = DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % study)
4063 self.assertEqual(1, len(p))
4064 self.assertEqual('2.16.840.1.113669.632.20.121711.10000160881', p[0]['StudyInstanceUID'])
4065 self.assertEqual('1', p[0]['NumberOfStudyRelatedInstances'])
4066 self.assertEqual('1', p[0]['NumberOfStudyRelatedSeries'])
4067 self.assertFalse('NumberOfPatientRelatedInstances' in p[0])
4068 self.assertFalse('NumberOfPatientRelatedSeries' in p[0])
4069 self.assertFalse('NumberOfPatientRelatedInstances' in p[0])
4070 self.assertFalse('NumberOfSeriesRelatedInstances' in p[0])
4071
4072 p = DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % series)
4073 self.assertEqual(1, len(p))
4074 self.assertEqual('1.3.46.670589.11.17521.5.0.3124.2008081908564160709', p[0]['SeriesInstanceUID'])
4075 self.assertEqual('1', p[0]['NumberOfSeriesRelatedInstances'])
4076 self.assertFalse('NumberOfPatientRelatedInstances' in p[0])
4077 self.assertFalse('NumberOfPatientRelatedSeries' in p[0])
4078 self.assertFalse('NumberOfPatientRelatedInstances' in p[0])
4079 self.assertFalse('NumberOfStudyRelatedInstances' in p[0])
4080 self.assertFalse('NumberOfStudyRelatedSeries' in p[0])
4081
4082 p = DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % instance)
4083 self.assertEqual(1, len(p))
4084 self.assertEqual('1.3.46.670589.11.17521.5.0.3124.2008081908590448738', p[0]['SOPInstanceUID'])
4085
4086 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-studies' % patient,
4087 { 'Query' : tags }) ['ID']
4088 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j),
4089 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % study))
4090
4091 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-series' % patient,
4092 { 'Query' : tags }) ['ID']
4093 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j),
4094 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % series))
4095
4096 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-instances' % patient,
4097 { 'Query' : tags }) ['ID']
4098 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j),
4099 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % instance))
4100
4101 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-series' % study,
4102 { 'Query' : tags }) ['ID']
4103 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j),
4104 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % series))
4105
4106 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-instances' % study,
4107 { 'Query' : tags }) ['ID']
4108 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j),
4109 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % instance))
4110
4111 j = DoPost(_REMOTE, '/queries/%s/answers/0/query-instances' % series,
4112 { 'Query' : tags }) ['ID']
4113 self.assertEqual(DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % j),
4114 DoGet(_REMOTE, '/queries/%s/answers?expand&simplify' % instance))
4115
4116