Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 12:15c166240dfb
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 18 Jun 2015 14:33:01 +0200 |
parents | c660a64ce2dd |
children | 7b69a561f4d3 |
comparison
equal
deleted
inserted
replaced
11:c660a64ce2dd | 12:15c166240dfb |
---|---|
377 self.assertEqual(1, DoGet(_REMOTE, '/patients/%s/protected' % a)) | 377 self.assertEqual(1, DoGet(_REMOTE, '/patients/%s/protected' % a)) |
378 DoPut(_REMOTE, '/patients/%s/protected' % a, '0', 'text/plain') | 378 DoPut(_REMOTE, '/patients/%s/protected' % a, '0', 'text/plain') |
379 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | 379 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) |
380 | 380 |
381 | 381 |
382 def test_private_tags(self): | 382 def test_raw_tags(self): |
383 i = UploadInstance(_REMOTE, 'PrivateTags.dcm')['ID'] | 383 i = UploadInstance(_REMOTE, 'PrivateTags.dcm')['ID'] |
384 | 384 |
385 dicom = DoGet(_REMOTE, '/instances/%s/file' % i) | 385 dicom = DoGet(_REMOTE, '/instances/%s/file' % i) |
386 self.assertEqual('1a7c56cb02d6e742cc9c856a8ac182e3', ComputeMD5(dicom)) | 386 self.assertEqual('1a7c56cb02d6e742cc9c856a8ac182e3', ComputeMD5(dicom)) |
387 | 387 |
391 self.assertRaises(Exception, lambda: DoGet(_REMOTE, s + '0008-1011')) | 391 self.assertRaises(Exception, lambda: DoGet(_REMOTE, s + '0008-1011')) |
392 | 392 |
393 self.assertEqual('Abdomen', DoGet(_REMOTE, s + '7fe1-1001/0/7fe1-1008/0/7fe1-1057').strip()) | 393 self.assertEqual('Abdomen', DoGet(_REMOTE, s + '7fe1-1001/0/7fe1-1008/0/7fe1-1057').strip()) |
394 self.assertEqual('cla_3c', DoGet(_REMOTE, s + '7fe1-1001/0/7fe1-1008/8/7fe1-1057').strip()) | 394 self.assertEqual('cla_3c', DoGet(_REMOTE, s + '7fe1-1001/0/7fe1-1008/8/7fe1-1057').strip()) |
395 | 395 |
396 | |
397 def test_sop_instance_uid(self): | |
398 UploadInstance(_REMOTE, 'Brainix/Epi/IM-0001-0001.dcm') | 396 UploadInstance(_REMOTE, 'Brainix/Epi/IM-0001-0001.dcm') |
399 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | 397 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') |
400 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | 398 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') |
401 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') | 399 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') |
402 | 400 |
742 # http://effbot.org/zone/pil-comparing-images.htm | 740 # http://effbot.org/zone/pil-comparing-images.htm |
743 truth = Image.open(os.path.join(os.path.dirname(__file__), '..', 'Database', 'ColorTestMalaterre.png')) | 741 truth = Image.open(os.path.join(os.path.dirname(__file__), '..', 'Database', 'ColorTestMalaterre.png')) |
744 self.assertTrue(ImageChops.difference(im, truth).getbbox() is None) | 742 self.assertTrue(ImageChops.difference(im, truth).getbbox() is None) |
745 | 743 |
746 | 744 |
745 def test_faking_ruby_put(self): | |
746 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | |
747 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | |
748 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | |
749 a = DoGet(_REMOTE, '/patients')[0] | |
750 b = DoGet(_REMOTE, '/patients')[1] | |
751 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
752 DoGet(_REMOTE, '/patients/%s/protected' % a, data = { '_method' : 'PUT' }, body = '0') | |
753 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
754 DoGet(_REMOTE, '/patients/%s/protected' % a, data = { '_method' : 'PUT' }, body = '1') | |
755 self.assertEqual(1, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
756 DoGet(_REMOTE, '/patients/%s/protected' % a, data = { '_method' : 'PUT' }, body = '0') | |
757 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
758 | |
759 | |
760 def test_faking_ruby_delete(self): | |
761 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | |
762 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | |
763 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | |
764 a = DoGet(_REMOTE, '/patients')[0] | |
765 b = DoGet(_REMOTE, '/patients')[1] | |
766 DoGet(_REMOTE, '/patients/%s' % a, data = { '_method' : 'DELETE' }) | |
767 self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) | |
768 DoGet(_REMOTE, '/patients/%s' % b, data = { '_method' : 'DELETE' }) | |
769 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) | |
770 | |
771 | |
772 def test_faking_google_put(self): | |
773 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | |
774 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | |
775 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | |
776 a = DoGet(_REMOTE, '/patients')[0] | |
777 b = DoGet(_REMOTE, '/patients')[1] | |
778 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
779 DoPost(_REMOTE, '/patients/%s/protected' % a, headers = { 'X-HTTP-Method-Override' : 'PUT' }, data = '0') | |
780 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
781 DoPost(_REMOTE, '/patients/%s/protected' % a, headers = { 'X-HTTP-Method-Override' : 'PUT' }, data = '1') | |
782 self.assertEqual(1, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
783 DoPost(_REMOTE, '/patients/%s/protected' % a, headers = { 'X-HTTP-Method-Override' : 'PUT' }, data = '0') | |
784 self.assertEqual(0, DoGet(_REMOTE, '/patients/%s/protected' % a)) | |
785 | |
786 | |
787 def test_faking_google_delete(self): | |
788 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | |
789 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') | |
790 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | |
791 a = DoGet(_REMOTE, '/patients')[0] | |
792 b = DoGet(_REMOTE, '/patients')[1] | |
793 DoPost(_REMOTE, '/patients/%s' % a, headers = { 'X-HTTP-Method-Override' : 'DELETE' }) | |
794 self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) | |
795 DoPost(_REMOTE, '/patients/%s' % b, headers = { 'X-HTTP-Method-Override' : 'DELETE' }) | |
796 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) | |
797 | |
798 | |
799 def test_lua(self): | |
800 self.assertEqual(42, DoPost(_REMOTE, '/tools/execute-script', 'print(42)')) | |
801 self.assertTrue(IsDefinedInLua(_REMOTE, 'PrintRecursive')) | |
802 self.assertFalse(IsDefinedInLua(_REMOTE, 'HelloWorld')) | |
803 | |
804 | |
805 def test_metadata(self): | |
806 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') | |
807 p = DoGet(_REMOTE, '/patients')[0] | |
808 i = DoGet(_REMOTE, '/instances')[0] | |
809 | |
810 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | |
811 self.assertEqual(1, len(m)) | |
812 self.assertEqual('LastUpdate', m[0]) | |
813 | |
814 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) | |
815 self.assertEqual(3, len(m)) | |
816 self.assertTrue('IndexInSeries' in m) | |
817 self.assertTrue('ReceptionDate' in m) | |
818 self.assertTrue('RemoteAET' in m) | |
819 | |
820 # Play with custom metadata | |
821 DoPut(_REMOTE, '/patients/%s/metadata/5555' % p, 'coucou') | |
822 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | |
823 self.assertEqual(2, len(m)) | |
824 self.assertTrue('LastUpdate' in m) | |
825 self.assertTrue('5555' in m) | |
826 self.assertEqual('coucou', DoGet(_REMOTE, '/patients/%s/metadata/5555' % p)) | |
827 DoPut(_REMOTE, '/patients/%s/metadata/5555' % p, 'hello') | |
828 self.assertEqual('hello', DoGet(_REMOTE, '/patients/%s/metadata/5555' % p)) | |
829 DoDelete(_REMOTE, '/patients/%s/metadata/5555' % p) | |
830 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | |
831 self.assertEqual(1, len(m)) | |
832 self.assertTrue('LastUpdate' in m) |