comparison Tests/Tests.py @ 187:770f6f5aea16

test_async_archive
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 06 Dec 2018 12:42:38 +0100
parents 8feebc2bf9fc
children 7d585263808b
comparison
equal deleted inserted replaced
186:8feebc2bf9fc 187:770f6f5aea16
3962 'RequestedProcedureDescription', ]): 3962 'RequestedProcedureDescription', ]):
3963 self.assertEqual(a[key], merged[key]) 3963 self.assertEqual(a[key], merged[key])
3964 if (key in b): 3964 if (key in b):
3965 self.assertNotEqual(a[key], b[key]) 3965 self.assertNotEqual(a[key], b[key])
3966 3966
3967
3968 def test_async_archive(self):
3969 # Testing the asynchronous generation of archives/medias (new
3970 # in Orthanc 1.4.3)
3971 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')
3972 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm')
3973
3974 kneeT1 = '6de73705-c4e65c1b-9d9ea1b5-cabcd8e7-f15e4285'
3975 kneeT2 = 'bbf7a453-0d34251a-03663b55-46bb31b9-ffd74c59'
3976
3977 job = MonitorJob2(_REMOTE, lambda: DoPost
3978 (_REMOTE, '/studies/%s/archive' % kneeT1, {
3979 'Synchronous' : False
3980 }))
3981
3982 z = GetArchive(_REMOTE, '/jobs/%s/archive' % job)
3983 self.assertEqual(1, len(z.namelist()))
3984 self.assertFalse('DICOMDIR' in z.namelist())
3985
3986 job2 = MonitorJob2(_REMOTE, lambda: DoPost
3987 (_REMOTE, '/studies/%s/media' % kneeT1, {
3988 'Synchronous' : False
3989 }))
3990
3991 # The archive from the first job has been replaced by the
3992 # archive from second job (as MediaArchiveSize == 1)
3993 self.assertRaises(Exception, lambda: GetArchive(_REMOTE, '/jobs/%s/archive' % job))
3994
3995 z = GetArchive(_REMOTE, '/jobs/%s/archive' % job2)
3996 self.assertEqual(2, len(z.namelist()))
3997 self.assertTrue('DICOMDIR' in z.namelist())
3998
3999 job = MonitorJob2(_REMOTE, lambda: DoPost
4000 (_REMOTE, '/tools/create-archive', {
4001 'Synchronous' : False,
4002 'Resources' : [ kneeT1, kneeT2 ],
4003 }))
4004
4005 z = GetArchive(_REMOTE, '/jobs/%s/archive' % job)
4006 self.assertEqual(2, len(z.namelist()))
4007 self.assertFalse('DICOMDIR' in z.namelist())
4008
4009 job = MonitorJob2(_REMOTE, lambda: DoPost
4010 (_REMOTE, '/tools/create-media', {
4011 'Synchronous' : False,
4012 'Resources' : [ kneeT1, kneeT2 ],
4013 }))
4014
4015 z = GetArchive(_REMOTE, '/jobs/%s/archive' % job)
4016 self.assertEqual(3, len(z.namelist()))
4017 self.assertTrue('DICOMDIR' in z.namelist())
4018