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))