Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 469:c19d33c5defe more-tags
merge default -> more-tags
author | Alain Mazy <am@osimis.io> |
---|---|
date | Wed, 20 Apr 2022 17:24:43 +0200 |
parents | fc1c3ffed470 e1867aeb57e2 |
children | 1a4eb582cf03 |
comparison
equal
deleted
inserted
replaced
467:fc1c3ffed470 | 469:c19d33c5defe |
---|---|
2464 | 2464 |
2465 def test_incoming_jpeg(self): | 2465 def test_incoming_jpeg(self): |
2466 # since this test fails regularly on CI, enable verbosity | 2466 # since this test fails regularly on CI, enable verbosity |
2467 DoPut(_REMOTE, '/tools/log-level', 'verbose') | 2467 DoPut(_REMOTE, '/tools/log-level', 'verbose') |
2468 | 2468 |
2469 def storescu(image, acceptUnknownSopClassUid): | 2469 def storescu(image, acceptUnknownSopClassUid, expectSuccess = True, retries = 1): |
2470 if acceptUnknownSopClassUid: | 2470 if acceptUnknownSopClassUid: |
2471 tmp = [ '-xf', GetDatabasePath('UnknownSopClassUid.cfg'), 'Default' ] | 2471 tmp = [ '-xf', GetDatabasePath('UnknownSopClassUid.cfg'), 'Default' ] |
2472 else: | 2472 else: |
2473 tmp = [ '-xs' ] | 2473 tmp = [ '-xs' ] |
2474 | 2474 |
2475 with open(os.devnull, 'w') as FNULL: | 2475 while retries > 0: |
2476 try: | 2476 retries -= 1 |
2477 subprocess.check_call([ FindExecutable('storescu') ] + tmp + | 2477 with open(os.devnull, 'w') as FNULL: |
2478 [ _REMOTE['Server'], str(_REMOTE['DicomPort']), | 2478 try: |
2479 GetDatabasePath(image) ], | 2479 subprocess.check_call([ FindExecutable('storescu') ] + tmp + |
2480 stderr = FNULL) | 2480 [ _REMOTE['Server'], str(_REMOTE['DicomPort']), |
2481 | 2481 GetDatabasePath(image) ], |
2482 except subprocess.CalledProcessError as e: | 2482 stderr = FNULL) |
2483 print('storescu failed with error code: %s' % str(e.returncode)) | 2483 |
2484 raise e | 2484 if expectSuccess: |
2485 return | |
2486 except subprocess.CalledProcessError as e: | |
2487 print('storescu failed with error code: %s' % str(e.returncode)) | |
2488 if not expectSuccess: | |
2489 raise e | |
2485 | 2490 |
2486 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) | 2491 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) |
2487 | 2492 |
2488 if IsOrthancVersionAbove(_REMOTE, 1, 9, 0): | 2493 if IsOrthancVersionAbove(_REMOTE, 1, 9, 0): |
2489 a = DoPut(_REMOTE, '/tools/accepted-transfer-syntaxes', [ | 2494 a = DoPut(_REMOTE, '/tools/accepted-transfer-syntaxes', [ |
2497 DoPut(_REMOTE, '/tools/unknown-sop-class-accepted', '0') | 2502 DoPut(_REMOTE, '/tools/unknown-sop-class-accepted', '0') |
2498 self.assertEqual(0, DoGet(_REMOTE, '/tools/unknown-sop-class-accepted')) | 2503 self.assertEqual(0, DoGet(_REMOTE, '/tools/unknown-sop-class-accepted')) |
2499 else: | 2504 else: |
2500 InstallLuaScriptFromPath(_REMOTE, 'Lua/TransferSyntaxDisable.lua') | 2505 InstallLuaScriptFromPath(_REMOTE, 'Lua/TransferSyntaxDisable.lua') |
2501 | 2506 |
2502 # the following line regularly fails on CI ! | 2507 # the following line regularly fails on CI because storescu still returns 0 although the C-Store fails !! |
2503 self.assertRaises(Exception, lambda: storescu('Knix/Loc/IM-0001-0001.dcm', False)) | 2508 self.assertRaises(Exception, lambda: storescu('Knix/Loc/IM-0001-0001.dcm', False, False, 3)) |
2504 self.assertRaises(Exception, lambda: storescu('UnknownSopClassUid.dcm', True)) | 2509 self.assertRaises(Exception, lambda: storescu('UnknownSopClassUid.dcm', True, False, 3)) |
2505 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) | 2510 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) |
2506 | 2511 |
2507 if IsOrthancVersionAbove(_REMOTE, 1, 9, 0): | 2512 if IsOrthancVersionAbove(_REMOTE, 1, 9, 0): |
2508 a = DoPut(_REMOTE, '/tools/accepted-transfer-syntaxes', '*', 'text/plain') | 2513 a = DoPut(_REMOTE, '/tools/accepted-transfer-syntaxes', '*', 'text/plain') |
2509 self.assertGreaterEqual(42, len(a)) | 2514 self.assertGreaterEqual(42, len(a)) |