Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 451:33051f9ac850 more-tags
new metadata MainDicomTagsSignature
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 10 Mar 2022 12:07:54 +0100 |
parents | 06eea14c5906 |
children | 45dd181b0f17 |
comparison
equal
deleted
inserted
replaced
450:eb46265e214f | 451:33051f9ac850 |
---|---|
1113 p = DoGet(_REMOTE, '/patients')[0] | 1113 p = DoGet(_REMOTE, '/patients')[0] |
1114 i = DoGet(_REMOTE, '/instances')[0] | 1114 i = DoGet(_REMOTE, '/instances')[0] |
1115 series = DoGet(_REMOTE, '/series')[0] | 1115 series = DoGet(_REMOTE, '/series')[0] |
1116 | 1116 |
1117 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | 1117 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) |
1118 self.assertEqual(1, len(m)) | 1118 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1119 self.assertEqual('LastUpdate', m[0]) | 1119 self.assertEqual(2, len(m)) |
1120 self.assertTrue('MainDicomTagsSignature' in m) | |
1121 else: | |
1122 self.assertEqual(1, len(m)) | |
1123 self.assertTrue('LastUpdate' in m) | |
1120 | 1124 |
1121 # The lines below failed on Orthanc <= 1.8.2 | 1125 # The lines below failed on Orthanc <= 1.8.2 |
1122 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/studies/%s/metadata' % p)) | 1126 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/studies/%s/metadata' % p)) |
1123 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/series/%s/metadata' % p)) | 1127 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/series/%s/metadata' % p)) |
1124 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/metadata' % p)) | 1128 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/metadata' % p)) |
1125 | 1129 |
1126 m = DoGet(_REMOTE, '/studies/%s/metadata' % DoGet(_REMOTE, '/studies')[0]) | 1130 m = DoGet(_REMOTE, '/studies/%s/metadata' % DoGet(_REMOTE, '/studies')[0]) |
1127 self.assertEqual(1, len(m)) | 1131 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1128 self.assertEqual('LastUpdate', m[0]) | 1132 self.assertEqual(2, len(m)) |
1133 self.assertTrue('MainDicomTagsSignature' in m) | |
1134 else: | |
1135 self.assertEqual(1, len(m)) | |
1136 self.assertTrue('LastUpdate' in m) | |
1129 | 1137 |
1130 m = DoGet(_REMOTE, '/series/%s/metadata' % series) | 1138 m = DoGet(_REMOTE, '/series/%s/metadata' % series) |
1131 self.assertEqual(2, len(m)) | 1139 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1140 self.assertEqual(3, len(m)) | |
1141 self.assertTrue('MainDicomTagsSignature' in m) | |
1142 else: | |
1143 self.assertEqual(2, len(m)) | |
1132 self.assertTrue('LastUpdate' in m) | 1144 self.assertTrue('LastUpdate' in m) |
1133 | 1145 |
1134 # New in Orthanc 1.9.0 | 1146 # New in Orthanc 1.9.0 |
1135 self.assertTrue('RemoteAET' in m) | 1147 self.assertTrue('RemoteAET' in m) |
1136 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), '') # None, received by REST API | 1148 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), '') # None, received by REST API |
1137 | 1149 |
1138 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) | 1150 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) |
1139 if IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | 1151 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1152 self.assertEqual(10, len(m)) | |
1153 self.assertTrue('MainDicomTagsSignature' in m) | |
1154 elif IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | |
1140 self.assertEqual(9, len(m)) | 1155 self.assertEqual(9, len(m)) |
1141 self.assertTrue('PixelDataOffset' in m) # New in Orthanc 1.9.1 | 1156 self.assertTrue('PixelDataOffset' in m) # New in Orthanc 1.9.1 |
1142 self.assertEqual(int(DoGet(_REMOTE, '/instances/%s/metadata/PixelDataOffset' % i)), 0x0c78) | 1157 self.assertEqual(int(DoGet(_REMOTE, '/instances/%s/metadata/PixelDataOffset' % i)), 0x0c78) |
1143 else: | 1158 else: |
1144 self.assertEqual(8, len(m)) | 1159 self.assertEqual(8, len(m)) |
1167 else: | 1182 else: |
1168 self.assertFalse('ETag' in headers) | 1183 self.assertFalse('ETag' in headers) |
1169 self.assertFalse('etag' in headers) | 1184 self.assertFalse('etag' in headers) |
1170 | 1185 |
1171 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | 1186 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) |
1172 self.assertEqual(2, len(m)) | 1187 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1188 self.assertEqual(3, len(m)) | |
1189 self.assertTrue('MainDicomTagsSignature' in m) | |
1190 else: | |
1191 self.assertEqual(2, len(m)) | |
1173 self.assertTrue('LastUpdate' in m) | 1192 self.assertTrue('LastUpdate' in m) |
1174 self.assertTrue('5555' in m) | 1193 self.assertTrue('5555' in m) |
1175 self.assertEqual('coucou', DoGet(_REMOTE, '/patients/%s/metadata/5555' % p)) | 1194 self.assertEqual('coucou', DoGet(_REMOTE, '/patients/%s/metadata/5555' % p)) |
1176 | 1195 |
1177 if IsOrthancVersionAbove(_REMOTE, 1, 9, 2): | 1196 if IsOrthancVersionAbove(_REMOTE, 1, 9, 2): |
1191 }) | 1210 }) |
1192 else: | 1211 else: |
1193 DoDelete(_REMOTE, '/patients/%s/metadata/5555' % p) | 1212 DoDelete(_REMOTE, '/patients/%s/metadata/5555' % p) |
1194 | 1213 |
1195 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) | 1214 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) |
1196 self.assertEqual(1, len(m)) | 1215 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1216 self.assertEqual(2, len(m)) | |
1217 self.assertTrue('MainDicomTagsSignature' in m) | |
1218 else: | |
1219 self.assertEqual(1, len(m)) | |
1197 self.assertTrue('LastUpdate' in m) | 1220 self.assertTrue('LastUpdate' in m) |
1198 | 1221 |
1199 | 1222 |
1200 def test_statistics(self): | 1223 def test_statistics(self): |
1201 # Upload 16 instances | 1224 # Upload 16 instances |
1334 | 1357 |
1335 i = DoGet(_REMOTE, '/instances') | 1358 i = DoGet(_REMOTE, '/instances') |
1336 self.assertEqual(1, len(i)) | 1359 self.assertEqual(1, len(i)) |
1337 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) | 1360 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) |
1338 | 1361 |
1339 if IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | 1362 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1363 self.assertEqual(10, len(m)) | |
1364 self.assertTrue('MainDicomTagsSignature' in m) # New in Orthanc 1.11.0 | |
1365 elif IsOrthancVersionAbove(_REMOTE, 1, 9, 1): | |
1340 self.assertEqual(9, len(m)) | 1366 self.assertEqual(9, len(m)) |
1341 self.assertTrue('PixelDataOffset' in m) # New in Orthanc 1.9.1 | 1367 self.assertTrue('PixelDataOffset' in m) # New in Orthanc 1.9.1 |
1342 else: | 1368 else: |
1343 self.assertEqual(8, len(m)) | 1369 self.assertEqual(8, len(m)) |
1344 | 1370 |
1356 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i[0]), '1.2.840.10008.1.2.1') | 1382 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i[0]), '1.2.840.10008.1.2.1') |
1357 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/SopClassUid' % i[0]), '1.2.840.10008.5.1.4.1.1.7') | 1383 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/SopClassUid' % i[0]), '1.2.840.10008.5.1.4.1.1.7') |
1358 | 1384 |
1359 series = DoGet(_REMOTE, '/series')[0] | 1385 series = DoGet(_REMOTE, '/series')[0] |
1360 m = DoGet(_REMOTE, '/series/%s/metadata' % series) | 1386 m = DoGet(_REMOTE, '/series/%s/metadata' % series) |
1361 self.assertEqual(2, len(m)) | 1387 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
1388 self.assertEqual(3, len(m)) | |
1389 self.assertTrue('MainDicomTagsSignature' in m) | |
1390 else: | |
1391 self.assertEqual(2, len(m)) | |
1362 self.assertTrue('LastUpdate' in m) | 1392 self.assertTrue('LastUpdate' in m) |
1363 self.assertTrue('RemoteAET' in m) | 1393 self.assertTrue('RemoteAET' in m) |
1364 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), 'STORESCU') | 1394 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/RemoteAET' % series), 'STORESCU') |
1365 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/LastUpdate' % series), | 1395 self.assertEqual(DoGet(_REMOTE, '/series/%s/metadata/LastUpdate' % series), |
1366 DoGet(_REMOTE, '/instances/%s/metadata/ReceptionDate' % i[0])) | 1396 DoGet(_REMOTE, '/instances/%s/metadata/ReceptionDate' % i[0])) |
7760 self.assertEqual(1, len(a)) | 7790 self.assertEqual(1, len(a)) |
7761 self.assertEqual(DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'], a[0]['ID']) | 7791 self.assertEqual(DoGet(_REMOTE, '/instances/%s/patient' % knee1) ['ID'], a[0]['ID']) |
7762 self.assertEqual('Patient', a[0]['Type']) | 7792 self.assertEqual('Patient', a[0]['Type']) |
7763 self.assertEqual('KNEE', a[0]['MainDicomTags']['PatientName']) | 7793 self.assertEqual('KNEE', a[0]['MainDicomTags']['PatientName']) |
7764 self.assertTrue('Metadata' in a[0]) | 7794 self.assertTrue('Metadata' in a[0]) |
7765 self.assertEqual(1, len(a[0]['Metadata'])) | 7795 if IsOrthancVersionAbove(_REMOTE, 1, 11, 0): |
7766 self.assertTrue('LastUpdate' in a[0]['Metadata']) | 7796 self.assertEqual(2, len(a[0]['Metadata'])) |
7797 self.assertTrue('MainDicomTagsSignature' in a[0]['Metadata']) | |
7798 else: | |
7799 self.assertEqual(1, len(a[0]['Metadata'])) | |
7800 self.assertTrue('LastUpdate' in a[0]['Metadata']) | |
7767 | 7801 |
7768 for level in [ 'Instance', 'Series', 'Study', 'Patient' ]: | 7802 for level in [ 'Instance', 'Series', 'Study', 'Patient' ]: |
7769 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, brainix ], | 7803 a = DoPost(_REMOTE, '/tools/bulk-content', { 'Resources' : [ knee1, brainix ], |
7770 'Level' : level }) | 7804 'Level' : level }) |
7771 self.assertEqual(2, len(a)) | 7805 self.assertEqual(2, len(a)) |