comparison Tests/Tests.py @ 211:a05cc24f84e5

test_series_status
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 04 Feb 2019 11:36:30 +0100
parents 2c50c8f340c2
children eba6b8c38eee
comparison
equal deleted inserted replaced
210:2c50c8f340c2 211:a05cc24f84e5
346 for patient in p: 346 for patient in p:
347 for study in DoGet(_REMOTE, '/patients/%s/studies' % patient): 347 for study in DoGet(_REMOTE, '/patients/%s/studies' % patient):
348 self.assertEqual(patient, study['ParentPatient']) 348 self.assertEqual(patient, study['ParentPatient'])
349 for series in DoGet(_REMOTE, '/studies/%s/series' % study['ID']): 349 for series in DoGet(_REMOTE, '/studies/%s/series' % study['ID']):
350 self.assertEqual(study['ID'], series['ParentStudy']) 350 self.assertEqual(study['ID'], series['ParentStudy'])
351 self.assertEqual('Unknown', series['Status'])
351 for instance in DoGet(_REMOTE, '/series/%s/instances' % series['ID']): 352 for instance in DoGet(_REMOTE, '/series/%s/instances' % series['ID']):
352 self.assertEqual(series['ID'], instance['ParentSeries']) 353 self.assertEqual(series['ID'], instance['ParentSeries'])
353 354
354 self.assertEqual(json.dumps(DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/data' % instance['ID'])), 355 self.assertEqual(json.dumps(DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/data' % instance['ID'])),
355 json.dumps(DoGet(_REMOTE, '/instances/%s/tags' % instance['ID']))) 356 json.dumps(DoGet(_REMOTE, '/instances/%s/tags' % instance['ID'])))
4365 self.assertEqual(1, len(a)) 4366 self.assertEqual(1, len(a))
4366 4367
4367 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study', 4368 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study',
4368 'Query' : { 'ModalitiesInStudy' : 'CT' }}) 4369 'Query' : { 'ModalitiesInStudy' : 'CT' }})
4369 self.assertEqual(1, len(a)) 4370 self.assertEqual(1, len(a))
4371
4372
4373 def test_series_status(self):
4374 def HasCompletedInChanges():
4375 for c in DoGet(_REMOTE, '/changes?limit=1000&since=0')['Changes']:
4376 if c['ChangeType'] == 'CompletedSeries':
4377 return True;
4378
4379 return False
4380
4381 UploadInstance(_REMOTE, 'Knix/Loc/IM-0001-0001.dcm')
4382 series = '8ea120d7-5057d919-837dfbcc-ccd04e0f-7f3a94aa'
4383 self.assertEqual('Unknown', DoGet(_REMOTE, '/series/%s' % series)['Status'])
4384 self.assertFalse(HasCompletedInChanges())
4385
4386 series = 'ce25ecb6-ed79d004-5ae43ca7-3fc89bc5-67511614'
4387
4388 for i in range(3):
4389 UploadInstance(_REMOTE, 'Series/Lena-%d.dcm' % (i + 1))
4390 self.assertEqual('Missing', DoGet(_REMOTE, '/series/%s' % series)['Status'])
4391 self.assertFalse(HasCompletedInChanges())
4392
4393 UploadInstance(_REMOTE, 'Series/Lena-4.dcm')
4394 self.assertEqual('Complete', DoGet(_REMOTE, '/series/%s' % series)['Status'])
4395 self.assertTrue(HasCompletedInChanges())
4396
4397 DoDelete(_REMOTE, '/changes')
4398 self.assertFalse(HasCompletedInChanges())
4399
4400 UploadInstance(_REMOTE, 'Series/Lena-5.dcm')
4401 self.assertEqual('Inconsistent', DoGet(_REMOTE, '/series/%s' % series)['Status'])
4402 self.assertFalse(HasCompletedInChanges())
4403