# HG changeset patch # User amazy # Date 1549362418 -3600 # Node ID eba6b8c38eee0be738d67be688ac5047bad02cf3 # Parent dc9682d80d220ee15ea0434ae8924dbf3ef7c1ca added a delete_cascade test to reproduce an issue in our MSSQL plugin diff -r dc9682d80d22 -r eba6b8c38eee Tests/Tests.py --- a/Tests/Tests.py Mon Feb 04 16:02:34 2019 +0100 +++ b/Tests/Tests.py Tue Feb 05 11:26:58 2019 +0100 @@ -390,6 +390,23 @@ self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalDiskSize']) self.assertEqual('0', DoGet(_REMOTE, '/statistics')['TotalUncompressedSize']) + def test_delete_cascade(self): + # make sure deleting the last instance of a study deletes the series, study and patient + + self.assertEqual(0, len(DoGet(_REMOTE, '/instances'))) # make sure orthanc is empty when starting the test + a = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID'] + self.assertEqual(1, len(DoGet(_REMOTE, '/instances'))) + self.assertEqual(1, len(DoGet(_REMOTE, '/series'))) + self.assertEqual(1, len(DoGet(_REMOTE, '/studies'))) + self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) + + DoDelete(_REMOTE, '/instances/%s' % a) + + self.assertEqual(0, len(DoGet(_REMOTE, '/instances'))) + self.assertEqual(0, len(DoGet(_REMOTE, '/series'))) + self.assertEqual(0, len(DoGet(_REMOTE, '/studies'))) + self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) + def test_multiframe(self): i = UploadInstance(_REMOTE, 'Multiframe.dcm')['ID']