comparison Tests/Tests.py @ 89:74b7b9aed5f8

test TransferSyntax metadata
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 29 Nov 2016 19:44:48 +0100
parents 4b24faec842b
children dbcbffb889da
comparison
equal deleted inserted replaced
88:47a3d6c08413 89:74b7b9aed5f8
921 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) 921 m = DoGet(_REMOTE, '/patients/%s/metadata' % p)
922 self.assertEqual(1, len(m)) 922 self.assertEqual(1, len(m))
923 self.assertEqual('LastUpdate', m[0]) 923 self.assertEqual('LastUpdate', m[0])
924 924
925 m = DoGet(_REMOTE, '/instances/%s/metadata' % i) 925 m = DoGet(_REMOTE, '/instances/%s/metadata' % i)
926 self.assertEqual(4, len(m)) 926 self.assertEqual(5, len(m))
927 self.assertTrue('IndexInSeries' in m) 927 self.assertTrue('IndexInSeries' in m)
928 self.assertTrue('ReceptionDate' in m) 928 self.assertTrue('ReceptionDate' in m)
929 self.assertTrue('RemoteAET' in m) 929 self.assertTrue('RemoteAET' in m)
930 self.assertTrue('Origin' in m) 930 self.assertTrue('Origin' in m)
931 self.assertTrue('TransferSyntax' in m)
931 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i), 1) 932 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i), 1)
932 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i), 'RestApi') 933 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i), 'RestApi')
933 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i), '') # None, received by REST API 934 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i), '') # None, received by REST API
935 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i), '1.2.840.10008.1.2.4.91') # JPEG2k
934 936
935 # Play with custom metadata 937 # Play with custom metadata
936 DoPut(_REMOTE, '/patients/%s/metadata/5555' % p, 'coucou') 938 DoPut(_REMOTE, '/patients/%s/metadata/5555' % p, 'coucou')
937 m = DoGet(_REMOTE, '/patients/%s/metadata' % p) 939 m = DoGet(_REMOTE, '/patients/%s/metadata' % p)
938 self.assertEqual(2, len(m)) 940 self.assertEqual(2, len(m))
1043 self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) 1045 self.assertEqual(1, len(DoGet(_REMOTE, '/patients')))
1044 1046
1045 i = DoGet(_REMOTE, '/instances') 1047 i = DoGet(_REMOTE, '/instances')
1046 self.assertEqual(1, len(i)) 1048 self.assertEqual(1, len(i))
1047 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0]) 1049 m = DoGet(_REMOTE, '/instances/%s/metadata' % i[0])
1048 self.assertEqual(4, len(m)) 1050 self.assertEqual(5, len(m))
1049 self.assertTrue('IndexInSeries' in m) 1051 self.assertTrue('IndexInSeries' in m)
1050 self.assertTrue('ReceptionDate' in m) 1052 self.assertTrue('ReceptionDate' in m)
1051 self.assertTrue('RemoteAET' in m) 1053 self.assertTrue('RemoteAET' in m)
1052 self.assertTrue('Origin' in m) 1054 self.assertTrue('Origin' in m)
1055 self.assertTrue('TransferSyntax' in m)
1053 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i[0]), 1) 1056 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/IndexInSeries' % i[0]), 1)
1054 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i[0]), 'DicomProtocol') 1057 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/Origin' % i[0]), 'DicomProtocol')
1055 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i[0]), 'STORESCU') 1058 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/RemoteAET' % i[0]), 'STORESCU')
1059 self.assertEqual(DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i[0]), '1.2.840.10008.1.2.1')
1056 1060
1057 1061
1058 def test_incoming_findscu(self): 1062 def test_incoming_findscu(self):
1059 UploadInstance(_REMOTE, 'Multiframe.dcm') 1063 UploadInstance(_REMOTE, 'Multiframe.dcm')
1060 UploadInstance(_REMOTE, 'ColorTestImageJ.dcm') 1064 UploadInstance(_REMOTE, 'ColorTestImageJ.dcm')
2766 2770
2767 def test_decode_transfer_syntax(self): 2771 def test_decode_transfer_syntax(self):
2768 def Check(t, md5): 2772 def Check(t, md5):
2769 i = UploadInstance(_REMOTE, 'TransferSyntaxes/%s.dcm' % t)['ID'] 2773 i = UploadInstance(_REMOTE, 'TransferSyntaxes/%s.dcm' % t)['ID']
2770 2774
2775 if t != '1.2.840.10008.1.2': # This file has no meta header
2776 transferSyntax = DoGet(_REMOTE, '/instances/%s/metadata/TransferSyntax' % i)
2777 self.assertEqual(t, transferSyntax)
2778
2771 if md5 == None: 2779 if md5 == None:
2772 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/preview' % i)) 2780 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/instances/%s/preview' % i))
2773 else: 2781 else:
2774 m = ComputeMD5(DoGet(_REMOTE, '/instances/%s/preview' % i)) 2782 m = ComputeMD5(DoGet(_REMOTE, '/instances/%s/preview' % i))
2775 self.assertEqual(m, md5) 2783 self.assertEqual(m, md5)