Mercurial > hg > orthanc-tests
comparison Plugins/WSI/Run.py @ 567:13169c8ddc96
added test_http_accept for WSI
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 12 Jul 2023 16:12:03 +0200 |
parents | 933fe1bbce4f |
children | 6399d3a1cd30 |
comparison
equal
deleted
inserted
replaced
566:fbd82be16f54 | 567:13169c8ddc96 |
---|---|
359 s = spacings[str(4 ** i)].split('\\') | 359 s = spacings[str(4 ** i)].split('\\') |
360 self.assertEqual(2, len(s)) | 360 self.assertEqual(2, len(s)) |
361 self.assertEqual(20.0 / 512.0 * (2.0 ** (3 - i)), float(s[0])) | 361 self.assertEqual(20.0 / 512.0 * (2.0 ** (3 - i)), float(s[0])) |
362 self.assertEqual(10.0 / 512.0 * (2.0 ** (3 - i)), float(s[1])) | 362 self.assertEqual(10.0 / 512.0 * (2.0 ** (3 - i)), float(s[1])) |
363 | 363 |
364 | |
365 def test_http_accept(self): | |
366 # https://discourse.orthanc-server.org/t/orthanc-wsi-image-quality-issue/3331 | |
367 | |
368 def TestTransferSyntax(s, expected): | |
369 instance = DoGet(ORTHANC, '/series/%s' % s[0]) ['Instances'][0] | |
370 self.assertEqual(expected, DoGet(ORTHANC, '/instances/%s/metadata/TransferSyntax' % instance)) | |
371 | |
372 def TestDefaultAccept(s, mime): | |
373 tile = GetImage(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0]) | |
374 self.assertEqual(mime, tile.format) | |
375 | |
376 tile = GetImage(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0], { | |
377 'Accept' : 'text/html,*/*' | |
378 }) | |
379 self.assertEqual(mime, tile.format) | |
380 | |
381 tile = GetImage(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0], { | |
382 'Accept' : 'image/*,text/html' | |
383 }) | |
384 self.assertEqual(mime, tile.format) | |
385 | |
386 tile = DoGetRaw(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0], headers = { | |
387 'Accept' : 'text/html' | |
388 }) | |
389 self.assertEqual(406, int(tile[0]['status'])) | |
390 | |
391 def TestForceAccept(s): | |
392 tile = GetImage(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0], { | |
393 'Accept' : 'image/jpeg' | |
394 }) | |
395 self.assertEqual('JPEG', tile.format) | |
396 | |
397 tile = GetImage(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0], { | |
398 'Accept' : 'image/png' | |
399 }) | |
400 self.assertEqual('PNG', tile.format) | |
401 | |
402 tile = GetImage(ORTHANC, '/wsi/tiles/%s/0/0/0' % s[0], { | |
403 'Accept' : 'image/jp2' | |
404 }) | |
405 self.assertEqual('JPEG2000', tile.format) | |
406 | |
407 | |
408 CallDicomizer([ GetDatabasePath('Lena.jpg') ]) | |
409 | |
410 s = DoGet(ORTHANC, '/series') | |
411 self.assertEqual(1, len(s)) | |
412 TestTransferSyntax(s, '1.2.840.10008.1.2.4.50') | |
413 TestDefaultAccept(s, 'JPEG') | |
414 TestForceAccept(s) | |
415 | |
416 DoDelete(ORTHANC, '/series/%s' % s[0]) | |
417 | |
418 CallDicomizer([ GetDatabasePath('Lena.jpg'), '--compression', 'none' ]) | |
419 s = DoGet(ORTHANC, '/series') | |
420 self.assertEqual(1, len(s)) | |
421 | |
422 TestTransferSyntax(s, '1.2.840.10008.1.2') | |
423 TestDefaultAccept(s, 'PNG') | |
424 TestForceAccept(s) | |
425 | |
426 DoDelete(ORTHANC, '/series/%s' % s[0]) | |
427 | |
428 CallDicomizer([ GetDatabasePath('Lena.jpg'), '--compression', 'jpeg2000' ]) | |
429 s = DoGet(ORTHANC, '/series') | |
430 self.assertEqual(1, len(s)) | |
431 | |
432 TestTransferSyntax(s, '1.2.840.10008.1.2.4.90') | |
433 TestDefaultAccept(s, 'PNG') | |
434 TestForceAccept(s) | |
364 | 435 |
365 try: | 436 try: |
366 print('\nStarting the tests...') | 437 print('\nStarting the tests...') |
367 unittest.main(argv = [ sys.argv[0] ] + args.options) | 438 unittest.main(argv = [ sys.argv[0] ] + args.options) |
368 | 439 |