Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 582:615201c822d8
new test for PatientName used when exporting an archive
author | Alain Mazy <am@osimis.io> |
---|---|
date | Mon, 16 Oct 2023 17:32:29 +0200 |
parents | 31ab8bb2ac5a |
children | b9dffa48f74a |
comparison
equal
deleted
inserted
replaced
581:cbb9045e0ffa | 582:615201c822d8 |
---|---|
627 | 627 |
628 | 628 |
629 def test_archive(self): | 629 def test_archive(self): |
630 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | 630 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') |
631 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') | 631 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') |
632 knee = 'ca29faea-b6a0e17f-067743a1-8b778011-a48b2a17' | 632 kneePatient = 'ca29faea-b6a0e17f-067743a1-8b778011-a48b2a17' |
633 | 633 kneeStudy = DoGet(_REMOTE, '/studies')[0] |
634 z = GetArchive(_REMOTE, '/patients/%s/archive' % knee) | 634 kneeSeries = DoGet(_REMOTE, '/series')[0] |
635 | |
636 z = GetArchive(_REMOTE, '/patients/%s/archive' % kneePatient) | |
635 self.assertEqual(2, len(z.namelist())) | 637 self.assertEqual(2, len(z.namelist())) |
636 | 638 self.assertIn('887 KNEE/A10003245599 IRM DU GENOU/MR T1W_aTSE/MR000000.dcm', z.namelist()) |
637 z = GetArchive(_REMOTE, '/studies/%s/archive' % DoGet(_REMOTE, '/studies')[0]) | 639 |
640 z = GetArchive(_REMOTE, '/studies/%s/archive' % kneeStudy) | |
638 self.assertEqual(2, len(z.namelist())) | 641 self.assertEqual(2, len(z.namelist())) |
639 | 642 self.assertIn('887 KNEE/A10003245599 IRM DU GENOU/MR T1W_aTSE/MR000000.dcm', z.namelist()) |
640 z = GetArchive(_REMOTE, '/series/%s/archive' % DoGet(_REMOTE, '/series')[0]) | 643 |
644 z = GetArchive(_REMOTE, '/series/%s/archive' % kneeSeries) | |
641 self.assertEqual(1, len(z.namelist())) | 645 self.assertEqual(1, len(z.namelist())) |
646 self.assertIn('MR T1W_aTSE/MR000000.dcm', z.namelist()) | |
642 | 647 |
643 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | 648 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') |
644 brainix = '16738bc3-e47ed42a-43ce044c-a3414a45-cb069bd0' | 649 brainixPatient = '16738bc3-e47ed42a-43ce044c-a3414a45-cb069bd0' |
645 | 650 brainixStudy = '27f7126f-4f66fb14-03f4081b-f9341db2-53925988' |
646 z = GetArchive(_REMOTE, '/patients/%s/archive' % knee) | 651 |
652 z = GetArchive(_REMOTE, '/patients/%s/archive' % kneePatient) | |
647 self.assertEqual(2, len(z.namelist())) | 653 self.assertEqual(2, len(z.namelist())) |
648 | 654 |
655 # archive with 2 patients | |
649 z = PostArchive(_REMOTE, '/tools/create-archive', { | 656 z = PostArchive(_REMOTE, '/tools/create-archive', { |
650 'Resources' : [ brainix, knee ] | 657 'Resources' : [ brainixPatient, kneePatient ] |
651 }) | 658 }) |
652 self.assertEqual(3, len(z.namelist())) | 659 self.assertEqual(3, len(z.namelist())) |
653 | 660 self.assertIn('5Yp0E BRAINIX/0 IRM crbrale neurocrne/MR sT2WFLAIR/MR000000.dcm', z.namelist()) |
654 z = PostArchive(_REMOTE, '/patients/%s/archive' % knee, { | 661 self.assertIn('887 KNEE/A10003245599 IRM DU GENOU/MR T1W_aTSE/MR000000.dcm', z.namelist()) |
662 | |
663 z = PostArchive(_REMOTE, '/patients/%s/archive' % kneePatient, { | |
655 'Synchronous' : True | 664 'Synchronous' : True |
656 }) | 665 }) |
657 self.assertEqual(2, len(z.namelist())) | 666 self.assertEqual(2, len(z.namelist())) |
658 | 667 |
668 # archive with 2 studies | |
669 z = PostArchive(_REMOTE, '/tools/create-archive', { | |
670 'Resources' : [ brainixStudy, kneeStudy ] | |
671 }) | |
672 self.assertEqual(3, len(z.namelist())) | |
673 self.assertIn('5Yp0E BRAINIX/0 IRM crbrale neurocrne/MR sT2WFLAIR/MR000000.dcm', z.namelist()) | |
674 self.assertIn('887 KNEE/A10003245599 IRM DU GENOU/MR T1W_aTSE/MR000000.dcm', z.namelist()) | |
675 | |
676 # archive with 1 patient & 1 study | |
677 z = PostArchive(_REMOTE, '/tools/create-archive', { | |
678 'Resources' : [ brainixPatient, kneeStudy ] | |
679 }) | |
680 self.assertEqual(3, len(z.namelist())) | |
681 self.assertIn('5Yp0E BRAINIX/0 IRM crbrale neurocrne/MR sT2WFLAIR/MR000000.dcm', z.namelist()) | |
682 self.assertIn('887 KNEE/A10003245599 IRM DU GENOU/MR T1W_aTSE/MR000000.dcm', z.namelist()) | |
683 | |
684 | |
685 def test_archive_with_patient_ids_collision(self): | |
686 if IsOrthancVersionAbove(_REMOTE, 1, 12, 2): | |
687 # one PatientID: COMMON | |
688 # 2 PatientName: HELLO & WORLD | |
689 | |
690 hello = UploadInstance(_REMOTE, 'PatientIdsCollision/Image1.dcm') | |
691 world = UploadInstance(_REMOTE, 'PatientIdsCollision/Image2.dcm') | |
692 helloStudy = hello['ParentStudy'] | |
693 worldStudy = world['ParentStudy'] | |
694 helloPatient = hello['ParentPatient'] | |
695 worldPatient = world['ParentPatient'] | |
696 | |
697 self.assertEqual(helloPatient, worldPatient) | |
698 | |
699 # when downloading the Patient, we do not really know what PatientName we will get in the zip | |
700 z = GetArchive(_REMOTE, '/patients/%s/archive' % helloPatient) | |
701 self.assertEqual(2, len(z.namelist())) | |
702 | |
703 # when downloading studies individually, we want to have the PatientName that appears in the study | |
704 z = GetArchive(_REMOTE, '/studies/%s/archive' % helloStudy) | |
705 self.assertEqual(1, len(z.namelist())) | |
706 self.assertIn('COMMON HELLO/HELLO SERIES/Unknown Series/00000000.dcm', z.namelist()) | |
707 | |
708 z = GetArchive(_REMOTE, '/studies/%s/archive' % worldStudy) | |
709 self.assertEqual(1, len(z.namelist())) | |
710 self.assertIn('COMMON WORLD/WORLD SERIES/Unknown Series/00000000.dcm', z.namelist()) | |
711 | |
712 | |
659 | 713 |
660 def test_media_archive(self): | 714 def test_media_archive(self): |
661 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | 715 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') |
662 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') | 716 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') |
663 | 717 |