Mercurial > hg > orthanc-tests
diff Tests/Tests.py @ 59:84378ada15ab
test_decode_brainix_as_jpeg
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 18 Nov 2015 09:56:47 +0100 |
parents | b5518378e23b |
children | cd3c7f70f139 |
line wrap: on
line diff
--- a/Tests/Tests.py Fri Nov 13 17:02:27 2015 +0100 +++ b/Tests/Tests.py Wed Nov 18 09:56:47 2015 +0100 @@ -2521,3 +2521,40 @@ ]) z = zipfile.ZipFile(StringIO(s), "r") self.assertEqual(7, len(z.namelist())) + + + def test_decode_brainix_as_jpeg(self): + i = UploadInstance(_REMOTE, 'Brainix/Epi/IM-0001-0001.dcm')['ID'] + + j = GetImage(_REMOTE, '/instances/%s/preview' % i) + self.assertEqual('PNG', j.format) + self.assertEqual(j.size[0], 256) + self.assertEqual(j.size[1], 256) + + j = GetImage(_REMOTE, '/instances/%s/preview' % i, headers = { 'Accept' : '*/*' }) + self.assertEqual('PNG', j.format) + + j = GetImage(_REMOTE, '/instances/%s/preview' % i, headers = { 'Accept' : 'image/*' }) + self.assertEqual('PNG', j.format) + + j = GetImage(_REMOTE, '/instances/%s/preview' % i, headers = { 'Accept' : 'image/png' }) + self.assertEqual('PNG', j.format) + + j = GetImage(_REMOTE, '/instances/%s/preview' % i, headers = { 'Accept' : 'image/jpeg' }) + self.assertEqual('JPEG', j.format) + self.assertEqual(j.size[0], 256) + self.assertEqual(j.size[1], 256) + + a = len(DoGet(_REMOTE, '/instances/%s/preview?quality=50' % i, headers = { 'Accept' : 'image/jpeg' })) + b = len(DoGet(_REMOTE, '/instances/%s/preview' % i, headers = { 'Accept' : 'image/jpeg' })) + self.assertLess(a, b) + + j = GetImage(_REMOTE, '/instances/%s/image-uint8' % i, headers = { 'Accept' : 'image/jpeg' }) + self.assertEqual('JPEG', j.format) + + # 16bit encoding is not supported with JPEG + self.assertRaises(Exception, lambda: GetImage(_REMOTE, '/instances/%s/image-uint16' % i, headers = { 'Accept' : 'image/jpeg' })) + self.assertRaises(Exception, lambda: GetImage(_REMOTE, '/instances/%s/image-int16' % i, headers = { 'Accept' : 'image/jpeg' })) + + # No matching content type + self.assertRaises(Exception, lambda: GetImage(_REMOTE, '/instances/%s/preview' % i, headers = { 'Accept' : 'application/pdf' }))