comparison Plugins/DicomWeb/Run.py @ 244:49cf8ed97a28

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 20 Jun 2019 21:12:34 +0200
parents c6ffdd0ea04b
children e4e0e2ff91ae
comparison
equal deleted inserted replaced
243:cccf697a4e13 244:49cf8ed97a28
223 serversReadback = DoGet(ORTHANC, '/dicom-web/servers?expand') 223 serversReadback = DoGet(ORTHANC, '/dicom-web/servers?expand')
224 self.assertEqual('http://localhost:8042/dicom-web/', serversReadback['sample']['Url']) 224 self.assertEqual('http://localhost:8042/dicom-web/', serversReadback['sample']['Url'])
225 self.assertEqual('alice', serversReadback['sample']['Username']) 225 self.assertEqual('alice', serversReadback['sample']['Username'])
226 226
227 sample = DoGet(ORTHANC, '/dicom-web/servers/sample') 227 sample = DoGet(ORTHANC, '/dicom-web/servers/sample')
228 self.assertEqual(3, len(sample)) 228 self.assertEqual(5, len(sample))
229 self.assertTrue('stow' in sample) 229 self.assertTrue('stow' in sample)
230 self.assertTrue('retrieve' in sample) 230 self.assertTrue('retrieve' in sample)
231 self.assertTrue('get' in sample) 231 self.assertTrue('get' in sample)
232 self.assertTrue('wado' in sample) # New in 0.7
233 self.assertTrue('qido' in sample) # New in 0.7
232 234
233 # application/dicom+xml 235 # application/dicom+xml
234 self.assertEqual(2, len(re.findall('^--', DoGet(ORTHANC, '/dicom-web/studies', 236 self.assertEqual(2, len(re.findall('^--', DoGet(ORTHANC, '/dicom-web/studies',
235 headers = { 'Accept' : 'application/dicom+xml' }), 237 headers = { 'Accept' : 'application/dicom+xml' }),
236 re.MULTILINE))) 238 re.MULTILINE)))
286 '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285', 288 '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285',
287 'c8df6478-d7794217-0f11c293-a41237c9-31d98357' ]}))) # altogether 289 'c8df6478-d7794217-0f11c293-a41237c9-31d98357' ]}))) # altogether
288 290
289 291
290 def test_server_retrieve(self): 292 def test_server_retrieve(self):
293 COUNT = 'ReceivedInstancesCount'
294 #COUNT = 'Instances' # In version <= 0.6
295
291 UploadInstance(ORTHANC, 'Knee/T1/IM-0001-0001.dcm') 296 UploadInstance(ORTHANC, 'Knee/T1/IM-0001-0001.dcm')
292 UploadInstance(ORTHANC, 'Knee/T1/IM-0001-0002.dcm') 297 UploadInstance(ORTHANC, 'Knee/T1/IM-0001-0002.dcm')
293 UploadInstance(ORTHANC, 'Knee/T2/IM-0001-0001.dcm') 298 UploadInstance(ORTHANC, 'Knee/T2/IM-0001-0001.dcm')
294 299
295 self.assertRaises(Exception, lambda: 300 self.assertRaises(Exception, lambda:
296 DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 301 DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
297 { 'Resources' : [ { 'Study' : 'nope' } ]})) # inexisting resource 302 { 'Resources' : [ { 'Study' : 'nope' } ]})) # inexisting resource
298 303
299 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 304 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
300 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881' } ] }) 305 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881' } ] })
301 self.assertEqual(3, len(t['Instances'])) 306 self.assertEqual(3, int(t[COUNT]))
302 307
303 # Missing "Study" field 308 # Missing "Study" field
304 self.assertRaises(Exception, lambda: 309 self.assertRaises(Exception, lambda:
305 DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 310 DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
306 { 'Resources' : [ { 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081908564160709' } ]})) 311 { 'Resources' : [ { 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081908564160709' } ]}))
307 312
308 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 313 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
309 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881', 314 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881',
310 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081908564160709' } ] }) 315 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081908564160709' } ] })
311 self.assertEqual(2, len(t['Instances'])) 316 self.assertEqual(2, int(t[COUNT]))
312 317
313 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 318 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
314 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881', 319 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881',
315 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081909090037350' } ] }) 320 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081909090037350' } ] })
316 self.assertEqual(1, len(t['Instances'])) 321 self.assertEqual(1, int(t[COUNT]))
317 322
318 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 323 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
319 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881', 324 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881',
320 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081909090037350' }, 325 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081909090037350' },
321 { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881', 326 { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881',
322 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081908564160709' } ] }) 327 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081908564160709' } ] })
323 self.assertEqual(3, len(t['Instances'])) 328 self.assertEqual(3, int(t[COUNT]))
324 329
325 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve', 330 t = DoPost(ORTHANC, '/dicom-web/servers/sample/retrieve',
326 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881', 331 { 'Resources' : [ { 'Study' : '2.16.840.1.113669.632.20.121711.10000160881',
327 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081909090037350', 332 'Series' : '1.3.46.670589.11.17521.5.0.3124.2008081909090037350',
328 'Instance' : '1.3.46.670589.11.17521.5.0.3124.2008081909113806560' } ] }) 333 'Instance' : '1.3.46.670589.11.17521.5.0.3124.2008081909113806560' } ] })
329 self.assertEqual(1, len(t['Instances'])) 334 self.assertEqual(1, int(t[COUNT]))
330 335
331 336
332 def test_bitbucket_issue_53(self): 337 def test_bitbucket_issue_53(self):
333 # DICOMWeb plugin support for "limit" and "offset" parameters in QIDO-RS 338 # DICOMWeb plugin support for "limit" and "offset" parameters in QIDO-RS
334 # https://bitbucket.org/sjodogne/orthanc/issues/53 339 # https://bitbucket.org/sjodogne/orthanc/issues/53