Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 34:1047d7bc5210
test limit and since arguments while retrieving DICOM resources in the REST API
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 10 Aug 2015 10:02:18 +0200 |
parents | 156c7ae164b5 |
children | 42ad759ef40a |
comparison
equal
deleted
inserted
replaced
33:eb6d219af210 | 34:1047d7bc5210 |
---|---|
2048 DoPost(_REMOTE, '/tools/execute-script', 'aet = nill', 'application/lua') | 2048 DoPost(_REMOTE, '/tools/execute-script', 'aet = nill', 'application/lua') |
2049 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm') | 2049 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-0002.dcm') |
2050 WaitEmpty(_REMOTE) | 2050 WaitEmpty(_REMOTE) |
2051 self.assertEqual(2, len(DoGet(_LOCAL, '/instances'))) | 2051 self.assertEqual(2, len(DoGet(_LOCAL, '/instances'))) |
2052 self.assertEqual('ORTHANC', DoGet(_LOCAL, '/instances/%s/metadata/RemoteAET' % b['ID'])) | 2052 self.assertEqual('ORTHANC', DoGet(_LOCAL, '/instances/%s/metadata/RemoteAET' % b['ID'])) |
2053 | |
2054 def test_resources_since_limit(self): | |
2055 # Upload 16 instances | |
2056 for i in range(4): | |
2057 UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-000%d.dcm' % (i + 1)) | |
2058 UploadInstance(_REMOTE, 'Brainix/Epi/IM-0001-000%d.dcm' % (i + 1)) | |
2059 UploadInstance(_REMOTE, 'Knee/T1/IM-0001-000%d.dcm' % (i + 1)) | |
2060 UploadInstance(_REMOTE, 'Knee/T2/IM-0001-000%d.dcm' % (i + 1)) | |
2061 | |
2062 self.assertEqual(2, len(DoGet(_REMOTE, '/patients'))) | |
2063 self.assertEqual(2, len(DoGet(_REMOTE, '/studies'))) | |
2064 self.assertEqual(4, len(DoGet(_REMOTE, '/series'))) | |
2065 self.assertEqual(16, len(DoGet(_REMOTE, '/instances'))) | |
2066 | |
2067 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/patients&since=10' % i)) | |
2068 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '/patients&limit=10' % i)) | |
2069 | |
2070 self.assertEqual(0, len(DoGet(_REMOTE, '/patients?since=0&limit=0'))) | |
2071 self.assertEqual(2, len(DoGet(_REMOTE, '/patients?since=0&limit=100'))) | |
2072 self.assertEqual(2, len(DoGet(_REMOTE, '/studies?since=0&limit=100'))) | |
2073 self.assertEqual(4, len(DoGet(_REMOTE, '/series?since=0&limit=100'))) | |
2074 self.assertEqual(16, len(DoGet(_REMOTE, '/instances?since=0&limit=100'))) | |
2075 self.assertEqual(1, len(DoGet(_REMOTE, '/patients?since=1&limit=100'))) | |
2076 self.assertEqual(0, len(DoGet(_REMOTE, '/patients?since=2&limit=100'))) | |
2077 self.assertEqual(0, len(DoGet(_REMOTE, '/patients?since=3&limit=100'))) | |
2078 self.assertEqual(1, len(DoGet(_REMOTE, '/studies?since=1&limit=100'))) | |
2079 self.assertEqual(3, len(DoGet(_REMOTE, '/series?since=1&limit=100'))) | |
2080 self.assertEqual(2, len(DoGet(_REMOTE, '/series?since=2&limit=100'))) | |
2081 self.assertEqual(1, len(DoGet(_REMOTE, '/series?since=3&limit=100'))) | |
2082 self.assertEqual(0, len(DoGet(_REMOTE, '/series?since=4&limit=100'))) | |
2083 self.assertEqual(0, len(DoGet(_REMOTE, '/series?since=100&limit=100'))) | |
2084 self.assertEqual(15, len(DoGet(_REMOTE, '/instances?since=1&limit=100'))) | |
2085 | |
2086 for limit in [ 1, 2, 3, 7, 16, 17 ]: | |
2087 s = {} | |
2088 since = 0 | |
2089 while True: | |
2090 t = DoGet(_REMOTE, '/instances?since=%d&limit=%d' % (since, limit)) | |
2091 if len(t) == 0: | |
2092 break | |
2093 | |
2094 since += len(t) | |
2095 for i in t: | |
2096 s[i] = None | |
2097 | |
2098 self.assertEqual(16, len(s)) | |
2099 for instance in DoGet(_REMOTE, '/instances'): | |
2100 self.assertTrue(instance in s) |