comparison Plugins/WebDav/Run.py @ 340:60775134a406

finalized webdav standalone tests
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 14 Oct 2020 17:57:38 +0200
parents 44ab919be2e9
children bf8369ea3ff1
comparison
equal deleted inserted replaced
339:44ab919be2e9 340:60775134a406
282 folder = '/webdav/by-patients/%s/%s/%s' % (patient, study, series) 282 folder = '/webdav/by-patients/%s/%s/%s' % (patient, study, series)
283 self.assertEqual(1, len(ListFiles(folder, False))) 283 self.assertEqual(1, len(ListFiles(folder, False)))
284 self.assertEqual(2, len(WEBDAV.ls(folder))) 284 self.assertEqual(2, len(WEBDAV.ls(folder)))
285 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(ListFiles(folder, False) [0])) 285 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(ListFiles(folder, False) [0]))
286 286
287 files = ListFiles('/webdav/by-patients/', True)
288 self.assertEqual(1, len(files))
289 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(files[0]))
290
287 a = DownloadFile('%s/%s.dcm' % (folder, i)) 291 a = DownloadFile('%s/%s.dcm' % (folder, i))
288 with open(GetDatabasePath('DummyCT.dcm'), 'rb') as f: 292 with open(GetDatabasePath('DummyCT.dcm'), 'rb') as f:
289 self.assertEqual(a, f.read()) 293 self.assertEqual(a, f.read())
290 294
291 self.assertEqual(1, len(DoGet(ORTHANC, '/instances'))) 295 self.assertEqual(1, len(DoGet(ORTHANC, '/instances')))
308 study = '%s - %s - %s' % (tags['PatientID'], tags['PatientName'], tags['StudyDescription']) 312 study = '%s - %s - %s' % (tags['PatientID'], tags['PatientName'], tags['StudyDescription'])
309 series = '%s - %s' % (tags['Modality'], tags['SeriesDescription']) 313 series = '%s - %s' % (tags['Modality'], tags['SeriesDescription'])
310 self.assertEqual('ozp00SjY2xG - KNIX - Knee (R)', study) 314 self.assertEqual('ozp00SjY2xG - KNIX - Knee (R)', study)
311 self.assertEqual('MR - AX. FSE PD', series) 315 self.assertEqual('MR - AX. FSE PD', series)
312 316
313 self.assertEqual(1, len(ListFiles('/webdav/by-studies/', True)))
314
315 self.assertEqual(0, len(ListFiles('/webdav/by-studies/', False))) 317 self.assertEqual(0, len(ListFiles('/webdav/by-studies/', False)))
316 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-studies/'))) 318 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-studies/')))
317 self.assertEqual(0, len(ListFiles('/webdav/by-studies/%s' % study, False))) 319 self.assertEqual(0, len(ListFiles('/webdav/by-studies/%s' % study, False)))
318 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-studies/%s' % study))) 320 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-studies/%s' % study)))
319 321
320 folder = '/webdav/by-studies/%s/%s' % (study, series) 322 folder = '/webdav/by-studies/%s/%s' % (study, series)
321 self.assertEqual(1, len(ListFiles(folder, False))) 323 self.assertEqual(1, len(ListFiles(folder, False)))
322 self.assertEqual(2, len(WEBDAV.ls(folder))) 324 self.assertEqual(2, len(WEBDAV.ls(folder)))
323 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(ListFiles(folder, False) [0])) 325 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(ListFiles(folder, False) [0]))
324 326
327 files = ListFiles('/webdav/by-studies/', True)
328 self.assertEqual(1, len(files))
329 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(files[0]))
330
325 a = DownloadFile('%s/%s.dcm' % (folder, i)) 331 a = DownloadFile('%s/%s.dcm' % (folder, i))
326 with open(GetDatabasePath('DummyCT.dcm'), 'rb') as f: 332 with open(GetDatabasePath('DummyCT.dcm'), 'rb') as f:
327 self.assertEqual(a, f.read()) 333 self.assertEqual(a, f.read())
328 334
329 self.assertEqual(1, len(DoGet(ORTHANC, '/instances'))) 335 self.assertEqual(1, len(DoGet(ORTHANC, '/instances')))
330 WEBDAV.delete('%s/%s.dcm' % (folder, i)) 336 WEBDAV.delete('%s/%s.dcm' % (folder, i))
331 self.assertEqual(0, len(DoGet(ORTHANC, '/instances'))) 337 self.assertEqual(0, len(DoGet(ORTHANC, '/instances')))
332 self.assertEqual(0, len(ListFiles('/webdav/by-studies/', True))) 338 self.assertEqual(0, len(ListFiles('/webdav/by-studies/', True)))
333 339
334 340
341 def test_by_dates(self):
342 self.assertEqual(0, len(ListFiles('/webdav/by-dates/', True)))
343 self.assertEqual(1, len(WEBDAV.ls('/webdav/by-patients/')))
344 self.assertEqual(0, len(DoGet(ORTHANC, '/instances')))
345
346 i = UploadInstance(ORTHANC, 'DummyCT.dcm')['ID']
347 tags = DoGet(ORTHANC, '/instances/%s/tags?simplify' % i)
348 year = tags['StudyDate'][0:4]
349 month = tags['StudyDate'][4:6]
350 study = '%s - %s - %s' % (tags['PatientID'], tags['PatientName'], tags['StudyDescription'])
351 series = '%s - %s' % (tags['Modality'], tags['SeriesDescription'])
352 self.assertEqual('ozp00SjY2xG - KNIX - Knee (R)', study)
353 self.assertEqual('MR - AX. FSE PD', series)
354
355 self.assertEqual(0, len(ListFiles('/webdav/by-dates/', False)))
356 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-dates/')))
357 self.assertEqual(0, len(ListFiles('/webdav/by-dates/%s' % year, False)))
358 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-dates/%s' % year)))
359 self.assertEqual(0, len(ListFiles('/webdav/by-dates/%s/%s-%s' % (year, year, month), False)))
360 self.assertEqual(2, len(WEBDAV.ls('/webdav/by-dates/%s/%s-%s' % (year, year, month))))
361
362 folder = '/webdav/by-dates/%s/%s-%s/%s/%s' % (year, year, month, study, series)
363 self.assertEqual(1, len(ListFiles(folder, False)))
364 self.assertEqual(2, len(WEBDAV.ls(folder)))
365 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(ListFiles(folder, False) [0]))
366
367 files = ListFiles('/webdav/by-dates/', True)
368 self.assertEqual(1, len(files))
369 self.assertEqual('%s/%s.dcm' % (folder, i), unquote(files[0]))
370
371 a = DownloadFile('%s/%s.dcm' % (folder, i))
372 with open(GetDatabasePath('DummyCT.dcm'), 'rb') as f:
373 self.assertEqual(a, f.read())
374
375 self.assertEqual(1, len(DoGet(ORTHANC, '/instances')))
376 WEBDAV.delete('%s/%s.dcm' % (folder, i))
377 self.assertEqual(0, len(DoGet(ORTHANC, '/instances')))
378 self.assertEqual(0, len(ListFiles('/webdav/by-dates/', True)))
335 379
336 380
337 try: 381 try:
338 print('\nStarting the tests...') 382 print('\nStarting the tests...')
339 unittest.main(argv = [ sys.argv[0] ] + args.options) 383 unittest.main(argv = [ sys.argv[0] ] + args.options)