Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 411:8cf866641fa7
testing bulk deletion
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 16 Jun 2021 17:38:11 +0200 |
parents | d0c6afc1ff68 |
children | cd9da28451cc |
comparison
equal
deleted
inserted
replaced
410:d0c6afc1ff68 | 411:8cf866641fa7 |
---|---|
7255 | 7255 |
7256 | 7256 |
7257 def test_bulk_modify(self): | 7257 def test_bulk_modify(self): |
7258 # New in Orthanc 1.9.4 | 7258 # New in Orthanc 1.9.4 |
7259 | 7259 |
7260 def GetModified(result, resourceType, expectedCount = None): | 7260 def GetModified(lst, resourceType, expectedCount = None): |
7261 m = map(lambda x: x['ID'], filter(lambda x: x['Type'] == resourceType, a['Resources'])) | 7261 m = map(lambda x: x['ID'], filter(lambda x: x['Type'] == resourceType, lst['Resources'])) |
7262 if expectedCount != None: | 7262 if expectedCount != None: |
7263 self.assertEqual(expectedCount, len(m)) | 7263 self.assertEqual(expectedCount, len(m)) |
7264 return m | 7264 return m |
7265 | 7265 |
7266 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID'] | 7266 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID'] |
7275 self.assertNotEqual(instance, GetModified(a, 'Instance', 1) [0]) | 7275 self.assertNotEqual(instance, GetModified(a, 'Instance', 1) [0]) |
7276 self.assertEqual(series, GetModified(a, 'Series', 1) [0]) | 7276 self.assertEqual(series, GetModified(a, 'Series', 1) [0]) |
7277 self.assertEqual(study, GetModified(a, 'Study', 1) [0]) | 7277 self.assertEqual(study, GetModified(a, 'Study', 1) [0]) |
7278 self.assertEqual(patient, GetModified(a, 'Patient', 1) [0]) | 7278 self.assertEqual(patient, GetModified(a, 'Patient', 1) [0]) |
7279 | 7279 |
7280 a = DoPost(_REMOTE, '/tools/bulk-anonymize', { | 7280 b = DoPost(_REMOTE, '/tools/bulk-anonymize', { |
7281 'Resources' : [ instance ] | 7281 'Resources' : [ instance ] |
7282 }) | 7282 }) |
7283 | 7283 |
7284 self.assertNotEqual(instance, GetModified(a, 'Instance', 1) [0]) | 7284 self.assertNotEqual(instance, GetModified(b, 'Instance', 1) [0]) |
7285 self.assertNotEqual(series, GetModified(a, 'Series', 1) [0]) | 7285 self.assertNotEqual(series, GetModified(b, 'Series', 1) [0]) |
7286 self.assertNotEqual(study, GetModified(a, 'Study', 1) [0]) | 7286 self.assertNotEqual(study, GetModified(b, 'Study', 1) [0]) |
7287 self.assertNotEqual(patient, GetModified(a, 'Patient', 1) [0]) | 7287 self.assertNotEqual(patient, GetModified(b, 'Patient', 1) [0]) |
7288 | 7288 |
7289 self.assertEqual(3, len(DoGet(_REMOTE, '/instances'))) | 7289 self.assertEqual(3, len(DoGet(_REMOTE, '/instances'))) |
7290 self.assertEqual(2, len(DoGet(_REMOTE, '/series'))) | 7290 self.assertEqual(2, len(DoGet(_REMOTE, '/series'))) |
7291 self.assertEqual(2, len(DoGet(_REMOTE, '/studies'))) | 7291 self.assertEqual(2, len(DoGet(_REMOTE, '/studies'))) |
7292 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | 7292 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) |
7293 | 7293 |
7294 DropOrthanc(_REMOTE) | 7294 DoPost(_REMOTE, '/tools/bulk-delete', { |
7295 UploadInstance(_REMOTE, 'DummyCT.dcm') | 7295 'Resources' : GetModified(b, 'Patient', 1) + GetModified(a, 'Instance', 1) |
7296 }) | |
7297 | |
7296 knee1 = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') ['ID'] | 7298 knee1 = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') ['ID'] |
7297 knee2 = UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') ['ID'] | 7299 knee2 = UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') ['ID'] |
7298 brainix = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') ['ID'] | 7300 brainix = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') ['ID'] |
7299 | 7301 |
7300 self.assertEqual(4, len(DoGet(_REMOTE, '/instances'))) | 7302 self.assertEqual(4, len(DoGet(_REMOTE, '/instances'))) |
7331 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'] in b) | 7333 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'] in b) |
7332 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % brainix) ['ID'] in b) | 7334 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % brainix) ['ID'] in b) |
7333 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % knee2) ['ID'] in b) | 7335 self.assertTrue(DoGet(_REMOTE, '/instances/%s/patient' % knee2) ['ID'] in b) |
7334 self.assertFalse(DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID'] in b) | 7336 self.assertFalse(DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID'] in b) |
7335 | 7337 |
7336 DropOrthanc(_REMOTE) | 7338 DoPost(_REMOTE, '/tools/bulk-delete', { |
7337 UploadInstance(_REMOTE, 'DummyCT.dcm') | 7339 'Resources' : GetModified(a, 'Instance', 2) |
7338 knee1 = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm') ['ID'] | 7340 }) |
7339 knee2 = UploadInstance(_REMOTE, 'Knee/T2/IM-0001-0001.dcm') ['ID'] | |
7340 brainix = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm') ['ID'] | |
7341 | 7341 |
7342 sourceInstances = DoGet(_REMOTE, '/instances') | 7342 sourceInstances = DoGet(_REMOTE, '/instances') |
7343 sourceSeries = DoGet(_REMOTE, '/series') | 7343 sourceSeries = DoGet(_REMOTE, '/series') |
7344 sourceStudies = DoGet(_REMOTE, '/studies') | 7344 sourceStudies = DoGet(_REMOTE, '/studies') |
7345 sourcePatients = DoGet(_REMOTE, '/patients') | 7345 sourcePatients = DoGet(_REMOTE, '/patients') |
7370 self.assertTrue(DoGet(_REMOTE, '/studies/%s/metadata/AnonymizedFrom' % i) in sourceStudies) | 7370 self.assertTrue(DoGet(_REMOTE, '/studies/%s/metadata/AnonymizedFrom' % i) in sourceStudies) |
7371 | 7371 |
7372 for i in GetModified(a, 'Patient', 2): | 7372 for i in GetModified(a, 'Patient', 2): |
7373 self.assertFalse(i in sourcePatients) | 7373 self.assertFalse(i in sourcePatients) |
7374 self.assertTrue(DoGet(_REMOTE, '/patients/%s/metadata/AnonymizedFrom' % i) in sourcePatients) | 7374 self.assertTrue(DoGet(_REMOTE, '/patients/%s/metadata/AnonymizedFrom' % i) in sourcePatients) |
7375 | |
7376 DoPost(_REMOTE, '/tools/bulk-delete', { | |
7377 'Resources' : GetModified(a, 'Patient', 2) | |
7378 }) | |
7379 | |
7380 self.assertEqual(4, len(DoGet(_REMOTE, '/instances'))) | |
7381 self.assertEqual(4, len(DoGet(_REMOTE, '/series'))) | |
7382 self.assertEqual(3, len(DoGet(_REMOTE, '/studies'))) | |
7383 self.assertEqual(3, len(DoGet(_REMOTE, '/patients'))) | |
7384 | |
7385 DoPost(_REMOTE, '/tools/bulk-delete', { | |
7386 'Resources' : [ instance, | |
7387 DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'], | |
7388 DoGet(_REMOTE, '/instances/%s/series' % brainix) ['ID'] ] | |
7389 }) | |
7390 | |
7391 self.assertEqual(0, len(DoGet(_REMOTE, '/instances'))) | |
7392 self.assertEqual(0, len(DoGet(_REMOTE, '/series'))) | |
7393 self.assertEqual(0, len(DoGet(_REMOTE, '/studies'))) | |
7394 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) |