comparison Tests/Tests.py @ 26:040f6ef1394a

test_storescu_custom_aet
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 29 Jun 2015 13:26:56 +0200
parents 30ecc857fa07
children cde1691838d3
comparison
equal deleted inserted replaced
25:d99a759910db 26:040f6ef1394a
80 80
81 class Orthanc(unittest.TestCase): 81 class Orthanc(unittest.TestCase):
82 def setUp(self): 82 def setUp(self):
83 DropOrthanc(_LOCAL) 83 DropOrthanc(_LOCAL)
84 DropOrthanc(_REMOTE) 84 DropOrthanc(_REMOTE)
85 UninstallLuaCallbacks()
85 #print "In test", self._testMethodName 86 #print "In test", self._testMethodName
86 87
87 def AssertSameImages(self, truth, url): 88 def AssertSameImages(self, truth, url):
88 im = GetImage(_REMOTE, url) 89 im = GetImage(_REMOTE, url)
89 self.assertTrue(CompareLists(truth, im.getdata())) 90 self.assertTrue(CompareLists(truth, im.getdata()))
1990 i = DoGet(_REMOTE, '/instances/%s/simplified-tags' % a) 1991 i = DoGet(_REMOTE, '/instances/%s/simplified-tags' % a)
1991 # dcm2xml MarekLatin2.dcm | iconv -f latin2 -t utf-8 | xmllint --format - 1992 # dcm2xml MarekLatin2.dcm | iconv -f latin2 -t utf-8 | xmllint --format -
1992 self.assertEqual('Imię i Nazwisko osoby opisującej', 1993 self.assertEqual('Imię i Nazwisko osoby opisującej',
1993 i['ContentSequence'][4]['ConceptNameCodeSequence'][0]['CodeMeaning'].encode('utf-8')) 1994 i['ContentSequence'][4]['ConceptNameCodeSequence'][0]['CodeMeaning'].encode('utf-8'))
1994 1995
1996
1997 def test_storescu_custom_aet(self):
1998 # This tests a feature introduced in Orthanc 0.9.1: "Custom
1999 # setting of the local AET during C-Store SCU (both in Lua and
2000 # in the REST API)."
2001 # https://groups.google.com/forum/#!msg/orthanc-users/o5qMULformU/wZjW2iSaMcAJ
2002
2003 self.assertEqual(0, len(DoGet(_LOCAL, '/patients')))
2004
2005 a = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')
2006 b = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm')
2007 c = UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0003.dcm')
2008
2009 j = DoPost(_REMOTE, '/modalities/orthanctest/store', {
2010 'LocalAet' : 'YOP',
2011 'Resources' : [ a['ID'], b['ID'] ]
2012 })
2013
2014 self.assertEqual(2, len(DoGet(_LOCAL, '/instances')))
2015 self.assertEqual('YOP', DoGet(_LOCAL, '/instances/%s/metadata/RemoteAET' % a['ID']))
2016
2017 DropOrthanc(_LOCAL)
2018 self.assertEqual(0, len(DoGet(_LOCAL, '/instances')))
2019
2020 j = DoPost(_REMOTE, '/modalities/orthanctest/store', {
2021 'Resources' : [ c['ID'] ]
2022 })
2023
2024 self.assertEqual(1, len(DoGet(_LOCAL, '/instances')))
2025 self.assertEqual('ORTHANC', DoGet(_LOCAL, '/instances/%s/metadata/RemoteAET' % c['ID']))
2026
2027 DropOrthanc(_REMOTE)
2028 DropOrthanc(_LOCAL)
2029
2030 InstallLuaScript('Lua/AutoroutingChangeAet.lua')
2031 DoPost(_REMOTE, '/tools/execute-script', 'aet = "HELLO"', 'application/lua')
2032
2033 self.assertEqual(0, len(DoGet(_LOCAL, '/instances')))
2034 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0001.dcm')
2035 WaitEmpty(_REMOTE)
2036 self.assertEqual(1, len(DoGet(_LOCAL, '/instances')))
2037 self.assertEqual('HELLO', DoGet(_LOCAL, '/instances/%s/metadata/RemoteAET' % a['ID']))
2038
2039 DoPost(_REMOTE, '/tools/execute-script', 'aet = nill', 'application/lua')
2040 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm')
2041 WaitEmpty(_REMOTE)
2042 self.assertEqual(2, len(DoGet(_LOCAL, '/instances')))
2043 self.assertEqual('ORTHANC', DoGet(_LOCAL, '/instances/%s/metadata/RemoteAET' % b['ID']))