Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 410:d0c6afc1ff68
test_bulk_modify
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 16 Jun 2021 16:44:15 +0200 |
parents | 4e0b9fddbc71 |
children | 8cf866641fa7 |
comparison
equal
deleted
inserted
replaced
409:19154b57d0ae | 410:d0c6afc1ff68 |
---|---|
7250 | 7250 |
7251 # "Remove" on SharedFunctionalGroupsSequence | 7251 # "Remove" on SharedFunctionalGroupsSequence |
7252 for i in range(3): | 7252 for i in range(3): |
7253 self.assertTrue('0008,1155' in tags1['5200,9229'][0]['0008,1140'][i]) | 7253 self.assertTrue('0008,1155' in tags1['5200,9229'][0]['0008,1140'][i]) |
7254 self.assertFalse('0008,1155' in tags3['5200,9229'][0]['0008,1140'][i]) | 7254 self.assertFalse('0008,1155' in tags3['5200,9229'][0]['0008,1140'][i]) |
7255 | |
7256 | |
7257 def test_bulk_modify(self): | |
7258 # New in Orthanc 1.9.4 | |
7259 | |
7260 def GetModified(result, resourceType, expectedCount = None): | |
7261 m = map(lambda x: x['ID'], filter(lambda x: x['Type'] == resourceType, a['Resources'])) | |
7262 if expectedCount != None: | |
7263 self.assertEqual(expectedCount, len(m)) | |
7264 return m | |
7265 | |
7266 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID'] | |
7267 series = DoGet(_REMOTE, '/series') [0] | |
7268 study = DoGet(_REMOTE, '/studies') [0] | |
7269 patient = DoGet(_REMOTE, '/patients') [0] | |
7270 | |
7271 a = DoPost(_REMOTE, '/tools/bulk-modify', { | |
7272 'Resources' : [ instance ] | |
7273 }) | |
7274 | |
7275 self.assertNotEqual(instance, GetModified(a, 'Instance', 1) [0]) | |
7276 self.assertEqual(series, GetModified(a, 'Series', 1) [0]) | |
7277 self.assertEqual(study, GetModified(a, 'Study', 1) [0]) | |
7278 self.assertEqual(patient, GetModified(a, 'Patient', 1) [0]) | |
7279 | |
7280 a = DoPost(_REMOTE, '/tools/bulk-anonymize', { | |
7281 'Resources' : [ instance ] | |
7282 }) | |
7283 | |
7284 self.assertNotEqual(instance, GetModified(a, 'Instance', 1) [0]) | |
7285 self.assertNotEqual(series, GetModified(a, 'Series', 1) [0]) | |
7286 self.assertNotEqual(study, GetModified(a, 'Study', 1) [0]) | |
7287 self.assertNotEqual(patient, GetModified(a, 'Patient', 1) [0]) | |
7288 | |
7289 self.assertEqual(3, len(DoGet(_REMOTE, '/instances'))) | |
7290 self.assertEqual(2, len(DoGet(_REMOTE, '/series'))) | |
7291 self.assertEqual(2, len(DoGet(_REMOTE, '/studies'))) | |
7292 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | |
7293 | |
7294 DropOrthanc(_REMOTE) | |
7295 UploadInstance(_REMOTE, 'DummyCT.dcm') | |
7296 knee1 = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') ['ID'] | |
7297 knee2 = UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') ['ID'] | |
7298 brainix = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') ['ID'] | |
7299 | |
7300 self.assertEqual(4, len(DoGet(_REMOTE, '/instances'))) | |
7301 self.assertEqual(4, len(DoGet(_REMOTE, '/series'))) | |
7302 self.assertEqual(3, len(DoGet(_REMOTE, '/studies'))) | |
7303 self.assertEqual(3, len(DoGet(_REMOTE, '/patients'))) | |
7304 | |
7305 a = DoPost(_REMOTE, '/tools/bulk-modify', { | |
7306 'Resources' : [ knee1, brainix ] | |
7307 }) | |
7308 | |
7309 self.assertEqual(6, len(DoGet(_REMOTE, '/instances'))) | |
7310 self.assertEqual(4, len(DoGet(_REMOTE, '/series'))) | |
7311 self.assertEqual(3, len(DoGet(_REMOTE, '/studies'))) | |
7312 self.assertEqual(3, len(DoGet(_REMOTE, '/patients'))) | |
7313 | |
7314 for i in GetModified(a, 'Instance', 2): | |
7315 self.assertTrue(not i in [ instance, knee1, knee2, brainix ]) | |
7316 self.assertTrue(DoGet(_REMOTE, '/instances/%s/metadata/ModifiedFrom' % i) in [ knee1, brainix ]) | |
7317 | |
7318 b = GetModified(a, 'Series', 2) | |
7319 self.assertTrue(DoGet(_REMOTE, '/instances/%s/series' % knee1) ['ID'] in b) | |
7320 self.assertTrue(DoGet(_REMOTE, '/instances/%s/series' % brainix) ['ID'] in b) | |
7321 self.assertFalse(DoGet(_REMOTE, '/instances/%s/series' % knee2) ['ID'] in b) | |
7322 self.assertFalse(DoGet(_REMOTE, '/instances/%s/series' % instance) ['ID'] in b) | |
7323 | |
7324 b = GetModified(a, 'Study', 2) | |
7325 self.assertTrue(DoGet(_REMOTE, '/instances/%s/study' % knee1) ['ID'] in b) | |
7326 self.assertTrue(DoGet(_REMOTE, '/instances/%s/study' % brainix) ['ID'] in b) | |
7327 self.assertTrue(DoGet(_REMOTE, '/instances/%s/study' % knee2) ['ID'] in b) | |
7328 self.assertFalse(DoGet(_REMOTE, '/instances/%s/study' % instance) ['ID'] in b) | |
7329 | |
7330 b = GetModified(a, 'Patient', 2) | |
7331 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'] in b) | |
7332 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % brainix) ['ID'] in b) | |
7333 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % knee2) ['ID'] in b) | |
7334 self.assertFalse(DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID'] in b) | |
7335 | |
7336 DropOrthanc(_REMOTE) | |
7337 UploadInstance(_REMOTE, 'DummyCT.dcm') | |
7338 knee1 = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') ['ID'] | |
7339 knee2 = UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') ['ID'] | |
7340 brainix = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') ['ID'] | |
7341 | |
7342 sourceInstances = DoGet(_REMOTE, '/instances') | |
7343 sourceSeries = DoGet(_REMOTE, '/series') | |
7344 sourceStudies = DoGet(_REMOTE, '/studies') | |
7345 sourcePatients = DoGet(_REMOTE, '/patients') | |
7346 self.assertEqual(4, len(sourceInstances)) | |
7347 self.assertEqual(4, len(sourceSeries)) | |
7348 self.assertEqual(3, len(sourceStudies)) | |
7349 self.assertEqual(3, len(sourcePatients)) | |
7350 | |
7351 a = DoPost(_REMOTE, '/tools/bulk-anonymize', { | |
7352 'Resources' : [ knee1, brainix ] | |
7353 }) | |
7354 | |
7355 self.assertEqual(6, len(DoGet(_REMOTE, '/instances'))) | |
7356 self.assertEqual(6, len(DoGet(_REMOTE, '/series'))) | |
7357 self.assertEqual(5, len(DoGet(_REMOTE, '/studies'))) | |
7358 self.assertEqual(5, len(DoGet(_REMOTE, '/patients'))) | |
7359 | |
7360 for i in GetModified(a, 'Instance', 2): | |
7361 self.assertFalse(i in sourceInstances) | |
7362 self.assertTrue(DoGet(_REMOTE, '/instances/%s/metadata/AnonymizedFrom' % i) in [ knee1, brainix ]) | |
7363 | |
7364 for i in GetModified(a, 'Series', 2): | |
7365 self.assertFalse(i in sourceSeries) | |
7366 self.assertTrue(DoGet(_REMOTE, '/series/%s/metadata/AnonymizedFrom' % i) in sourceSeries) | |
7367 | |
7368 for i in GetModified(a, 'Study', 2): | |
7369 self.assertFalse(i in sourceStudies) | |
7370 self.assertTrue(DoGet(_REMOTE, '/studies/%s/metadata/AnonymizedFrom' % i) in sourceStudies) | |
7371 | |
7372 for i in GetModified(a, 'Patient', 2): | |
7373 self.assertFalse(i in sourcePatients) | |
7374 self.assertTrue(DoGet(_REMOTE, '/patients/%s/metadata/AnonymizedFrom' % i) in sourcePatients) |