Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 521:8114f67e0f7f
labels: doc
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 07 Apr 2023 15:04:59 +0200 |
parents | b1991073e4d1 |
children | fce9e90acdc2 |
comparison
equal
deleted
inserted
replaced
520:a06d0a45c62f | 521:8114f67e0f7f |
---|---|
9340 | 9340 |
9341 for base in [ '/instances/%s' % u, | 9341 for base in [ '/instances/%s' % u, |
9342 '/series/%s' % series, | 9342 '/series/%s' % series, |
9343 '/studies/%s' % study, | 9343 '/studies/%s' % study, |
9344 '/patients/%s' % patient ]: | 9344 '/patients/%s' % patient ]: |
9345 | |
9346 # no tags by default | |
9345 self.assertEqual(0, len(DoGet(_REMOTE, base) ['Labels'])) | 9347 self.assertEqual(0, len(DoGet(_REMOTE, base) ['Labels'])) |
9348 | |
9349 # 404 if requesting a tag that does apply for a resource | |
9346 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '%s/labels/hello' % base)) | 9350 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '%s/labels/hello' % base)) |
9351 | |
9352 # delete a non existing tag does not generate an error | |
9347 self.assertEqual('', DoDelete(_REMOTE, '%s/labels/hello' % base)) | 9353 self.assertEqual('', DoDelete(_REMOTE, '%s/labels/hello' % base)) |
9348 self.assertEqual(0, len(DoGet(_REMOTE, base) ['Labels'])) | 9354 self.assertEqual(0, len(DoGet(_REMOTE, base) ['Labels'])) |
9349 self.assertRaises(Exception, lambda: DoPut(_REMOTE, '%s/labels/@' % base)) # Not an alphanumeric label | 9355 |
9356 # Not an alphanumeric label -> 400 | |
9357 self.assertRaises(Exception, lambda: DoPut(_REMOTE, '%s/labels/@' % base)) | |
9358 | |
9359 # add a tag | |
9350 self.assertEqual('', DoPut(_REMOTE, '%s/labels/hello' % base)) | 9360 self.assertEqual('', DoPut(_REMOTE, '%s/labels/hello' % base)) |
9351 self.assertEqual('', DoPut(_REMOTE, '%s/labels/hello' % base)) # Ignore double tagging | 9361 self.assertEqual(1, len(DoGet(_REMOTE, base) ['Labels'])) |
9362 self.assertEqual('hello', DoGet(_REMOTE, base) ['Labels'][0]) | |
9363 | |
9364 # double tagging does not generate any error | |
9365 self.assertEqual('', DoPut(_REMOTE, '%s/labels/hello' % base)) | |
9352 self.assertEqual('', DoGet(_REMOTE, '%s/labels/hello' % base)) | 9366 self.assertEqual('', DoGet(_REMOTE, '%s/labels/hello' % base)) |
9367 self.assertEqual(1, len(DoGet(_REMOTE, base) ['Labels'])) | |
9368 self.assertEqual('hello', DoGet(_REMOTE, base) ['Labels'][0]) | |
9369 | |
9370 # add a second tag | |
9371 self.assertEqual('', DoPut(_REMOTE, '%s/labels/world' % base)) | |
9372 self.assertEqual('', DoGet(_REMOTE, '%s/labels/world' % base)) | |
9373 self.assertEqual('', DoGet(_REMOTE, '%s/labels/hello' % base)) | |
9374 self.assertEqual(2, len(DoGet(_REMOTE, base) ['Labels'])) | |
9375 self.assertIn(DoGet(_REMOTE, base) ['Labels'][0], ['hello', 'world']) | |
9376 self.assertIn(DoGet(_REMOTE, base) ['Labels'][1], ['hello', 'world']) | |
9377 | |
9378 # list all tags defined in the system (not only on this resource) | |
9379 | |
9380 # delete the first tag | |
9353 self.assertEqual('', DoDelete(_REMOTE, '%s/labels/hello' % base)) | 9381 self.assertEqual('', DoDelete(_REMOTE, '%s/labels/hello' % base)) |
9382 self.assertEqual(1, len(DoGet(_REMOTE, base) ['Labels'])) | |
9383 self.assertEqual('world', DoGet(_REMOTE, base) ['Labels'][0]) | |
9384 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '%s/labels/hello' % base)) | |
9385 | |
9386 # delete the second tag | |
9387 self.assertEqual('', DoDelete(_REMOTE, '%s/labels/world' % base)) | |
9354 self.assertEqual(0, len(DoGet(_REMOTE, base) ['Labels'])) | 9388 self.assertEqual(0, len(DoGet(_REMOTE, base) ['Labels'])) |
9355 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '%s/labels/hello' % base)) | 9389 self.assertRaises(Exception, lambda: DoGet(_REMOTE, '%s/labels/world' % base)) |
9390 | |
9391 # test all valid chars | |
9356 self.assertEqual('', DoPut(_REMOTE, '%s/labels/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.' % base)) | 9392 self.assertEqual('', DoPut(_REMOTE, '%s/labels/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-.' % base)) |
9357 else: | 9393 else: |
9358 print("Your database backend doesn't support labels") | 9394 print("Your database backend doesn't support labels") |
9359 | 9395 |
9360 def test_find_labels(self): | 9396 def test_find_labels(self): |