comparison Plugins/DicomWeb/Run.py @ 549:bcd87bf59630

fix DICOMweb tests: test_allowed_methods and test_bitbucket_issue_143
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 23 Jun 2023 19:09:35 +0200
parents 8722f7f95a38
children c8d2775f0d02
comparison
equal deleted inserted replaced
547:7de5fd295025 549:bcd87bf59630
724 a['00081198']['Value'][0]['00081197']['Value'][0]) 724 a['00081198']['Value'][0]['00081197']['Value'][0])
725 725
726 726
727 def test_allowed_methods(self): 727 def test_allowed_methods(self):
728 self.assertEqual(0, len(DoGet(ORTHANC, '/dicom-web/studies'))) 728 self.assertEqual(0, len(DoGet(ORTHANC, '/dicom-web/studies')))
729 729
730 with self.assertRaises(Exception) as e: 730 e = DoPutRaw(ORTHANC, '/dicom-web/studies')
731 DoPut(ORTHANC, '/dicom-web/studies') 731 self.assertEqual(405, int(e[0]['status']))
732 732 self.assertEqual('GET,POST', e[0]['allow'])
733 self.assertEqual(405, e.exception[0]) 733
734 self.assertEqual("GET,POST", e.exception[1]['allow']) 734 e = DoDeleteRaw(ORTHANC, '/dicom-web/studies')
735 735 self.assertEqual(405, int(e[0]['status']))
736 with self.assertRaises(Exception) as e: 736 self.assertEqual('GET,POST', e[0]['allow'])
737 DoDelete(ORTHANC, '/dicom-web/studies')
738
739 self.assertEqual(405, e.exception[0])
740 self.assertEqual("GET,POST", e.exception[1]['allow'])
741 737
742 738
743 def test_add_server(self): 739 def test_add_server(self):
744 try: 740 try:
745 DoDelete(ORTHANC, '/dicom-web/servers/hello') 741 DoDelete(ORTHANC, '/dicom-web/servers/hello')
809 # WADO-RS metadata request returns "500 Internal Server Error" 805 # WADO-RS metadata request returns "500 Internal Server Error"
810 # instead of "404 Not Found" for missing instance 806 # instead of "404 Not Found" for missing instance
811 # https://bugs.orthanc-server.com/show_bug.cgi?id=143 807 # https://bugs.orthanc-server.com/show_bug.cgi?id=143
812 UploadInstance(ORTHANC, 'Issue143.dcm') 808 UploadInstance(ORTHANC, 'Issue143.dcm')
813 809
814 try: 810 e = DoGetRaw(ORTHANC, '/dicom-web/studies/1.2.840.113619.2.55.3.671756986.106.1316467036.460/series/1.2.840.113619.2.55.3.671756986.106.1316467036.465/instances/0.0.0.0.0/metadata')
815 DoGet(ORTHANC, '/dicom-web/studies/1.2.840.113619.2.55.3.671756986.106.1316467036.460/series/1.2.840.113619.2.55.3.671756986.106.1316467036.465/instances/0.0.0.0.0/metadata') 811 self.assertEqual(404, int(e[0]['status']))
816 self.assertFail()
817 except Exception as e:
818 self.assertEqual(404, e[0])
819 812
820 DoGet(ORTHANC, '/dicom-web/studies/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.2/series/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.3/instances/1.2.276.0.7230010.3.1.4.253549293.36648.1555586123.754/metadata') 813 DoGet(ORTHANC, '/dicom-web/studies/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.2/series/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.3/instances/1.2.276.0.7230010.3.1.4.253549293.36648.1555586123.754/metadata')
821 814
822 try: 815 e = DoGetRaw(ORTHANC, '/dicom-web/studies/0.0.0.0.0/series/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.3/instances/1.2.276.0.7230010.3.1.4.253549293.36648.1555586123.754/metadata')
823 DoGet(ORTHANC, '/dicom-web/studies/0.0.0.0.0/series/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.3/instances/1.2.276.0.7230010.3.1.4.253549293.36648.1555586123.754/metadata') 816 self.assertEqual(404, int(e[0]['status']))
824 self.fail() 817
825 except Exception as e: 818 e = DoGetRaw(ORTHANC, '/dicom-web/studies/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.2/series/0.0.0.0.0/instances/1.2.276.0.7230010.3.1.4.253549293.36648.1555586123.754/metadata')
826 self.assertEqual(404, e[0]) 819 self.assertEqual(404, int(e[0]['status']))
827 820
828 try: 821 e = DoGetRaw(ORTHANC, '/dicom-web/studies/0.0.0.0.0/series/0.0.0.0.0/instances/0.0.0.0.0/metadata')
829 DoGet(ORTHANC, '/dicom-web/studies/1.3.6.1.4.1.34261.90254037371867.41912.1553085024.2/series/0.0.0.0.0/instances/1.2.276.0.7230010.3.1.4.253549293.36648.1555586123.754/metadata') 822 self.assertEqual(404, int(e[0]['status']))
830 self.assertFail()
831 except Exception as e:
832 self.assertEqual(404, e[0])
833
834 try:
835 DoGet(ORTHANC, '/dicom-web/studies/0.0.0.0.0/series/0.0.0.0.0/instances/0.0.0.0.0/metadata')
836 self.assertFail()
837 except Exception as e:
838 self.assertEqual(404, e[0])
839 823
840 824
841 def test_encodings_qido(self): 825 def test_encodings_qido(self):
842 # The "DefaultEncoding" condifuration option is set to "UTF8" 826 # The "DefaultEncoding" condifuration option is set to "UTF8"
843 # in the integration tests, so all the QIDO-RS requests must 827 # in the integration tests, so all the QIDO-RS requests must
1705 'X-Forwarded-Proto': 'https' 1689 'X-Forwarded-Proto': 'https'
1706 }) 1690 })
1707 self.assertIn("https://my-domain/dicom-web", m[0][u'7FE00010']['BulkDataURI']) 1691 self.assertIn("https://my-domain/dicom-web", m[0][u'7FE00010']['BulkDataURI'])
1708 1692
1709 1693
1710
1711 try: 1694 try:
1712 print('\nStarting the tests...') 1695 print('\nStarting the tests...')
1713 unittest.main(argv = [ sys.argv[0] ] + args.options) 1696 unittest.main(argv = [ sys.argv[0] ] + args.options)
1714 1697
1715 finally: 1698 finally: