Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 415:fa6c4b82c027
test_bulk_content
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 18 Jun 2021 17:59:10 +0200 |
parents | a2beea45a53d |
children | 80164728c038 |
comparison
equal
deleted
inserted
replaced
414:a2beea45a53d | 415:fa6c4b82c027 |
---|---|
7656 self.assertEqual('SeriesDescription', a[2]['MainDicomTags']['0008,103e']['Name']) | 7656 self.assertEqual('SeriesDescription', a[2]['MainDicomTags']['0008,103e']['Name']) |
7657 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', | 7657 self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', |
7658 a[3]['MainDicomTags']['0008,0018']['Value']) | 7658 a[3]['MainDicomTags']['0008,0018']['Value']) |
7659 self.assertEqual('SOPInstanceUID', a[3]['MainDicomTags']['0008,0018']['Name']) | 7659 self.assertEqual('SOPInstanceUID', a[3]['MainDicomTags']['0008,0018']['Name']) |
7660 | 7660 |
7661 | |
7662 def test_bulk_content(self): | |
7663 # New in Orthanc 1.9.4 | |
7664 knee1 = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') ['ID'] | |
7665 knee2 = UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') ['ID'] | |
7666 brainix = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') ['ID'] | |
7667 | |
7668 brainixHierarchy = [ | |
7669 DoGet(_REMOTE, '/instances/%s/patient' % brainix) ['ID'], | |
7670 DoGet(_REMOTE, '/instances/%s/study' % brainix) ['ID'], | |
7671 DoGet(_REMOTE, '/instances/%s/series' % brainix) ['ID'], | |
7672 brainix, | |
7673 ] | |
7674 | |
7675 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : brainixHierarchy }) | |
7676 self.assertEqual(4, len(a)) | |
7677 b = map(lambda x: x['ID'], a) | |
7678 for i in range(4): | |
7679 self.assertEqual(brainixHierarchy[i], b[i]) | |
7680 | |
7681 for (level, index) in [ | |
7682 ('Patient', 0), | |
7683 ('Study', 1), | |
7684 ('Series', 2), | |
7685 ('Instance', 3), | |
7686 ]: | |
7687 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : brainixHierarchy, | |
7688 'Level' : level }) | |
7689 self.assertEqual(1, len(a)) | |
7690 self.assertEqual(level, a[0]['Type']) | |
7691 self.assertEqual(brainixHierarchy[index], a[0]['ID']) | |
7692 | |
7693 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ brainix ], | |
7694 'Level' : level }) | |
7695 self.assertEqual(1, len(a)) | |
7696 self.assertEqual(level, a[0]['Type']) | |
7697 self.assertEqual(brainixHierarchy[index], a[0]['ID']) | |
7698 | |
7699 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, knee2, brainix ] }) | |
7700 self.assertEqual(3, len(a)) | |
7701 for item in a: | |
7702 self.assertEqual('Instance', item['Type']) | |
7703 b = map(lambda x: x['ID'], a) | |
7704 self.assertTrue(knee1 in b) | |
7705 self.assertTrue(knee2 in b) | |
7706 self.assertTrue(brainix in b) | |
7707 | |
7708 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, knee2 ], | |
7709 'Level' : 'Series' }) | |
7710 self.assertEqual(2, len(a)) | |
7711 for item in a: | |
7712 self.assertEqual('Series', item['Type']) | |
7713 b = map(lambda x: x['ID'], a) | |
7714 self.assertTrue(DoGet(_REMOTE, '/instances/%s' % knee1) ['ParentSeries'] in b) | |
7715 self.assertTrue(DoGet(_REMOTE, '/instances/%s' % knee2) ['ParentSeries'] in b) | |
7716 | |
7717 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, knee2 ], | |
7718 'Level' : 'Study' }) | |
7719 self.assertEqual(1, len(a)) | |
7720 self.assertEqual(DoGet(_REMOTE, '/instances/%s/study' % knee1) ['ID'], a[0]['ID']) | |
7721 self.assertEqual('Study', a[0]['Type']) | |
7722 self.assertEqual('KNEE', a[0]['PatientMainDicomTags']['PatientName']) | |
7723 | |
7724 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, knee2 ], | |
7725 'Level' : 'Patient' }) | |
7726 self.assertEqual(1, len(a)) | |
7727 self.assertEqual(DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'], a[0]['ID']) | |
7728 self.assertEqual('Patient', a[0]['Type']) | |
7729 self.assertEqual('KNEE', a[0]['MainDicomTags']['PatientName']) | |
7730 | |
7731 for level in [ 'Instance', 'Series', 'Study', 'Patient' ]: | |
7732 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, brainix ], | |
7733 'Level' : level }) | |
7734 self.assertEqual(2, len(a)) | |
7735 for item in a: | |
7736 self.assertEqual(level, item['Type']) | |
7737 b = map(lambda x: x['ID'], a) | |
7738 if level == 'Instance': | |
7739 self.assertTrue(knee1 in b) | |
7740 self.assertTrue(brainix in b) | |
7741 else: | |
7742 self.assertTrue(DoGet(_REMOTE, '/instances/%s/%s' % (knee1, level.lower())) ['ID'] in b) | |
7743 self.assertTrue(DoGet(_REMOTE, '/instances/%s/%s' % (brainix, level.lower())) ['ID'] in b) |