comparison Tests/Tests.py @ 86:0401ef51f5c1

test_reconstruct_json
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 07 Nov 2016 15:17:19 +0100
parents 3f2170efa8d2
children 4b24faec842b
comparison
equal deleted inserted replaced
85:96a4cce190dc 86:0401ef51f5c1
2908 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) 2908 self.assertEqual(2, len(DoGet(_REMOTE, '/patients')))
2909 self.assertEqual(2, len(DoGet(_REMOTE, '/studies'))) 2909 self.assertEqual(2, len(DoGet(_REMOTE, '/studies')))
2910 self.assertEqual(3, len(DoGet(_REMOTE, '/series'))) 2910 self.assertEqual(3, len(DoGet(_REMOTE, '/series')))
2911 self.assertEqual(4, len(DoGet(_REMOTE, '/instances'))) 2911 self.assertEqual(4, len(DoGet(_REMOTE, '/instances')))
2912 2912
2913
2914
2915 def test_reconstruct_json(self):
2916 self.assertEqual(0, len(DoGet(_REMOTE, '/patients')))
2917
2918 instance = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID']
2919 first = DoGet(_REMOTE, '/instances/%s/tags' % instance)
2920
2921 self.assertEqual('TWINOW', first['0008,1010']['Value'])
2922 self.assertEqual(2, len(DoGet(_REMOTE, '/instances/%s/attachments' % instance)))
2923
2924 # Cannot delete the "DICOM" attachment
2925 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/instances/%s/attachments/dicom' % instance))
2926
2927 # Can delete the "DICOM as JSON" attachment
2928 r = DoDelete(_REMOTE, '/instances/%s/attachments/dicom-as-json' % instance)
2929 self.assertTrue(type(r) is dict and len(r) == 0)
2930
2931 # Only the "DICOM" attachment subsists
2932 self.assertEqual(1, len(DoGet(_REMOTE, '/instances/%s/attachments' % instance)))
2933
2934 # Cannot manually reconstruct the "DICOM as JSON" attachment
2935 self.assertRaises(Exception, lambda: DoPut(_REMOTE, '/patients/%s/attachments/dicom-as-json' % patient, 'hello'))
2936
2937 # Transparently reconstruct the "DICOM as JSON" attachment
2938 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json' % instance))
2939 second = DoGet(_REMOTE, '/instances/%s/tags' % instance)
2940 self.assertEqual(2, len(DoGet(_REMOTE, '/instances/%s/attachments' % instance)))
2941
2942 third = DoGet(_REMOTE, '/instances/%s/attachments/dicom-as-json/data' % instance)
2943 self.assertEqual(str(first), str(second))
2944 self.assertEqual(str(first), str(third))