# HG changeset patch # User Sebastien Jodogne # Date 1774423653 -3600 # Node ID 40a788c40073059ec709b934819f2fb33d0e9f31 # Parent ffe4e098be5fdd40880c19ef2c272c406da28095 improved test_content_disposition diff -r ffe4e098be5f -r 40a788c40073 Tests/Tests.py --- a/Tests/Tests.py Mon Mar 23 06:52:08 2026 +0100 +++ b/Tests/Tests.py Wed Mar 25 08:27:33 2026 +0100 @@ -5348,7 +5348,7 @@ job = MonitorJob2(_REMOTE, lambda: DoPost (_REMOTE, '/series/%s/archive' % kneeT1, { 'Synchronous' : False, - 'Filename': 'toto.zip' + 'Filename': 'tot"o.zip' })) z, resp = GetArchive(_REMOTE, '/jobs/%s/archive' % job) @@ -7158,12 +7158,14 @@ def test_content_disposition(self): - if IsOrthancVersionAbove(_REMOTE, 1, 12, 11): - + if IsOrthancVersionAbove(_REMOTE, 1, 12, 7): info = UploadInstance(_REMOTE, 'TransferSyntaxes/1.2.840.10008.1.2.1.dcm') resp, content = DoGetRaw(_REMOTE, '/instances/%s/file?filename="toto".dcm' % info['ID']) - self.assertEqual('filename="toto.dcm"', resp['content-disposition']) + if IsOrthancVersionAbove(_REMOTE, 1, 12, 11): + self.assertEqual('filename="toto.dcm"', resp['content-disposition']) + else: + self.assertEqual('filename="\"toto\".dcm"', resp['content-disposition']) resp, content = DoGetRaw(_REMOTE, '/instances/%s/file?filename=toto.dcm"\r\nSet-Cookie:evil=1' % info['ID']) @@ -7171,6 +7173,13 @@ self.assertNotIn('set-cookie', resp) self.assertEqual('filename="toto.dcmSet-Cookie:evil=1"', resp['content-disposition']) + study = DoGet(_REMOTE, '/instances/%s/study' % info['ID']) ['ID'] + resp, content = DoGetRaw(_REMOTE, '/studies/%s/archive?filename="toto".dcm' % study) + if IsOrthancVersionAbove(_REMOTE, 1, 12, 11): + self.assertEqual('filename="toto.dcm"', resp['content-disposition']) + else: + self.assertEqual('filename="\"toto\".dcm"', resp['content-disposition']) + def test_modify_keep_source(self): # https://groups.google.com/d/msg/orthanc-users/CgU-Wg8vDio/BY5ZWcDEAgAJ