Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 463:29aaa3df718f
added verbosity and retries for test sometimes failing on CI
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 07 Apr 2022 09:46:24 +0200 |
parents | 8121c8aab919 |
children | 216231c18c2e |
comparison
equal
deleted
inserted
replaced
460:281a599f5338 | 463:29aaa3df718f |
---|---|
206 self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalDiskSize']) | 206 self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalDiskSize']) |
207 self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalUncompressedSize']) | 207 self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalUncompressedSize']) |
208 | 208 |
209 systemInfo = DoGet(_REMOTE, '/system') | 209 systemInfo = DoGet(_REMOTE, '/system') |
210 if systemInfo["Version"] == "mainline": | 210 if systemInfo["Version"] == "mainline": |
211 print "Skipping version checks since you're currently in mainline" | 211 print("Skipping version checks since you're currently in mainline") |
212 return | 212 return |
213 | 213 |
214 self.assertTrue(IsOrthancVersionAbove(_LOCAL, 0, 8, 6)) | 214 self.assertTrue(IsOrthancVersionAbove(_LOCAL, 0, 8, 6)) |
215 self.assertFalse(IsOrthancVersionAbove(_LOCAL, 0, 8, 7)) | 215 self.assertFalse(IsOrthancVersionAbove(_LOCAL, 0, 8, 7)) |
216 self.assertTrue(IsOrthancVersionAbove(_LOCAL, 0, 7, 6)) | 216 self.assertTrue(IsOrthancVersionAbove(_LOCAL, 0, 7, 6)) |
2409 self.assertEqual('hello', DoGet(_REMOTE, '/instances/%s/content/StudyDescription' % b).strip()) | 2409 self.assertEqual('hello', DoGet(_REMOTE, '/instances/%s/content/StudyDescription' % b).strip()) |
2410 self.assertEqual('world', DoGet(_REMOTE, '/instances/%s/content/Modality' % b).strip()) | 2410 self.assertEqual('world', DoGet(_REMOTE, '/instances/%s/content/Modality' % b).strip()) |
2411 | 2411 |
2412 | 2412 |
2413 def test_incoming_jpeg(self): | 2413 def test_incoming_jpeg(self): |
2414 # since this test fails regularly on CI, enable verbosity | |
2415 DoPut(_REMOTE, '/tools/log-level', 'verbose') | |
2416 | |
2414 def storescu(image, acceptUnknownSopClassUid): | 2417 def storescu(image, acceptUnknownSopClassUid): |
2415 if acceptUnknownSopClassUid: | 2418 if acceptUnknownSopClassUid: |
2416 tmp = [ '-xf', GetDatabasePath('UnknownSopClassUid.cfg'), 'Default' ] | 2419 tmp = [ '-xf', GetDatabasePath('UnknownSopClassUid.cfg'), 'Default' ] |
2417 else: | 2420 else: |
2418 tmp = [ '-xs' ] | 2421 tmp = [ '-xs' ] |
2437 DoPut(_REMOTE, '/tools/unknown-sop-class-accepted', '0') | 2440 DoPut(_REMOTE, '/tools/unknown-sop-class-accepted', '0') |
2438 self.assertEqual(0, DoGet(_REMOTE, '/tools/unknown-sop-class-accepted')) | 2441 self.assertEqual(0, DoGet(_REMOTE, '/tools/unknown-sop-class-accepted')) |
2439 else: | 2442 else: |
2440 InstallLuaScriptFromPath(_REMOTE, 'Lua/TransferSyntaxDisable.lua') | 2443 InstallLuaScriptFromPath(_REMOTE, 'Lua/TransferSyntaxDisable.lua') |
2441 | 2444 |
2445 # the following line regularly fails on CI ! | |
2442 self.assertRaises(Exception, lambda: storescu('Knix/Loc/IM-0001-0001.dcm', False)) | 2446 self.assertRaises(Exception, lambda: storescu('Knix/Loc/IM-0001-0001.dcm', False)) |
2443 self.assertRaises(Exception, lambda: storescu('UnknownSopClassUid.dcm', True)) | 2447 self.assertRaises(Exception, lambda: storescu('UnknownSopClassUid.dcm', True)) |
2444 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) | 2448 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) |
2445 | 2449 |
2446 if IsOrthancVersionAbove(_REMOTE, 1, 9, 0): | 2450 if IsOrthancVersionAbove(_REMOTE, 1, 9, 0): |
2454 DoPost(_REMOTE, '/tools/execute-script', "print('All special transfer syntaxes are now accepted')") | 2458 DoPost(_REMOTE, '/tools/execute-script', "print('All special transfer syntaxes are now accepted')") |
2455 storescu('Knix/Loc/IM-0001-0001.dcm', False) | 2459 storescu('Knix/Loc/IM-0001-0001.dcm', False) |
2456 storescu('UnknownSopClassUid.dcm', True) | 2460 storescu('UnknownSopClassUid.dcm', True) |
2457 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | 2461 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) |
2458 | 2462 |
2463 # set back normal verbosity | |
2464 DoPut(_REMOTE, '/tools/log-level', 'default') | |
2459 | 2465 |
2460 def test_storescu_jpeg(self): | 2466 def test_storescu_jpeg(self): |
2461 self.assertEqual(0, len(DoGet(_REMOTE, '/exports')['Exports'])) | 2467 self.assertEqual(0, len(DoGet(_REMOTE, '/exports')['Exports'])) |
2462 | 2468 |
2463 knixStudy = 'b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0' | 2469 knixStudy = 'b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0' |
3715 CompareMainDicomTag('hello', a, 'study', 'StudyDescription') | 3721 CompareMainDicomTag('hello', a, 'study', 'StudyDescription') |
3716 CompareMainDicomTag('world', a, 'series', 'SeriesDescription') | 3722 CompareMainDicomTag('world', a, 'series', 'SeriesDescription') |
3717 CompareMainDicomTag('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', a, '', 'SOPInstanceUID') | 3723 CompareMainDicomTag('1.2.840.113619.2.176.2025.1499492.7040.1171286242.109', a, '', 'SOPInstanceUID') |
3718 | 3724 |
3719 def test_httpClient_lua(self): | 3725 def test_httpClient_lua(self): |
3726 retries = 3 | |
3727 result = '' | |
3728 | |
3720 with open(GetDatabasePath('Lua/HttpClient.lua'), 'r') as f: | 3729 with open(GetDatabasePath('Lua/HttpClient.lua'), 'r') as f: |
3721 result = DoPost(_REMOTE, '/tools/execute-script', f.read(), 'application/lua') | 3730 # retry since this test sometimes fails if httpbin.org is unresponsive |
3731 while retries > 0 and not ('OK' in result): | |
3732 result = DoPost(_REMOTE, '/tools/execute-script', f.read(), 'application/lua') | |
3733 retries -= 1 | |
3722 | 3734 |
3723 self.assertIn('OK', result) | 3735 self.assertIn('OK', result) |
3724 | 3736 |
3725 | 3737 |
3726 def test_bitbucket_issue_44(self): | 3738 def test_bitbucket_issue_44(self): |