Mercurial > hg > orthanc-tests
diff Tests/Tests.py @ 357:18597ca05e48
test_upload_zip
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 08 Dec 2020 15:02:42 +0100 |
parents | 95ee4e79825b |
children | 8b476a383999 |
line wrap: on
line diff
--- a/Tests/Tests.py Mon Dec 07 17:24:10 2020 +0100 +++ b/Tests/Tests.py Tue Dec 08 15:02:42 2020 +0100 @@ -6128,3 +6128,28 @@ DoPut(_REMOTE, '/tools/log-level-%s' % c, DoGet(_REMOTE, '/tools/log-level-%s' % c)) self.assertRaises(Exception, lambda: DoPut(_REMOTE, '/tools/log-level-nope', 'default')) + + + def test_upload_zip(self): + f = StringIO() + with zipfile.ZipFile(f, 'w') as z: + z.writestr('hello/world/invalid.txt', 'Hello world') + with open(GetDatabasePath('DummyCT.dcm'), 'rb') as g: + c = g.read() + z.writestr('hello/world/dicom1.dcm', c) + z.writestr('hello/world/dicom2.dcm', c) + + f.seek(0) + i = DoPost(_REMOTE, '/instances', f.read()) + + self.assertEqual(2, len(i)) + self.assertEqual(i[0], i[1]) + self.assertEqual(6, len(i[0])) + self.assertEqual('66a662ce-7430e543-bad44d47-0dc5a943-ec7a538d', i[0]['ID']) + self.assertEqual('f2635388-f01d497a-15f7c06b-ad7dba06-c4c599fe', i[0]['ParentSeries']) + self.assertEqual('b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0', i[0]['ParentStudy']) + self.assertEqual('6816cb19-844d5aee-85245eba-28e841e6-2414fae2', i[0]['ParentPatient']) + self.assertEqual('/instances/66a662ce-7430e543-bad44d47-0dc5a943-ec7a538d', i[0]['Path']) + + # Both are "Success" (instead of one "AlreadyStored"), because "OverwriteInstance" is true + self.assertEqual('Success', i[0]['Status'])