comparison Tests/Tests.py @ 498:62f37c13d4d0

new tests for modifications after sanity checks cleanup
author Alain Mazy <am@osimis.io>
date Mon, 26 Sep 2022 18:57:27 +0200
parents c8f9a2dd486d
children 5386dfd854b3
comparison
equal deleted inserted replaced
497:c8f9a2dd486d 498:62f37c13d4d0
6285 self.assertEqual(i['ID'], DoGet(_REMOTE, '/instances/%s/metadata?expand' % k[0]) ['ModifiedFrom']) 6285 self.assertEqual(i['ID'], DoGet(_REMOTE, '/instances/%s/metadata?expand' % k[0]) ['ModifiedFrom'])
6286 self.assertEqual('1.2.840.10008.1.2.4.50', GetTransferSyntax( 6286 self.assertEqual('1.2.840.10008.1.2.4.50', GetTransferSyntax(
6287 DoGet(_REMOTE, '/instances/%s/file' % k[0]))) 6287 DoGet(_REMOTE, '/instances/%s/file' % k[0])))
6288 6288
6289 6289
6290 def test_modify_need_force_to_change_uids(self):
6291 def Modify(level, resourceId, replaceTags, force, keepSource):
6292 return DoPost(_REMOTE, '/%s/%s/modify' % (level, resourceId), {
6293 'Replace' : replaceTags,
6294 'Force': force,
6295 'KeepSource' : keepSource
6296 })
6297
6298 self.assertEqual(0, len(DoGet(_REMOTE, '/studies')))
6299
6300 i = UploadInstance(_REMOTE, 'DummyCT.dcm')
6301 self.assertEqual(1, len(DoGet(_REMOTE, '/studies')))
6302
6303 # can not change the StudyInstanceUID unless you force it
6304 self.assertRaises(Exception, lambda: Modify('studies', i['ParentStudy'], {'StudyInstanceUID': '1.2'}, force=False, keepSource=True))
6305 Modify('studies', i['ParentStudy'], {'StudyInstanceUID': '1.2'}, force=True, keepSource=True)
6306
6307 # can not change the SeriesInstanceUID unless you force it
6308 self.assertRaises(Exception, lambda: Modify('series', i['ParentSeries'], {'SeriesInstanceUID': '1.2'}, force=False, keepSource=True))
6309 Modify('series', i['ParentSeries'], {'SeriesInstanceUID': '1.2'}, force=True, keepSource=True)
6310
6311 # can not change the SOPInstanceUID unless you force it
6312 self.assertRaises(Exception, lambda: Modify('instances', i['ID'], {'SOPInstanceUID': '1.2'}, force=False, keepSource=True))
6313 Modify('instances', i['ID'], {'SOPInstanceUID': '1.2'}, force=True, keepSource=True)
6314
6315
6316 # can not change the PatientID of a study unless you force it
6317 self.assertRaises(Exception, lambda: Modify('studies', i['ParentStudy'], {'PatientID': 'NEW'}, force=False, keepSource=True))
6318 self.assertRaises(Exception, lambda: Modify('series', i['ParentSeries'], {'StudyInstanceUID': '1.3'}, force=False, keepSource=True))
6319 self.assertRaises(Exception, lambda: Modify('instances', i['ID'], {'SeriesInstanceUID': '1.2'}, force=False, keepSource=True))
6320
6321 if IsOrthancVersionAbove(_REMOTE, 1, 11, 2):
6322 # this was forbidden even with Force=true till 1.11.2 included
6323 Modify('studies', i['ParentStudy'], {'PatientID': 'NEW'}, force=True, keepSource=True)
6324 Modify('series', i['ParentSeries'], {'StudyInstanceUID': '1.3'}, force=True, keepSource=True)
6325 Modify('instances', i['ID'], {'SeriesInstanceUID': '1.2'}, force=True, keepSource=True)
6326
6327
6328
6290 def test_store_peer_transcoding(self): 6329 def test_store_peer_transcoding(self):
6291 i = UploadInstance(_REMOTE, 'KarstenHilbertRF.dcm')['ID'] 6330 i = UploadInstance(_REMOTE, 'KarstenHilbertRF.dcm')['ID']
6292 6331
6293 SYNTAXES = [ 6332 SYNTAXES = [
6294 '1.2.840.10008.1.2', 6333 '1.2.840.10008.1.2',