comparison Tests/Tests.py @ 6:6d645b3011e1

test_hierarchy
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 17 Jun 2015 11:31:11 +0200
parents 19eb87a45685
children 302f06f3bba2
comparison
equal deleted inserted replaced
5:19eb87a45685 6:6d645b3011e1
111 111
112 im = GetImage(_REMOTE, '/instances/%s/frames/0/image-uint16' % i) 112 im = GetImage(_REMOTE, '/instances/%s/frames/0/image-uint16' % i)
113 self.assertEqual(512, im.size[0]) 113 self.assertEqual(512, im.size[0])
114 self.assertEqual(358, im.size[1]) 114 self.assertEqual(358, im.size[1])
115 115
116
117 def test_hierarchy(self):
118 UploadFolder(_REMOTE, 'Brainix/Epi')
119 UploadFolder(_REMOTE, 'Brainix/Flair')
120 UploadFolder(_REMOTE, 'Knee/T1')
121 UploadFolder(_REMOTE, 'Knee/T2')
122
123 p = DoGet(_REMOTE, '/patients')
124 s = DoGet(_REMOTE, '/studies')
125 t = DoGet(_REMOTE, '/series')
126 self.assertEqual(2, len(p))
127 self.assertEqual(2, len(s))
128 self.assertEqual(4, len(t))
129 self.assertEqual(94, len(DoGet(_REMOTE, '/instances')))
130
131 brainixPatient = '16738bc3-e47ed42a-43ce044c-a3414a45-cb069bd0'
132 brainixStudy = '27f7126f-4f66fb14-03f4081b-f9341db2-53925988'
133 brainixEpi = '2ac1316d-3e432022-62eabff2-c59f5475-9b1ac3f8'
134 brainixFlair = '1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0'
135
136 kneePatient = 'ca29faea-b6a0e17f-067743a1-8b778011-a48b2a17'
137 kneeStudy = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918'
138 kneeT1 = '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285'
139 kneeT2 = 'bbf7a453-0d34251a-03663b55-46bb31b9-ffd74c59'
140
141 self.assertTrue(brainixPatient in p)
142 self.assertTrue(kneePatient in p)
143 self.assertTrue(brainixStudy in s)
144 self.assertTrue(kneeStudy in s)
145 self.assertTrue(brainixEpi in t)
146 self.assertTrue(brainixFlair in t)
147 self.assertTrue(kneeT1 in t)
148 self.assertTrue(kneeT2 in t)
149
150 self.assertEqual(44, len(DoGet(_REMOTE, '/patients/%s/instances' % brainixPatient)))
151 self.assertEqual(2, len(DoGet(_REMOTE, '/patients/%s/series' % brainixPatient)))
152 self.assertEqual(1, len(DoGet(_REMOTE, '/patients/%s/studies' % brainixPatient)))
153
154 self.assertEqual(50, len(DoGet(_REMOTE, '/patients/%s/instances' % kneePatient)))
155 self.assertEqual(2, len(DoGet(_REMOTE, '/patients/%s/series' % kneePatient)))
156 self.assertEqual(1, len(DoGet(_REMOTE, '/patients/%s/studies' % kneePatient)))
157
158 self.assertEqual(2, len(DoGet(_REMOTE, '/studies/%s/series' % brainixStudy)))
159 self.assertEqual(44, len(DoGet(_REMOTE, '/studies/%s/instances' % brainixStudy)))
160
161 self.assertEqual(2, len(DoGet(_REMOTE, '/studies/%s/series' % kneeStudy)))
162 self.assertEqual(50, len(DoGet(_REMOTE, '/studies/%s/instances' % kneeStudy)))
163
164 self.assertEqual(22, len(DoGet(_REMOTE, '/series/%s/instances' % brainixEpi)))
165 self.assertEqual(22, len(DoGet(_REMOTE, '/series/%s/instances' % brainixFlair)))
166 self.assertEqual(24, len(DoGet(_REMOTE, '/series/%s/instances' % kneeT1)))
167 self.assertEqual(26, len(DoGet(_REMOTE, '/series/%s/instances' % kneeT2)))
168
169 for patient in p:
170 for study in DoGet(_REMOTE, '/patients/%s/studies' % patient):
171 self.assertEqual(patient, study['ParentPatient'])
172 for series in DoGet(_REMOTE, '/studies/%s/series' % study['ID']):
173 self.assertEqual(study['ID'], series['ParentStudy'])
174 for instance in DoGet(_REMOTE, '/series/%s/instances' % series['ID']):
175 self.assertEqual(series['ID'], instance['ParentSeries'])
176
177 self.assertEqual(json.dumps(DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/data' % instance['ID'])),
178 json.dumps(DoGet(_REMOTE, '/instances/%s/tags' % instance['ID'])))
179
180
181 r = DoDelete(_REMOTE, "/studies/%s" % brainixStudy)['RemainingAncestor']
182 self.assertEqual(1, len(DoGet(_REMOTE, '/patients')))
183 self.assertEqual(1, len(DoGet(_REMOTE, '/studies')))
184 self.assertEqual(2, len(DoGet(_REMOTE, '/series')))
185 self.assertEqual(50, len(DoGet(_REMOTE, '/instances')))
186 self.assertEqual(None, r)
187
188 r = DoDelete(_REMOTE, "/series/%s" % kneeT2)['RemainingAncestor']
189 self.assertEqual(1, len(DoGet(_REMOTE, '/patients')))
190 self.assertEqual(1, len(DoGet(_REMOTE, '/studies')))
191 self.assertEqual(1, len(DoGet(_REMOTE, '/series')))
192 self.assertEqual(24, len(DoGet(_REMOTE, '/instances')))
193 self.assertEqual('Study', r['Type'])
194 self.assertEqual(kneeStudy, r['ID'])
195
196 r = DoDelete(_REMOTE, "/instances/%s" % DoGet(_REMOTE, '/instances')[0])['RemainingAncestor']
197 self.assertEqual(1, len(DoGet(_REMOTE, '/patients')))
198 self.assertEqual(1, len(DoGet(_REMOTE, '/studies')))
199 self.assertEqual(1, len(DoGet(_REMOTE, '/series')))
200 self.assertEqual(23, len(DoGet(_REMOTE, '/instances')))
201 self.assertEqual('Series', r['Type'])
202 self.assertEqual(kneeT1, r['ID'])
203
204 r = DoDelete(_REMOTE, "/patients/%s" % kneePatient)['RemainingAncestor']
205 self.assertEqual(0, len(DoGet(_REMOTE, '/patients')))
206 self.assertEqual(0, len(DoGet(_REMOTE, '/studies')))
207 self.assertEqual(0, len(DoGet(_REMOTE, '/series')))
208 self.assertEqual(0, len(DoGet(_REMOTE, '/instances')))
209 self.assertEqual(None, r)
210
211 DropOrthanc(_REMOTE)
212 self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalDiskSize'])
213 self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalUncompressedSize'])