Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 15:2e5dbbbe3889
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 18 Jun 2015 18:01:24 +0200 |
parents | ed9a9fe66002 |
children | 7c8500991a12 |
comparison
equal
deleted
inserted
replaced
14:ed9a9fe66002 | 15:2e5dbbbe3889 |
---|---|
46 result.append('') | 46 result.append('') |
47 else: | 47 else: |
48 result.append(match.group(1)) | 48 result.append(match.group(1)) |
49 | 49 |
50 return result | 50 return result |
51 | |
52 | |
53 def InstallLuaScript(path): | |
54 with open(GetDatabasePath(path), 'r') as f: | |
55 DoPost(_REMOTE, '/tools/execute-script', f.read(), 'application/lua') | |
56 | |
57 | |
58 def UninstallLuaCallbacks(): | |
59 DoPost(_REMOTE, '/tools/execute-script', 'function OnStoredInstance() end', 'application/lua') | |
60 | |
51 | 61 |
52 | 62 |
53 class Orthanc(unittest.TestCase): | 63 class Orthanc(unittest.TestCase): |
54 def setUp(self): | 64 def setUp(self): |
55 DropOrthanc(_LOCAL) | 65 DropOrthanc(_LOCAL) |
1654 | 1664 |
1655 DropOrthanc(_REMOTE) | 1665 DropOrthanc(_REMOTE) |
1656 a = DoPost(_REMOTE, '/tools/lookup', '3113719P') | 1666 a = DoPost(_REMOTE, '/tools/lookup', '3113719P') |
1657 self.assertEqual(0, len(a)) | 1667 self.assertEqual(0, len(a)) |
1658 | 1668 |
1669 | |
1670 def test_autorouting(self): | |
1671 knee1 = 'Knee/T1/IM-0001-0001.dcm' | |
1672 knee2 = 'Knee/T2/IM-0001-0002.dcm' | |
1673 other = 'Brainix/Flair/IM-0001-0001.dcm' | |
1674 | |
1675 # Check that this version is >= 0.8.0 | |
1676 self.assertTrue(IsDefinedInLua(_REMOTE, '_InitializeJob')) | |
1677 self.assertTrue('orthanctest' in DoGet(_REMOTE, '/modalities')) | |
1678 | |
1679 UploadInstance(_REMOTE, knee1) | |
1680 self.assertEqual(0, len(DoGet(_LOCAL, '/instances'))) | |
1681 | |
1682 DropOrthanc(_REMOTE) | |
1683 DropOrthanc(_LOCAL) | |
1684 InstallLuaScript('Lua/Autorouting.lua') | |
1685 UploadInstance(_REMOTE, knee1) | |
1686 UploadInstance(_REMOTE, knee2) | |
1687 UploadInstance(_REMOTE, other) | |
1688 WaitEmpty(_REMOTE) | |
1689 UninstallLuaCallbacks() | |
1690 self.assertEqual(3, len(DoGet(_LOCAL, '/instances'))) | |
1691 | |
1692 DropOrthanc(_REMOTE) | |
1693 DropOrthanc(_LOCAL) | |
1694 InstallLuaScript('Lua/AutoroutingConditional.lua') | |
1695 UploadInstance(_REMOTE, knee1) | |
1696 UploadInstance(_REMOTE, knee2) | |
1697 UploadInstance(_REMOTE, other) | |
1698 WaitEmpty(_REMOTE) | |
1699 UninstallLuaCallbacks() | |
1700 self.assertEqual(2, len(DoGet(_LOCAL, '/instances'))) | |
1701 | |
1702 DropOrthanc(_REMOTE) | |
1703 DropOrthanc(_LOCAL) | |
1704 InstallLuaScript('Lua/AutoroutingModification.lua') | |
1705 UploadInstance(_REMOTE, knee1) | |
1706 WaitEmpty(_REMOTE) | |
1707 UninstallLuaCallbacks() | |
1708 i = DoGet(_LOCAL, '/instances') | |
1709 self.assertEqual(1, len(i)) | |
1710 | |
1711 with tempfile.NamedTemporaryFile(delete = True) as f: | |
1712 f.write(DoGet(_LOCAL, '/instances/%s/file' % i[0])) | |
1713 f.flush() | |
1714 routed = subprocess.check_output([ 'dcm2xml', f.name ]) | |
1715 self.assertEqual('My Medical Device', re.search('"StationName">(.*?)<', routed).group(1).strip()) | |
1716 self.assertEqual(None, re.search('"MilitaryRank"', routed)) | |
1717 self.assertEqual(None, re.search('"0051,0010"', routed)) # A private tag |