comparison Tests/Tests.py @ 281:99acf0c17348

cont
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 11 Mar 2020 11:04:55 +0100
parents 5daa3896981c
children 281a32ecc5c1
comparison
equal deleted inserted replaced
280:5daa3896981c 281:99acf0c17348
5306 if s['Status'] != 'Pending': 5306 if s['Status'] != 'Pending':
5307 return s 5307 return s
5308 else: 5308 else:
5309 time.sleep(0.1) 5309 time.sleep(0.1)
5310 5310
5311 UploadInstance(_REMOTE, 'DummyCT.dcm') 5311 instance = UploadInstance(_REMOTE, 'DummyCT.dcm')
5312 sopClassUid = '1.2.840.10008.5.1.4.1.1.4' 5312 sopClassUid = '1.2.840.10008.5.1.4.1.1.4'
5313 sopInstanceUid = '1.2.840.113619.2.176.2025.1499492.7040.1171286242.109' 5313 sopInstanceUid = '1.2.840.113619.2.176.2025.1499492.7040.1171286242.109'
5314 5314
5315 # Against self 5315 # Against self
5316 transaction = DoPost(_REMOTE, '/modalities/self/storage-commitment', [ 5316 transaction = DoPost(_REMOTE, '/modalities/self/storage-commitment', {
5317 [ sopClassUid, sopInstanceUid ], 5317 "DicomInstances" : [ [ sopClassUid, sopInstanceUid ] ],
5318 ]) ['ID'] 5318 }) ['ID']
5319 self.assertTrue(transaction.startswith('2.25.')) 5319 self.assertTrue(transaction.startswith('2.25.'))
5320 5320
5321 result = WaitTransaction(transaction) 5321 result = WaitTransaction(transaction)
5322 self.assertEqual('ORTHANC', result['RemoteAET']) 5322 self.assertEqual('ORTHANC', result['RemoteAET'])
5323 self.assertEqual('Success', result['Status']) 5323 self.assertEqual('Success', result['Status'])
5324 self.assertEqual(1, len(result['Success'])) 5324 self.assertEqual(1, len(result['Success']))
5325 self.assertEqual(0, len(result['Failures'])) 5325 self.assertEqual(0, len(result['Failures']))
5326 self.assertEqual(sopClassUid, result['Success'][0]['SOPClassUID']) 5326 self.assertEqual(sopClassUid, result['Success'][0]['SOPClassUID'])
5327 self.assertEqual(sopInstanceUid, result['Success'][0]['SOPInstanceUID']) 5327 self.assertEqual(sopInstanceUid, result['Success'][0]['SOPInstanceUID'])
5328 5328
5329 tmp = DoPost(_REMOTE, '/modalities/self/storage-commitment', [ 5329 tmp = DoPost(_REMOTE, '/modalities/self/storage-commitment', {
5330 { 'SOPClassUID' : sopClassUid, 5330 "DicomInstances" : [
5331 'SOPInstanceUID' : sopInstanceUid }, 5331 { 'SOPClassUID' : sopClassUid,
5332 ]) 5332 'SOPInstanceUID' : sopInstanceUid },
5333 ],
5334 })
5333 self.assertEqual(tmp['Path'], '/storage-commitment/%s' % tmp['ID']) 5335 self.assertEqual(tmp['Path'], '/storage-commitment/%s' % tmp['ID'])
5334 self.assertEqual(result, WaitTransaction(transaction)) 5336 self.assertEqual(result, WaitTransaction(transaction))
5335 5337
5336 5338 tmp = DoPost(_REMOTE, '/modalities/self/storage-commitment', {
5337 transaction = DoPost(_REMOTE, '/modalities/self/storage-commitment', [ 5339 "Resources" : [
5338 [ 'nope', 'nope2' ], 5340 instance['ID'],
5339 [ sopClassUid, sopInstanceUid ], 5341 instance['ParentSeries'],
5340 ]) ['ID'] 5342 instance['ParentStudy'],
5343 instance['ParentPatient'],
5344 ]
5345 })
5346 self.assertEqual(tmp['Path'], '/storage-commitment/%s' % tmp['ID'])
5347 self.assertEqual(result, WaitTransaction(transaction))
5348
5349
5350 transaction = DoPost(_REMOTE, '/modalities/self/storage-commitment', {
5351 "DicomInstances" : [
5352 [ 'nope', 'nope2' ],
5353 [ sopClassUid, sopInstanceUid ],
5354 ],
5355 }) ['ID']
5341 self.assertTrue(transaction.startswith('2.25.')) 5356 self.assertTrue(transaction.startswith('2.25.'))
5342 5357
5343 result = WaitTransaction(transaction) 5358 result = WaitTransaction(transaction)
5344 self.assertEqual('ORTHANC', result['RemoteAET']) 5359 self.assertEqual('ORTHANC', result['RemoteAET'])
5345 self.assertEqual('Failure', result['Status']) 5360 self.assertEqual('Failure', result['Status'])
5356 DoPost(_REMOTE, '/storage-commitment/%s/remove' % transaction)) 5371 DoPost(_REMOTE, '/storage-commitment/%s/remove' % transaction))
5357 5372
5358 5373
5359 # Against Orthanc 0.8.6, that does not support storage commitment 5374 # Against Orthanc 0.8.6, that does not support storage commitment
5360 self.assertRaises(Exception, lambda: 5375 self.assertRaises(Exception, lambda:
5361 DoPost(_REMOTE, '/modalities/orthanctest/storage-commitment', [ 5376 DoPost(_REMOTE, '/modalities/orthanctest/storage-commitment', {
5362 [ sopClassUid, sopInstanceUid ], 5377 "DicomInstances" : [
5363 ])) 5378 [ sopClassUid, sopInstanceUid ],
5379 ]
5380 }))
5364 5381
5365 5382
5366 5383
5367 def test_storage_commitment_store(self): 5384 def test_storage_commitment_store(self):
5368 # Storage commitment is available since Orthanc 1.6.0 5385 # Storage commitment is available since Orthanc 1.6.0