comparison Tests/Tests.py @ 584:c4f4b0bc908b

new tests for new expand GET arguments
author Alain Mazy <am@osimis.io>
date Tue, 17 Oct 2023 15:06:32 +0200
parents b9dffa48f74a
children 536e1a76a2b5
comparison
equal deleted inserted replaced
583:b9dffa48f74a 584:c4f4b0bc908b
1730 DoDelete(_REMOTE, '/modalities/toto') 1730 DoDelete(_REMOTE, '/modalities/toto')
1731 DoDelete(_REMOTE, '/modalities/tata') 1731 DoDelete(_REMOTE, '/modalities/tata')
1732 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/modalities/toto')) 1732 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/modalities/toto'))
1733 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/modalities/tata')) 1733 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/modalities/tata'))
1734 1734
1735 if IsOrthancVersionAbove(_REMOTE, 1, 12, 2):
1736 self.assertEqual(DoGet(_REMOTE, '/modalities?expand'), DoGet(_REMOTE, '/modalities?expand=true'))
1737 self.assertEqual(DoGet(_REMOTE, '/modalities'), DoGet(_REMOTE, '/modalities?expand=false'))
1738
1739
1735 1740
1736 def test_update_peers(self): 1741 def test_update_peers(self):
1737 # curl -X PUT http://localhost:8042/peers/toto -d '["http://localhost:8042/"]' -v 1742 # curl -X PUT http://localhost:8042/peers/toto -d '["http://localhost:8042/"]' -v
1738 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/peers/toto')) 1743 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/peers/toto'))
1739 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/peers/toto')) 1744 self.assertRaises(Exception, lambda: DoDelete(_REMOTE, '/peers/toto'))
1771 1776
1772 DoDelete(_REMOTE, '/peers/toto') 1777 DoDelete(_REMOTE, '/peers/toto')
1773 DoDelete(_REMOTE, '/peers/tata') 1778 DoDelete(_REMOTE, '/peers/tata')
1774 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/peers/toto')) 1779 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/peers/toto'))
1775 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/peers/tata')) 1780 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/peers/tata'))
1781
1782 if IsOrthancVersionAbove(_REMOTE, 1, 12, 2):
1783 self.assertEqual(DoGet(_REMOTE, '/peers?expand'), DoGet(_REMOTE, '/peers?expand=true'))
1784 self.assertEqual(DoGet(_REMOTE, '/peers'), DoGet(_REMOTE, '/peers?expand=false'))
1785
1776 1786
1777 1787
1778 def test_mesterhazy_modification(self): 1788 def test_mesterhazy_modification(self):
1779 # When I modify a series ( eg. curl 1789 # When I modify a series ( eg. curl
1780 # http://localhost:8042/series/uidhere/modify -X POST -d 1790 # http://localhost:8042/series/uidhere/modify -X POST -d
9835 self.assertTrue('7' in m) 9845 self.assertTrue('7' in m)
9836 self.assertTrue('15' in m) 9846 self.assertTrue('15' in m)
9837 self.assertEqual(lastUpdate, m['7']) 9847 self.assertEqual(lastUpdate, m['7'])
9838 self.assertEqual(signature, m['15']) 9848 self.assertEqual(signature, m['15'])
9839 9849
9850 def test_expand(self):
9851 # test new expand options introduced in 1.12.2
9852 if IsOrthancVersionAbove(_REMOTE, 1, 12, 2):
9853 r = UploadInstance(_REMOTE, 'DummyCT.dcm')
9854 instanceId = r['ID']
9855 seriesId = r['ParentSeries']
9856 studyId = r['ParentStudy']
9857
9858 self.assertEqual(DoGet(_REMOTE, '/instances?expand'), DoGet(_REMOTE, '/instances?expand=true'))
9859 self.assertEqual(DoGet(_REMOTE, '/instances'), DoGet(_REMOTE, '/instances?expand=false'))
9860
9861 self.assertEqual(DoGet(_REMOTE, '/series?expand'), DoGet(_REMOTE, '/series?expand=true'))
9862 self.assertEqual(DoGet(_REMOTE, '/series'), DoGet(_REMOTE, '/series?expand=false'))
9863
9864 self.assertEqual(DoGet(_REMOTE, '/studies?expand'), DoGet(_REMOTE, '/studies?expand=true'))
9865 self.assertEqual(DoGet(_REMOTE, '/studies'), DoGet(_REMOTE, '/studies?expand=false'))
9866
9867 r = DoGet(_REMOTE, '/studies/%s/instances?expand=true' % studyId)
9868 self.assertEqual(1, len(r))
9869 self.assertIn('MainDicomTags', r[0])
9870
9871 r = DoGet(_REMOTE, '/studies/%s/instances?expand=false' % studyId)
9872 self.assertEqual(1, len(r))
9873 self.assertIn('66a662ce-7430e543-bad44d47-0dc5a943-ec7a538d', r[0])
9874
9875 self.assertEqual(DoGet(_REMOTE, '/studies/%s/instances?expand' % studyId), DoGet(_REMOTE, '/studies/%s/instances?expand=true' % studyId))
9876 self.assertEqual(DoGet(_REMOTE, '/studies/%s/instances' % studyId), DoGet(_REMOTE, '/studies/%s/instances?expand=true' % studyId))
9877
9878 r = DoGet(_REMOTE, '/studies/%s/series?expand=true' % studyId)
9879 self.assertEqual(1, len(r))
9880 self.assertIn('MainDicomTags', r[0])
9881
9882 r = DoGet(_REMOTE, '/studies/%s/series?expand=false' % studyId)
9883 self.assertEqual(1, len(r))
9884 self.assertIn('f2635388-f01d497a-15f7c06b-ad7dba06-c4c599fe', r[0])
9885
9886 self.assertEqual(DoGet(_REMOTE, '/studies/%s/series?expand' % studyId), DoGet(_REMOTE, '/studies/%s/series?expand=true' % studyId))
9887 self.assertEqual(DoGet(_REMOTE, '/studies/%s/series' % studyId), DoGet(_REMOTE, '/studies/%s/series?expand=true' % studyId))
9888
9889
9890
9840 def test_add_attachment_to_non_existing_resource(self): 9891 def test_add_attachment_to_non_existing_resource(self):
9841 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): # till 1.12.0, it returned a 200 9892 if IsOrthancVersionAbove(_REMOTE, 1, 12, 1): # till 1.12.0, it returned a 200
9842 (headers, body) = DoPutRaw(_REMOTE, '/instances/11111111-11111111-11111111-11111111-11111111/attachments/1025', 'hello') 9893 (headers, body) = DoPutRaw(_REMOTE, '/instances/11111111-11111111-11111111-11111111-11111111/attachments/1025', 'hello')
9843 self.assertEqual('404', headers['status']) 9894 self.assertEqual('404', headers['status'])
9844 9895