Exemplo n.º 1
0
 def setUp(self):
     Range(label="range1",
           identifier="book1",
           name="range1",
           ATid="http://example.org/iiif/book1/range/range1").save()
     Range(label="range2",
           identifier="book1",
           name="range2",
           ATid="http://example.org/iiif/book1/range/range2").save()
     Range(label="range3",
           identifier="book1",
           name="range3",
           ATid="http://example.org/iiif/book1/range/range3").save()
Exemplo n.º 2
0
 def test_a_range_can_be_successfully_created_with_no_nested_structures(
         self):
     data = {"range": json.loads(open(RANGE_SHORT).read())}
     response = self.client.post(URL, data)
     if settings.QUEUE_POST_ENABLED:
         while self.client.get(
                 response.data["status"]
         ).status_code != status.HTTP_301_MOVED_PERMANENTLY:
             pass  # Wait till background process finishes
         response = self.client.get(response.data["status"])
     self.assertEqual(response.data["responseCode"],
                      status.HTTP_201_CREATED)
     self.assertEqual(Range.objects()[0].label, 'Table of Contents')
     self.assertEqual(Range.objects()[0].ATid,
                      settings.IIIF_BASE_URL + "/book1/range/r0")
Exemplo n.º 3
0
 def test_a_range_can_be_updated_with_a_new_belongsTo_field_will_replace_existing_values(
         self):
     Range(label="p1",
           identifier="book1",
           name="r0",
           ATid="http://example.org/iiif/book1/range/r0",
           belongsTo=[settings.IIIF_BASE_URL + "/book1/manifest"]).save()
     self.assertEqual(
         Range.objects.get(identifier='book1', name="r0").belongsTo,
         [settings.IIIF_BASE_URL + "/book1/manifest"])
     self.assertFalse("http://example.org/iiif/book2/manifest" in Range.
                      objects.get(identifier='book1', name="r0").belongsTo)
     data = {
         "range": {
             "belongsTo": ["http://example.org/iiif/book2/manifest"]
         }
     }
     response = self.client.put('/book1/range/r0', data)
     if settings.QUEUE_PUT_ENABLED:
         while self.client.get(
                 response.data["status"]
         ).status_code != status.HTTP_301_MOVED_PERMANENTLY:
             pass  # Wait till background process finishes
         response = self.client.get(response.data["status"])
     self.assertEqual(response.data["responseCode"], status.HTTP_200_OK)
     self.assertFalse(settings.IIIF_BASE_URL +
                      "/book1/manifest" in Range.objects.get(
                          identifier='book1', name="r0").belongsTo)
     self.assertTrue("http://example.org/iiif/book2/manifest" in Range.
                     objects.get(identifier='book1', name="r0").belongsTo)
Exemplo n.º 4
0
 def setUp(self):
     self.user = User.create_user('testadmin', '*****@*****.**',
                                  'testadminpass', True)
     jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
     jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
     payload = jwt_payload_handler(self.user)
     token = jwt_encode_handler(payload)
     self.client.credentials(HTTP_AUTHORIZATION='JWT ' + token)
     Range(label="range1",
           identifier="book1",
           name="range1",
           ATid="http://example.org/iiif/book1/range/range1").save()
     Range(label="range2",
           identifier="book1",
           name="range2",
           ATid="http://example.org/iiif/book1/range/range2").save()
Exemplo n.º 5
0
 def test_a_new_range_will_be_reated_from_a_POST_of_manifest(self):
     data = {"manifest": json.loads(open(MANIFEST_FULL).read())}
     response = self.client.post('/book1/manifest', data)
     if settings.QUEUE_POST_ENABLED:
         while self.client.get(
                 response.data["status"]
         ).status_code != status.HTTP_301_MOVED_PERMANENTLY:
             pass  # Wait till background process finishes
         response = self.client.get(response.data["status"])
     self.assertEqual(response.data["responseCode"],
                      status.HTTP_201_CREATED)
     self.assertEqual(len(Range.objects()), 4)
Exemplo n.º 6
0
 def test_a_range_with_no_id_given_can_be_successfully_created(self):
     data = {"range": json.loads(open(RANGE_SHORT).read())}
     del data["range"]["@id"]
     response = self.client.post("/identifier/range", data)
     if settings.QUEUE_POST_ENABLED:
         while self.client.get(
                 response.data["status"]
         ).status_code != status.HTTP_301_MOVED_PERMANENTLY:
             pass  # Wait till background process finishes
         response = self.client.get(response.data["status"])
     self.assertEqual(response.data["responseCode"],
                      status.HTTP_201_CREATED)
     self.assertEqual(Range.objects()[0].label, 'Table of Contents')
Exemplo n.º 7
0
 def test_a_range_can_be_successfully_created_with_one_level_nested_structures(
         self):
     data = {"range": json.loads(open(RANGE_MEDIUM).read())}
     response = self.client.post(URL, data)
     if settings.QUEUE_POST_ENABLED:
         while self.client.get(
                 response.data["status"]
         ).status_code != status.HTTP_301_MOVED_PERMANENTLY:
             pass  # Wait till background process finishes
         response = self.client.get(response.data["status"])
     self.assertEqual(response.data["responseCode"],
                      status.HTTP_201_CREATED)
     self.assertEqual(len(Range.objects()), 4)
     self.assertEqual(len(Canvas.objects()), 4)
     createdRangeID = settings.IIIF_BASE_URL + "/book1/range/r0"
     self.assertEqual(
         createdRangeID in Canvas.objects.get(identifier='book1',
                                              name='cover').belongsTo, True)
     self.assertEqual(
         createdRangeID in Canvas.objects.get(identifier='book1',
                                              name='backCover').belongsTo,
         True)
Exemplo n.º 8
0
 def setUp(self):
     Range(label="cool range", identifier="book1", name="range1", ATid="http://example.org/iiif/book1/range1").save()
     Range(label="not so cool range", identifier="book1", name="range2", ATid="http://example.org/iiif/book1/range2").save()
     Range(label="cool range", identifier="book2", name="range3", ATid="http://example.org/iiif/book2/range3").save()
     self.url = "/search/range/"