Mercurial > hg > orthanc-tests
diff Tests/Tests.py @ 3:2dbba2e6aa4b
reorganization
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 17 Jun 2015 10:03:49 +0200 |
parents | |
children | 19eb87a45685 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Tests/Tests.py Wed Jun 17 10:03:49 2015 +0200 @@ -0,0 +1,84 @@ +# Orthanc - A Lightweight, RESTful DICOM Store +# Copyright (C) 2012-2015 Sebastien Jodogne, Medical Physics +# Department, University Hospital of Liege, Belgium +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +import unittest + +from Toolbox import * + +_LOCAL = None +_REMOTE = None + + +def SetOrthancParameters(local, remote): + global _LOCAL, _REMOTE + _LOCAL = local + _REMOTE = remote + + +class Orthanc(unittest.TestCase): + def setUp(self): + DropOrthanc(_LOCAL) + DropOrthanc(_REMOTE) + + def test_system(self): + self.assertTrue('Version' in DoGet(_REMOTE, '/system')) + self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalDiskSize']) + self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalUncompressedSize']) + + def test_upload(self): + u = UploadInstance(_REMOTE, 'DummyCT.dcm') + self.assertEqual('Success', u['Status']) + u = UploadInstance(_REMOTE, 'DummyCT.dcm') + self.assertEqual('AlreadyStored', u['Status']) + self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) + self.assertEqual(1, len(DoGet(_REMOTE, '/studies'))) + self.assertEqual(1, len(DoGet(_REMOTE, '/series'))) + self.assertEqual(1, len(DoGet(_REMOTE, '/instances'))) + + i = DoGet(_REMOTE, '/instances/%s/simplified-tags' % u['ID']) + self.assertEqual('20070101', i['StudyDate']) + + + def test_rest_grid(self): + i = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID'] + instance = DoGet(_REMOTE, '/instances/%s' % i) + self.assertEqual(i, instance['ID']) + self.assertEqual('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', + instance['MainDicomTags']['SOPInstanceUID']) + + series = DoGet(_REMOTE, '/series/%s' % instance['ParentSeries']) + self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.394', + series['MainDicomTags']['SeriesInstanceUID']) + + study = DoGet(_REMOTE, '/studies/%s' % series['ParentStudy']) + self.assertEqual('1.2.840.113619.2.176.2025.1499492.7391.1171285944.390', + study['MainDicomTags']['StudyInstanceUID']) + + patient = DoGet(_REMOTE, '/patients/%s' % study['ParentPatient']) + self.assertEqual('ozp00SjY2xG', + patient['MainDicomTags']['PatientID']) + + dicom = DoGet(_REMOTE, '/instances/%s/file' % instance['ID']) + self.assertEqual(2472, len(dicom)) + self.assertEqual('3e29b869978b6db4886355a2b1132124', ComputeMD5(dicom)) + self.assertEqual(1, len(DoGet(_REMOTE, '/instances/%s/frames' % i))) + self.assertEqual('TWINOW', DoGet(_REMOTE, '/instances/%s/simplified-tags' % i)['StationName']) + self.assertEqual('TWINOW', DoGet(_REMOTE, '/instances/%s/tags' % i)['0008,1010']['Value']) + + +