# HG changeset patch # User Sebastien Jodogne # Date 1677256134 -3600 # Node ID 1596865844ff685955fee2184c310ac221398d66 # Parent 2170c10f9d49eb82ed87c8fed41911fe8aa1ef9f added test_nonexistent_archives diff -r 2170c10f9d49 -r 1596865844ff Tests/Tests.py --- a/Tests/Tests.py Fri Jan 27 12:51:18 2023 +0100 +++ b/Tests/Tests.py Fri Feb 24 17:28:54 2023 +0100 @@ -9221,3 +9221,53 @@ self.assertEqual(1475, im.size[0]) self.assertEqual(1475, im.size[1]) self.assertEqual('c684b0050dc2523041240bf2d26dc85e', ComputeMD5(DoGet(_REMOTE, uri))) + + + def test_nonexistent_archives(self): + def GetNumberOfFiles(uri): + archive = DoGet(_REMOTE, uri) + z = zipfile.ZipFile(StringIO(archive), 'r') + return len(z.namelist()) + + def IsExistent(uri): + try: + DoGet(_REMOTE, uri) + return True + except: + return False + + instance = UploadInstance(_REMOTE, 'DummyCT.dcm') ['ID'] + patient = DoGet(_REMOTE, '/instances/%s/patient' % instance) ['ID'] + study = DoGet(_REMOTE, '/instances/%s/study' % instance) ['ID'] + series = DoGet(_REMOTE, '/instances/%s/series' % instance) ['ID'] + + self.assertEqual(1, GetNumberOfFiles('/patients/%s/archive' % patient)) + self.assertEqual(2, GetNumberOfFiles('/patients/%s/media' % patient)) + self.assertEqual(1, GetNumberOfFiles('/studies/%s/archive' % study)) + self.assertEqual(2, GetNumberOfFiles('/studies/%s/media' % study)) + self.assertEqual(1, GetNumberOfFiles('/series/%s/archive' % series)) + self.assertEqual(2, GetNumberOfFiles('/series/%s/media' % series)) + + self.assertTrue(IsExistent('/patients/%s/archive' % patient)) + self.assertFalse(IsExistent('/studies/%s/archive' % patient)) + self.assertFalse(IsExistent('/series/%s/archive' % patient)) + + self.assertFalse(IsExistent('/patients/%s/archive' % study)) + self.assertTrue(IsExistent('/studies/%s/archive' % study)) + self.assertFalse(IsExistent('/series/%s/archive' % study)) + + self.assertFalse(IsExistent('/patients/%s/archive' % series)) + self.assertFalse(IsExistent('/studies/%s/archive' % series)) + self.assertTrue(IsExistent('/series/%s/archive' % series)) + + self.assertTrue(IsExistent('/patients/%s/media' % patient)) + self.assertFalse(IsExistent('/studies/%s/media' % patient)) + self.assertFalse(IsExistent('/series/%s/media' % patient)) + + self.assertFalse(IsExistent('/patients/%s/media' % study)) + self.assertTrue(IsExistent('/studies/%s/media' % study)) + self.assertFalse(IsExistent('/series/%s/media' % study)) + + self.assertFalse(IsExistent('/patients/%s/media' % series)) + self.assertFalse(IsExistent('/studies/%s/media' % series)) + self.assertTrue(IsExistent('/series/%s/media' % series))