Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 644:5806bd442a37 large-queries
new tests for /extended-api-v1/changes
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Thu, 11 Apr 2024 19:04:16 +0200 |
parents | 9f8276ac1cdd |
children | 599ff47f609d |
comparison
equal
deleted
inserted
replaced
643:aa11ab24ff3c | 644:5806bd442a37 |
---|---|
622 self.assertEqual(50, countInstances) | 622 self.assertEqual(50, countInstances) |
623 self.assertEqual(1, countPatients) | 623 self.assertEqual(1, countPatients) |
624 self.assertEqual(1, countStudies) | 624 self.assertEqual(1, countStudies) |
625 self.assertEqual(2, countSeries) | 625 self.assertEqual(2, countSeries) |
626 self.assertEqual(0, completed) | 626 self.assertEqual(0, completed) |
627 | |
628 | |
629 def test_changes_extended(self): | |
630 if IsOrthancVersionAbove(_REMOTE, 1, 13, 0) and DoGet(_REMOTE, '/system').get("HasExtendedApiV1"): | |
631 # Check emptiness | |
632 c = DoGet(_REMOTE, '/extended-api-v1/changes') | |
633 self.assertEqual(0, len(c['Changes'])) | |
634 #self.assertEqual(0, c['Last']) # Not true anymore for Orthanc >= 1.5.2 | |
635 self.assertTrue(c['Done']) | |
636 c = DoGet(_REMOTE, '/extended-api-v1/changes?last') | |
637 self.assertEqual(0, len(c['Changes'])) | |
638 #self.assertEqual(0, c['Last']) # Not true anymore for Orthanc >= 1.5.2 | |
639 self.assertTrue(c['Done']) | |
640 | |
641 # Add 1 instance | |
642 i = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm')['ID'] | |
643 c = DoGet(_REMOTE, '/extended-api-v1/changes') | |
644 begin = c['Last'] | |
645 self.assertEqual(4, len(c['Changes'])) | |
646 self.assertTrue(c['Done']) | |
647 self.assertEqual(c['Changes'][-1]['Seq'], c['Last']) | |
648 | |
649 # Check the order in which the creation events are reported | |
650 self.assertEqual(c['Changes'][0]['ChangeType'], 'NewInstance') | |
651 self.assertEqual(c['Changes'][1]['ChangeType'], 'NewSeries') | |
652 self.assertEqual(c['Changes'][2]['ChangeType'], 'NewStudy') | |
653 self.assertEqual(c['Changes'][3]['ChangeType'], 'NewPatient') | |
654 | |
655 c = DoGet(_REMOTE, '/extended-api-v1/changes?type=NewInstance') | |
656 self.assertEqual(1, len(c['Changes'])) | |
657 self.assertEqual(begin-3, c['Last']) | |
658 | |
659 c = DoGet(_REMOTE, '/extended-api-v1/changes?type=NewPatient') | |
660 self.assertEqual(1, len(c['Changes'])) | |
661 self.assertEqual(begin, c['Last']) | |
662 | |
663 UploadFolder(_REMOTE, 'Knee/T1') | |
664 UploadFolder(_REMOTE, 'Knee/T2') | |
665 | |
666 # 1000 New Instance changes -> all 50 shall be reported | |
667 c = DoGet(_REMOTE, '/extended-api-v1/changes', { 'type': 'NewInstance', 'since' : begin, 'limit' : 1000 }) | |
668 self.assertEqual(50, len(c['Changes'])) | |
669 self.assertLess(begin, c['Changes'][0]['Seq']) | |
670 self.assertTrue(c['Done']) | |
671 lastFromAll = c['Last'] | |
672 | |
673 # Only 10 New Instance changes -> only 10 shall be reported | |
674 c = DoGet(_REMOTE, '/extended-api-v1/changes', { 'type': 'NewInstance', 'since' : begin, 'limit' : 10 }) | |
675 self.assertEqual(10, len(c['Changes'])) | |
676 self.assertFalse(c['Done']) | |
677 lastFrom10 = c['Last'] | |
678 self.assertLess(lastFrom10, lastFromAll) | |
679 | |
680 # between begin and begin+10 with a max of 10 and a filter -> less than 10 NewInstance since there are other changes in this range | |
681 c = DoGet(_REMOTE, '/extended-api-v1/changes', { 'type': 'NewInstance', 'since' : begin, 'to': begin+10, 'limit' : 10 }) | |
682 self.assertLess(len(c['Changes']), 10) | |
683 self.assertTrue(c['Done']) # we have received ALL NewInstance that are between since and to so we consider it's done | |
684 lastFrom10 = c['Last'] | |
685 self.assertLess(lastFrom10, lastFromAll) | |
686 | |
687 # test with only 'to' -> all 50 shall be reported | |
688 c = DoGet(_REMOTE, '/extended-api-v1/changes', { 'type': 'NewInstance', 'to': lastFromAll, 'limit' : 50 }) | |
689 self.assertEqual(lastFromAll, c['Changes'][-1]['Seq']) | |
690 self.assertEqual(50, len(c['Changes'])) | |
691 self.assertFalse(c['Done']) | |
692 lastFromTo = c['Last'] | |
693 self.assertLess(lastFrom10, lastFromTo) | |
627 | 694 |
628 | 695 |
629 def test_archive(self): | 696 def test_archive(self): |
630 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | 697 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') |
631 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') | 698 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') |