comparison Plugins/DicomWeb/Run.py @ 270:082f35cb4459

test_bitbuck_issue_168
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 28 Feb 2020 13:12:40 +0100
parents b8cdb0aef4b9
children d202bfcd7b96
comparison
equal deleted inserted replaced
269:b2d8582b9181 270:082f35cb4459
119 if (sys.version_info >= (3, 0)): 119 if (sys.version_info >= (3, 0)):
120 # Remove annoying warnings about unclosed socket in Python 3 120 # Remove annoying warnings about unclosed socket in Python 3
121 import warnings 121 import warnings
122 warnings.simplefilter("ignore", ResourceWarning) 122 warnings.simplefilter("ignore", ResourceWarning)
123 123
124 #print("In test: ", self._testMethodName)
125
124 DropOrthanc(ORTHANC) 126 DropOrthanc(ORTHANC)
125 127
126 def test_wado_dicom(self): 128 def test_wado_dicom(self):
127 UploadInstance(ORTHANC, 'Brainix/Flair/IM-0001-0001.dcm') 129 UploadInstance(ORTHANC, 'Brainix/Flair/IM-0001-0001.dcm')
128 130
975 self.assertFalse('00080060' in a[0]) # Modality 977 self.assertFalse('00080060' in a[0]) # Modality
976 self.assertEqual(study, a[0]['0020000D']['Value'][0]) 978 self.assertEqual(study, a[0]['0020000D']['Value'][0])
977 self.assertEqual(series, a[0]['0020000E']['Value'][0]) 979 self.assertEqual(series, a[0]['0020000E']['Value'][0])
978 980
979 981
982 #@unittest.skip("Skip this test on GDCM 2.8.4")
980 def test_bitbucket_issue_164(self): 983 def test_bitbucket_issue_164(self):
984 # WARNING - This makes GDCM 2.8.4 crash
981 # https://bitbucket.org/sjodogne/orthanc/issues/164 985 # https://bitbucket.org/sjodogne/orthanc/issues/164
982 UploadInstance(ORTHANC, 'Issue164.dcm') 986 UploadInstance(ORTHANC, 'Issue164.dcm')
983 987
984 p = DoGetMultipart(ORTHANC, 'dicom-web/studies/1.2.276.0.26.1.1.1.2.2020.45.52293.1506048/series/1.2.276.0.26.1.1.1.2.2020.45.52293.6384450/instances/1.2.276.0.26.1.1.1.2.2020.45.52366.2551599.179568640/frames/5') 988 p = DoGetMultipart(ORTHANC, 'dicom-web/studies/1.2.276.0.26.1.1.1.2.2020.45.52293.1506048/series/1.2.276.0.26.1.1.1.2.2020.45.52293.6384450/instances/1.2.276.0.26.1.1.1.2.2020.45.52366.2551599.179568640/frames/5')
985 self.assertEqual(1, len(p)) 989 self.assertEqual(1, len(p))
986 self.assertEqual(743 * 975 * 3, len(p[0])) 990 self.assertEqual(743 * 975 * 3, len(p[0]))
987 991
988 992
993 def test_bitbuck_issue_168(self):
994 # "Plugins can't read private tags from the configuration file"
995 # This test will fail if DCMTK <= 3.6.1 (e.g. on Ubuntu 16.04)
996 # https://bitbucket.org/sjodogne/orthanc/issues/168/
997
998 UploadInstance(ORTHANC, 'Issue168.dcm')
999
1000 a = DoGet(ORTHANC, '/dicom-web/studies')
1001 self.assertEqual(1, len(a))
1002 self.assertFalse('00090010' in a[0])
1003 self.assertFalse('00091001' in a[0])
1004 self.assertEqual('20170404', a[0]['00080020']['Value'][0])
1005
1006 a = DoGet(ORTHANC, '/dicom-web/studies?includefield=00091001')
1007 self.assertEqual(1, len(a))
1008 self.assertFalse('00090010' in a[0])
1009 self.assertTrue('00091001' in a[0])
1010 self.assertEqual('DS', a[0]['00091001']['vr'])
1011 self.assertEqual(1, len(a[0]['00091001']['Value']))
1012 self.assertAlmostEqual(98.41, a[0]['00091001']['Value'][0])
1013
1014 a = DoGet(ORTHANC, '/dicom-web/studies?00090010=Lunit&includefield=00091001')
1015 self.assertEqual(1, len(a))
1016 self.assertTrue('00090010' in a[0])
1017 self.assertEqual('LO', a[0]['00090010']['vr'])
1018 self.assertEqual(1, len(a[0]['00090010']['Value']))
1019 self.assertEqual('Lunit', a[0]['00090010']['Value'][0])
1020 self.assertTrue('00091001' in a[0])
1021 self.assertEqual('DS', a[0]['00091001']['vr'])
1022 self.assertEqual(1, len(a[0]['00091001']['Value']))
1023 self.assertAlmostEqual(98.41, a[0]['00091001']['Value'][0])
1024
1025 a = DoGet(ORTHANC, '/dicom-web/studies?00090010=Lunit2&includefield=00091001')
1026 self.assertEqual(0, len(a))
1027
1028
989 try: 1029 try:
990 print('\nStarting the tests...') 1030 print('\nStarting the tests...')
991 unittest.main(argv = [ sys.argv[0] ] + args.options) 1031 unittest.main(argv = [ sys.argv[0] ] + args.options)
992 1032
993 finally: 1033 finally: