Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 48:e4352463ff74
test_patient_ids_collision
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 06 Oct 2015 15:56:32 +0200 |
parents | f610491f74c3 |
children | e7f9b8199545 |
comparison
equal
deleted
inserted
replaced
47:f610491f74c3 | 48:e4352463ff74 |
---|---|
2240 'Tags' : tags | 2240 'Tags' : tags |
2241 })) | 2241 })) |
2242 | 2242 |
2243 self.assertEqual('Jodogne', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i['ID']).strip()) | 2243 self.assertEqual('Jodogne', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i['ID']).strip()) |
2244 self.assertEqual(encoded, DoGet(_REMOTE, '/instances/%s/content/8899-8899' % i['ID'])[0:-1]) | 2244 self.assertEqual(encoded, DoGet(_REMOTE, '/instances/%s/content/8899-8899' % i['ID'])[0:-1]) |
2245 | |
2246 | |
2247 def test_patient_ids_collision(self): | |
2248 # Upload 3 instances from 3 different studies, but with the | |
2249 # same PatientID | |
2250 for i in range(3): | |
2251 UploadInstance(_REMOTE, 'PatientIdsCollision/Image%d.dcm' % (i + 1)) | |
2252 | |
2253 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Patient', | |
2254 'Query' : { 'PatientName' : '*' }}) | |
2255 self.assertEqual(1, len(a)) | |
2256 self.assertEqual('COMMON', DoGet(_REMOTE, '/patients/%s' % a[0]) ['MainDicomTags']['PatientID']) | |
2257 | |
2258 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study', | |
2259 'CaseSensitive' : True, | |
2260 'Query' : { 'PatientName' : 'FOO\\HELLO' }}) | |
2261 self.assertEqual(2, len(a)) | |
2262 | |
2263 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Series', | |
2264 'CaseSensitive' : False, | |
2265 'Query' : { 'PatientName' : 'Foo' }}) | |
2266 self.assertEqual(1, len(a)) | |
2267 self.assertEqual('FOO^SERIES', DoGet(_REMOTE, '/series/%s/study' % a[0]) ['MainDicomTags']['StudyDescription']) | |
2268 self.assertEqual('FOO', DoGet(_REMOTE, '/series/%s/study' % a[0]) ['PatientMainDicomTags']['PatientName']) | |
2269 self.assertEqual('COMMON', DoGet(_REMOTE, '/series/%s/study' % a[0]) ['PatientMainDicomTags']['PatientID']) | |
2270 | |
2271 a = DoPost(_REMOTE, '/tools/find', { 'Level' : 'Study', | |
2272 'Query' : { 'PatientName' : '*' }}) | |
2273 self.assertEqual(3, len(a)) | |
2274 d = map(lambda x: DoGet(_REMOTE, '/studies/%s' % x) ['MainDicomTags']['StudyDescription'], a) | |
2275 self.assertTrue('FOO^SERIES' in d) | |
2276 self.assertTrue('HELLO^SERIES' in d) | |
2277 self.assertTrue('WORLD^SERIES' in d) | |
2278 | |
2279 d = map(lambda x: DoGet(_REMOTE, '/studies/%s' % x) ['PatientMainDicomTags']['PatientID'], a) | |
2280 self.assertEqual(1, len(set(d))) | |
2281 self.assertEqual('COMMON', d[0]) | |
2282 | |
2283 for i in a: | |
2284 d = DoGet(_REMOTE, '/studies/%s' % i) ['MainDicomTags']['StudyDescription'] | |
2285 p = DoGet(_REMOTE, '/studies/%s' % i) ['PatientMainDicomTags']['PatientName'] | |
2286 self.assertEqual('%s^SERIES' % p, d) |