# HG changeset patch # User Sebastien Jodogne # Date 1443005000 -7200 # Node ID f610491f74c3e9c28fbb59ea58f2048718ab4776 # Parent 85b2e36ed392488bbff63bc0b0a8c1a97687b241 test_create_binary diff -r 85b2e36ed392 -r f610491f74c3 Tests/Tests.py --- a/Tests/Tests.py Wed Sep 23 12:04:57 2015 +0200 +++ b/Tests/Tests.py Wed Sep 23 12:43:20 2015 +0200 @@ -2216,3 +2216,29 @@ patient = DoGet(_REMOTE, '/instances/%s/patient' % s['Instances'][0]) self.assertEqual(patient['MainDicomTags']['PatientName'].encode('utf-8'), 'Sébastien Jodogne') + + + def test_create_binary(self): + binary = ''.join(map(chr, range(256))) + encoded = 'data:application/octet-stream;base64,' + base64.b64encode(binary) + tags = { + 'PatientName' : 'Jodogne', + '8899-8899' : encoded + } + + i = DoPost(_REMOTE, '/tools/create-dicom', + json.dumps({ + 'Tags' : tags + })) + + self.assertEqual('Jodogne', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i['ID']).strip()) + self.assertEqual(binary, DoGet(_REMOTE, '/instances/%s/content/8899-8899' % i['ID']).strip()) + + i = DoPost(_REMOTE, '/tools/create-dicom', + json.dumps({ + 'InterpretBinaryTags' : False, + 'Tags' : tags + })) + + self.assertEqual('Jodogne', DoGet(_REMOTE, '/instances/%s/content/PatientName' % i['ID']).strip()) + self.assertEqual(encoded, DoGet(_REMOTE, '/instances/%s/content/8899-8899' % i['ID'])[0:-1])