Mercurial > hg > orthanc-tests
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 |