Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 392:5cbcb4a83b41
fix for revisions of attachments
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 20 Apr 2021 12:28:16 +0200 |
parents | 227d9a932467 |
children | 3019306499c5 |
comparison
equal
deleted
inserted
replaced
391:227d9a932467 | 392:5cbcb4a83b41 |
---|---|
1228 self.assertEqual(2, len(DoGet(_REMOTE, '/patients/%s/attachments' % patient))) | 1228 self.assertEqual(2, len(DoGet(_REMOTE, '/patients/%s/attachments' % patient))) |
1229 self.assertEqual(hello, DoGet(_REMOTE, '/patients/%s/attachments/1025/data' % patient)) | 1229 self.assertEqual(hello, DoGet(_REMOTE, '/patients/%s/attachments/1025/data' % patient)) |
1230 self.assertEqual('world', DoGet(_REMOTE, '/patients/%s/attachments/1026/data' % patient)) | 1230 self.assertEqual('world', DoGet(_REMOTE, '/patients/%s/attachments/1026/data' % patient)) |
1231 DoPost(_REMOTE, '/patients/%s/attachments/1025/verify-md5' % patient) | 1231 DoPost(_REMOTE, '/patients/%s/attachments/1025/verify-md5' % patient) |
1232 DoPost(_REMOTE, '/patients/%s/attachments/1026/verify-md5' % patient) | 1232 DoPost(_REMOTE, '/patients/%s/attachments/1026/verify-md5' % patient) |
1233 DoPut(_REMOTE, '/patients/%s/attachments/1026' % patient, 'world2') | 1233 DoPut(_REMOTE, '/patients/%s/attachments/1026' % patient, 'world2', headers = { |
1234 'If-Match' : '0' | |
1235 }) | |
1234 self.assertEqual('world2', DoGet(_REMOTE, '/patients/%s/attachments/1026/data' % patient)) | 1236 self.assertEqual('world2', DoGet(_REMOTE, '/patients/%s/attachments/1026/data' % patient)) |
1235 | 1237 |
1236 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/instances/%s/attachments/dicom' % instance)) | 1238 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/instances/%s/attachments/dicom' % instance)) |
1237 DoDelete(_REMOTE, '/patients/%s/attachments/1025' % patient) | 1239 DoDelete(_REMOTE, '/patients/%s/attachments/1025' % patient, headers = { |
1240 'If-Match' : '0' | |
1241 }) | |
1238 self.assertEqual(int(DoGet(_REMOTE, '/patients/%s/statistics' % patient)['DiskSize']), | 1242 self.assertEqual(int(DoGet(_REMOTE, '/patients/%s/statistics' % patient)['DiskSize']), |
1239 int(DoGet(_REMOTE, '/statistics')['TotalDiskSize'])) | 1243 int(DoGet(_REMOTE, '/statistics')['TotalDiskSize'])) |
1240 self.assertEqual(int(DoGet(_REMOTE, '/patients/%s/statistics' % patient)['DiskSize']), | 1244 self.assertEqual(int(DoGet(_REMOTE, '/patients/%s/statistics' % patient)['DiskSize']), |
1241 size + int(DoGet(_REMOTE, '/patients/%s/attachments/1026/compressed-size' % patient))) | 1245 size + int(DoGet(_REMOTE, '/patients/%s/attachments/1026/compressed-size' % patient))) |
1242 | 1246 |
1243 self.assertEqual(1, len(DoGet(_REMOTE, '/patients/%s/attachments' % patient))) | 1247 self.assertEqual(1, len(DoGet(_REMOTE, '/patients/%s/attachments' % patient))) |
1244 DoDelete(_REMOTE, '/patients/%s/attachments/1026' % patient) | 1248 DoDelete(_REMOTE, '/patients/%s/attachments/1026' % patient, headers = { |
1249 'If-Match' : '0' | |
1250 }) | |
1245 self.assertEqual(0, len(DoGet(_REMOTE, '/patients/%s/attachments' % patient))) | 1251 self.assertEqual(0, len(DoGet(_REMOTE, '/patients/%s/attachments' % patient))) |
1246 | 1252 |
1247 self.assertEqual(int(DoGet(_REMOTE, '/patients/%s/statistics' % patient)['DiskSize']), size) | 1253 self.assertEqual(int(DoGet(_REMOTE, '/patients/%s/statistics' % patient)['DiskSize']), size) |
1248 self.assertEqual(size, int(DoGet(_REMOTE, '/statistics')['TotalDiskSize'])) | 1254 self.assertEqual(size, int(DoGet(_REMOTE, '/statistics')['TotalDiskSize'])) |
1249 | 1255 |
3444 | 3450 |
3445 # Cannot delete the "DICOM" attachment | 3451 # Cannot delete the "DICOM" attachment |
3446 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/instances/%s/attachments/dicom' % instance)) | 3452 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/instances/%s/attachments/dicom' % instance)) |
3447 | 3453 |
3448 # Can delete the "DICOM as JSON" attachment | 3454 # Can delete the "DICOM as JSON" attachment |
3449 r = DoDelete(_REMOTE, '/instances/%s/attachments/dicom-as-json' % instance) | 3455 if not IsOrthancVersionAbove(_REMOTE, 1, 9, 1): |
3450 self.assertTrue(type(r) is dict and len(r) == 0) | 3456 r = DoDelete(_REMOTE, '/instances/%s/attachments/dicom-as-json' % instance) |
3457 self.assertTrue(type(r) is dict and len(r) == 0) | |
3451 | 3458 |
3452 # Only the "DICOM" attachment subsists | 3459 # Only the "DICOM" attachment subsists |
3453 self.assertEqual(1, len(DoGet(_REMOTE, '/instances/%s/attachments' % instance))) | 3460 self.assertEqual(1, len(DoGet(_REMOTE, '/instances/%s/attachments' % instance))) |
3454 | 3461 |
3455 # Cannot manually reconstruct the "DICOM as JSON" attachment | 3462 # Cannot manually reconstruct the "DICOM as JSON" attachment |
6571 | 6578 |
6572 instance = DoGet(_REMOTE, '/instances/%s' % a) | 6579 instance = DoGet(_REMOTE, '/instances/%s' % a) |
6573 self.assertEqual(tags['0008,0018'], instance['MainDicomTags']['SOPInstanceUID']) | 6580 self.assertEqual(tags['0008,0018'], instance['MainDicomTags']['SOPInstanceUID']) |
6574 | 6581 |
6575 | 6582 |
6576 def test_revisions(self): | 6583 def test_revisions_metadata(self): |
6577 # This test fails on Orthanc <= 1.9.1 (support for revisions | 6584 # This test fails on Orthanc <= 1.9.1 (support for revisions |
6578 # was introduced in 1.9.2), or if configuration option | 6585 # was introduced in 1.9.2), or if configuration option |
6579 # "CheckRevisions" is "False". Conventions for HTTP headers | 6586 # "CheckRevisions" is "False". Conventions for HTTP headers |
6580 # related to revisions mimic CouchDB: | 6587 # related to revisions mimic CouchDB: |
6581 # https://docs.couchdb.org/en/stable/api/document/common.html | 6588 # https://docs.couchdb.org/en/stable/api/document/common.html |