Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 342:bf8369ea3ff1
more tests of webdav
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 15 Oct 2020 17:34:01 +0200 |
parents | 66a36befb208 |
children | bed0ab3a1391 |
comparison
equal
deleted
inserted
replaced
341:66a36befb208 | 342:bf8369ea3ff1 |
---|---|
5328 while True: | 5328 while True: |
5329 s = DoGet(_REMOTE, '/storage-commitment/%s' % uid) | 5329 s = DoGet(_REMOTE, '/storage-commitment/%s' % uid) |
5330 if s['Status'] != 'Pending': | 5330 if s['Status'] != 'Pending': |
5331 return s | 5331 return s |
5332 else: | 5332 else: |
5333 time.sleep(0.1) | 5333 time.sleep(0.01) |
5334 | 5334 |
5335 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') | 5335 instance = UploadInstance(_REMOTE, 'DummyCT.dcm') |
5336 sopClassUid = '1.2.840.10008.5.1.4.1.1.4' | 5336 sopClassUid = '1.2.840.10008.5.1.4.1.1.4' |
5337 sopInstanceUid = '1.2.840.113619.2.176.2025.1499492.7040.1171286242.109' | 5337 sopInstanceUid = '1.2.840.113619.2.176.2025.1499492.7040.1171286242.109' |
5338 | 5338 |
5412 while True: | 5412 while True: |
5413 s = DoGet(_REMOTE, '/storage-commitment/%s' % uid) | 5413 s = DoGet(_REMOTE, '/storage-commitment/%s' % uid) |
5414 if s['Status'] != 'Pending': | 5414 if s['Status'] != 'Pending': |
5415 return s | 5415 return s |
5416 else: | 5416 else: |
5417 time.sleep(0.1) | 5417 time.sleep(0.01) |
5418 | 5418 |
5419 i = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID'] | 5419 i = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID'] |
5420 self.assertEqual(1, len(DoGet(_REMOTE, '/instances'))) | 5420 self.assertEqual(1, len(DoGet(_REMOTE, '/instances'))) |
5421 self.assertEqual(0, len(DoGet(_LOCAL, '/instances'))) | 5421 self.assertEqual(0, len(DoGet(_LOCAL, '/instances'))) |
5422 | 5422 |
6015 | 6015 |
6016 | 6016 |
6017 def test_webdav(self): | 6017 def test_webdav(self): |
6018 self.assertRaises(Exception, lambda: DoPropFind(_REMOTE, '/webdav/', 2)) | 6018 self.assertRaises(Exception, lambda: DoPropFind(_REMOTE, '/webdav/', 2)) |
6019 | 6019 |
6020 xml = DoPropFind(_REMOTE, '/webdav/', 1) | 6020 for suffix in [ '', '/' ]: |
6021 pprint.pprint(xml.keys()) | 6021 f = DoPropFind(_REMOTE, '/webdav' + suffix, 0) |
6022 print(xml['/webdav/'].toprettyxml()) | 6022 self.assertEqual(1, len(f)) |
6023 | 6023 self.assertTrue('/webdav/' in f.keys()) |
6024 #print(xml.toprettyxml()) | 6024 self.assertTrue(f['/webdav/']['folder']) |
6025 #for i in xml.getElementsByTagName('D:response'): | 6025 self.assertEqual('webdav', f['/webdav/']['displayname']) |
6026 # print(i.getElementsByTagName('D:href')[0].childNodes[0].data) | 6026 |
6027 # print(i.getElementsByTagName('D:prop')[0].toprettyxml()) | 6027 f = DoPropFind(_REMOTE, '/webdav' + suffix, 1) |
6028 | 6028 self.assertEqual(6, len(f)) |
6029 | 6029 self.assertTrue(f['/webdav/']['folder']) |
6030 self.assertEqual('webdav', f['/webdav/']['displayname']) | |
6030 | 6031 |
6032 for i in [ 'by-dates', 'by-patients', 'by-studies', 'by-uids', 'uploads' ]: | |
6033 self.assertTrue(f['/webdav/%s' % i]['folder']) | |
6034 self.assertEqual(i, f['/webdav/%s' % i]['displayname']) | |
6035 | |
6036 for depth in [ 0, 1 ]: | |
6037 for suffix2 in [ '', '/' ]: | |
6038 g = DoPropFind(_REMOTE, '/webdav/%s%s' % (i, suffix2), depth) | |
6039 | |
6040 if i == 'uploads': | |
6041 # Empty folders might still exist in "/uploads/" | |
6042 self.assertTrue('/webdav/uploads/' in g) | |
6043 self.assertEqual('uploads', g['/webdav/uploads/']['displayname']) | |
6044 for j in g.items(): | |
6045 self.assertTrue(g.items()[0][1]['folder']) | |
6046 else: | |
6047 self.assertEqual(1, len(g)) | |
6048 self.assertEqual('/webdav/%s/' % i, g.items()[0][0]) | |
6049 self.assertTrue(g.items()[0][1]['folder']) | |
6050 self.assertEqual(i, g.items()[0][1]['displayname']) | |
6051 | |
6031 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) | 6052 self.assertEqual(0, len(DoGet(_REMOTE, '/patients'))) |
6032 UploadInstance(_REMOTE, 'Comunix/Ct/IM-0001-0001.dcm') | 6053 with open(GetDatabasePath('DummyCT.dcm'), 'rb') as f: |
6054 DoPut(_REMOTE, '/webdav/uploads/dummy', f.read(), 'text/plain') | |
6055 | |
6056 while len(DoGet(_REMOTE, '/patients')) == 0: | |
6057 time.sleep(0.01) | |
6058 self.assertEqual(1, len(DoGet(_REMOTE, '/patients'))) | |
6059 |