comparison Tests/Tests.py @ 202:f26f9ae9c599

test_changes_2 and test_bitbucket_issue_124
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 10 Jan 2019 20:53:34 +0100
parents af8e034f4262
children a515eec74078
comparison
equal deleted inserted replaced
201:c92e7191c912 202:f26f9ae9c599
19 # 19 #
20 # You should have received a copy of the GNU General Public License 20 # You should have received a copy of the GNU General Public License
21 # along with this program. If not, see <http://www.gnu.org/licenses/>. 21 # along with this program. If not, see <http://www.gnu.org/licenses/>.
22 22
23 23
24 import base64
25 import copy
26 import pprint
24 import tempfile 27 import tempfile
25 import unittest 28 import unittest
26 import base64
27 import copy
28 29
29 from PIL import ImageChops 30 from PIL import ImageChops
30 from Toolbox import * 31 from Toolbox import *
31 from xml.dom import minidom 32 from xml.dom import minidom
32 33
407 408
408 def test_changes(self): 409 def test_changes(self):
409 # Check emptiness 410 # Check emptiness
410 c = DoGet(_REMOTE, '/changes') 411 c = DoGet(_REMOTE, '/changes')
411 self.assertEqual(0, len(c['Changes'])) 412 self.assertEqual(0, len(c['Changes']))
412 self.assertEqual(0, c['Last']) 413 #self.assertEqual(0, c['Last']) # Not true anymore for Orthanc >= 1.5.2
413 self.assertTrue(c['Done']) 414 self.assertTrue(c['Done'])
414 c = DoGet(_REMOTE, '/changes?last') 415 c = DoGet(_REMOTE, '/changes?last')
415 self.assertEqual(0, len(c['Changes'])) 416 self.assertEqual(0, len(c['Changes']))
416 self.assertEqual(0, c['Last']) 417 #self.assertEqual(0, c['Last']) # Not true anymore for Orthanc >= 1.5.2
417 self.assertTrue(c['Done']) 418 self.assertTrue(c['Done'])
418 419
419 # Add 1 instance 420 # Add 1 instance
420 i = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm')['ID'] 421 i = UploadInstance(_REMOTE, 'Brainix/Flair/IM-0001-0001.dcm')['ID']
421 c = DoGet(_REMOTE, '/changes') 422 c = DoGet(_REMOTE, '/changes')
4233 self.assertEqual(dicomSize, int(s['DicomDiskSize'])) 4234 self.assertEqual(dicomSize, int(s['DicomDiskSize']))
4234 self.assertEqual(dicomSize, int(s['DicomUncompressedSize'])) 4235 self.assertEqual(dicomSize, int(s['DicomUncompressedSize']))
4235 self.assertLess(dicomSize, int(s['UncompressedSize'])) 4236 self.assertLess(dicomSize, int(s['UncompressedSize']))
4236 self.assertEqual(s['UncompressedSize'], s['DiskSize']) 4237 self.assertEqual(s['UncompressedSize'], s['DiskSize'])
4237 4238
4239
4240 def test_changes_2(self):
4241 # More consistent behavior since Orthanc 1.5.2
4242 # https://groups.google.com/d/msg/orthanc-users/QhzB6vxYeZ0/YxabgqpfBAAJ
4243
4244 # Make sure that this is not the first change
4245 self.assertEqual(0, len(DoGet(_REMOTE, '/instances')))
4246 a = UploadInstance(_REMOTE, 'DummyCT.dcm')['ID']
4247 self.assertEqual(1, len(DoGet(_REMOTE, '/instances')))
4248 DoDelete(_REMOTE, '/instances/%s' % a)
4249
4250 # No more instance, but there were previous changes
4251 self.assertEqual(0, len(DoGet(_REMOTE, '/instances')))
4252
4253 c = DoGet(_REMOTE, '/changes')
4254 self.assertEqual(0, len(c['Changes']))
4255 self.assertTrue(c['Done'])
4256 seq = c['Last']
4257
4258 c = DoGet(_REMOTE, '/changes?last')
4259 self.assertEqual(0, len(c['Changes']))
4260 self.assertTrue(c['Done'])
4261 self.assertEqual(seq, c['Last'])
4262
4263 c = DoGet(_REMOTE, '/changes?since=%d' % (seq + 1000))
4264 self.assertEqual(0, len(c['Changes']))
4265 self.assertTrue(c['Done'])
4266 self.assertEqual(seq, c['Last'])
4267
4268 # Add one instance
4269 UploadInstance(_REMOTE, 'DummyCT.dcm')
4270 self.assertEqual(1, len(DoGet(_REMOTE, '/instances')))
4271
4272 c = DoGet(_REMOTE, '/changes')
4273 self.assertEqual(4, len(c['Changes']))
4274 self.assertTrue(c['Done'])
4275 self.assertEqual(seq + 4, c['Last'])
4276
4277 c = DoGet(_REMOTE, '/changes?last')
4278 self.assertEqual(1, len(c['Changes']))
4279 self.assertTrue(c['Done'])
4280 self.assertEqual(seq + 4, c['Last'])
4281
4282 c = DoGet(_REMOTE, '/changes?since=%d' % (seq + 1000))
4283 self.assertEqual(0, len(c['Changes']))
4284 self.assertTrue(c['Done'])
4285 self.assertEqual(seq + 4, c['Last'])
4286
4287 # Remove the uploaded instance
4288 DoDelete(_REMOTE, '/instances/%s' % a)
4289 self.assertEqual(0, len(DoGet(_REMOTE, '/instances')))
4290
4291 c = DoGet(_REMOTE, '/changes')
4292 self.assertEqual(0, len(c['Changes']))
4293 self.assertTrue(c['Done'])
4294 self.assertEqual(seq + 4, c['Last'])
4295
4296 c = DoGet(_REMOTE, '/changes?last')
4297 self.assertEqual(0, len(c['Changes']))
4298 self.assertTrue(c['Done'])
4299 self.assertEqual(seq + 4, c['Last'])
4300
4301 c = DoGet(_REMOTE, '/changes?since=%d' % (seq + 1000))
4302 self.assertEqual(0, len(c['Changes']))
4303 self.assertTrue(c['Done'])
4304 self.assertEqual(seq + 4, c['Last'])
4305
4306
4307 def test_bitbucket_issue_124(self):
4308 a = UploadInstance(_REMOTE, 'Issue124.dcm')['ID']
4309
4310 z = GetArchive(_REMOTE, '/patients/%s/media' % a)
4311 self.assertEqual(2, len(z.namelist()))