comparison Tests/Tests.py @ 132:149144d854bb

Orthanc.test_anonymize_relationships_1/2
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 26 Mar 2018 17:16:00 +0200
parents 50cd127e5330
children f0d4c4707e64
comparison
equal deleted inserted replaced
131:90e5331ddee9 132:149144d854bb
3508 self.assertTrue(re.search('T1W_aTSE', a) != None) 3508 self.assertTrue(re.search('T1W_aTSE', a) != None)
3509 3509
3510 os.remove('/tmp/DICOMDIR') 3510 os.remove('/tmp/DICOMDIR')
3511 3511
3512 3512
3513 def test_anonymize_relationships_1(self):
3514 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')['ID']
3515 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm')['ID']
3516 study = '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918'
3517
3518 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study,
3519 '{}',
3520 'application/json')['ID']
3521
3522 a = DoGet(_REMOTE, '/studies/%s/instances' % study)
3523 self.assertEqual(2, len(a))
3524 a1 = a[0]['ID']
3525 a2 = a[1]['ID']
3526
3527 b = DoGet(_REMOTE, '/studies/%s/instances' % anonymized)
3528 self.assertEqual(2, len(b))
3529 b1 = b[0]['ID']
3530 b2 = b[1]['ID']
3531
3532 SEQUENCE = '/instances/%s/content/ReferencedImageSequence'
3533 SOP = '/instances/%s/content/ReferencedImageSequence/%d/ReferencedSOPInstanceUID'
3534 CLASS = '/instances/%s/content/ReferencedImageSequence/%d/ReferencedSOPClassUID'
3535 FRAME = '/instances/%s/content/FrameOfReferenceUID'
3536
3537 self.assertEqual(DoGet(_REMOTE, FRAME % a1),
3538 DoGet(_REMOTE, FRAME % a2))
3539 self.assertEqual(DoGet(_REMOTE, FRAME % b1),
3540 DoGet(_REMOTE, FRAME % b2))
3541 self.assertNotEqual(DoGet(_REMOTE, FRAME % a1),
3542 DoGet(_REMOTE, FRAME % b1))
3543 self.assertNotEqual(DoGet(_REMOTE, FRAME % a2),
3544 DoGet(_REMOTE, FRAME % b2))
3545
3546 self.assertEqual(3, len(DoGet(_REMOTE, SEQUENCE % a1)))
3547 self.assertEqual(3, len(DoGet(_REMOTE, SEQUENCE % a2)))
3548 self.assertEqual(3, len(DoGet(_REMOTE, SEQUENCE % b1)))
3549 self.assertEqual(3, len(DoGet(_REMOTE, SEQUENCE % b2)))
3550
3551 for i in range(3):
3552 self.assertEqual(DoGet(_REMOTE, SOP % (a1, i)),
3553 DoGet(_REMOTE, SOP % (a2, i)))
3554 self.assertEqual(DoGet(_REMOTE, SOP % (b1, i)),
3555 DoGet(_REMOTE, SOP % (b2, i)))
3556 self.assertNotEqual(DoGet(_REMOTE, SOP % (a1, i)),
3557 DoGet(_REMOTE, SOP % (b1, i)))
3558 self.assertNotEqual(DoGet(_REMOTE, SOP % (a2, i)),
3559 DoGet(_REMOTE, SOP % (b2, i)))
3560 self.assertEqual(DoGet(_REMOTE, CLASS % (a1, i)),
3561 DoGet(_REMOTE, CLASS % (b1, i)))
3562 self.assertEqual(DoGet(_REMOTE, CLASS % (a2, i)),
3563 DoGet(_REMOTE, CLASS % (b2, i)))
3564
3565
3566 def test_anonymize_relationships_2(self):
3567 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0001.dcm')['ID']
3568 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0002.dcm')['ID']
3569 study = '6c65289b-db2fcb71-7eaf73f4-8e12470c-a4d6d7cf'
3570
3571 anonymized = DoPost(_REMOTE, '/studies/%s/anonymize' % study,
3572 '{}',
3573 'application/json')['ID']
3574
3575 a = DoGet(_REMOTE, '/studies/%s/instances' % study)
3576 self.assertEqual(2, len(a))
3577 a1 = a[0]['ID']
3578 a2 = a[1]['ID']
3579
3580 b = DoGet(_REMOTE, '/studies/%s/instances' % anonymized)
3581 self.assertEqual(2, len(b))
3582 b1 = b[0]['ID']
3583 b2 = b[1]['ID']
3584
3585 SEQUENCE = '/instances/%s/content/SourceImageSequence'
3586 SOP = '/instances/%s/content/SourceImageSequence/%d/ReferencedSOPInstanceUID'
3587 CLASS = '/instances/%s/content/SourceImageSequence/%d/ReferencedSOPClassUID'
3588
3589 self.assertEqual(1, len(DoGet(_REMOTE, SEQUENCE % a1)))
3590 self.assertEqual(1, len(DoGet(_REMOTE, SEQUENCE % a2)))
3591 self.assertEqual(1, len(DoGet(_REMOTE, SEQUENCE % b1)))
3592 self.assertEqual(1, len(DoGet(_REMOTE, SEQUENCE % b2)))
3593 self.assertEqual(DoGet(_REMOTE, SOP % (a1, 0)),
3594 DoGet(_REMOTE, SOP % (a2, 0)))
3595 self.assertEqual(DoGet(_REMOTE, SOP % (b1, 0)),
3596 DoGet(_REMOTE, SOP % (b2, 0)))
3597 self.assertNotEqual(DoGet(_REMOTE, SOP % (a1, 0)),
3598 DoGet(_REMOTE, SOP % (b1, 0)))
3599 self.assertNotEqual(DoGet(_REMOTE, SOP % (a2, 0)),
3600 DoGet(_REMOTE, SOP % (b2, 0)))
3601 self.assertEqual(DoGet(_REMOTE, CLASS % (a1, 0)),
3602 DoGet(_REMOTE, CLASS % (b1, 0)))
3603 self.assertEqual(DoGet(_REMOTE, CLASS % (a2, 0)),
3604 DoGet(_REMOTE, CLASS % (b2, 0)))