2023-04-11 18:25:00 +00:00
|
|
|
from django.test import TestCase
|
|
|
|
from django.test.client import Client
|
|
|
|
|
2023-04-19 17:15:53 +00:00
|
|
|
from .doab_oai import add_by_doab, doab_client
|
|
|
|
from .models import Item
|
|
|
|
|
2023-04-11 18:25:00 +00:00
|
|
|
class PageTests(TestCase):
|
|
|
|
fixtures = ['testdata.json',]
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
self.client = Client()
|
|
|
|
|
|
|
|
def test_pages(self):
|
|
|
|
r = self.client.get("/")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
r = self.client.get("/publishers/")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
r = self.client.get("/publishers/Universidad%20Nacional%20de%20La%20Plata.%20Facultad%20de%20Humanidades%20y%20Ciencias%20de%20la%20Educación")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
r = self.client.get("/providers/")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
r = self.client.get("/providers/elibrary.duncker-humblot.com/")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
2023-05-03 16:42:32 +00:00
|
|
|
r = self.client.get("/problems/404/")
|
2023-04-27 21:06:28 +00:00
|
|
|
self.assertEqual(r.status_code, 200)
|
2023-05-09 19:19:06 +00:00
|
|
|
r = self.client.get("/problems/publishers/")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
2023-08-21 18:51:42 +00:00
|
|
|
r = self.client.get("/link/10")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
r = self.client.get("/fixing/")
|
|
|
|
self.assertEqual(r.status_code, 200)
|
2023-04-19 17:15:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
sample_doab = 'oai:doab-books:20.500.12854/25850'
|
|
|
|
class HarvestTests(TestCase):
|
|
|
|
def test_add(self):
|
|
|
|
add_by_doab(sample_doab)
|
|
|
|
item = Item.objects.get(doab=sample_doab)
|
|
|
|
self.assertTrue('Sieveking' in item.title)
|
2023-04-19 19:12:44 +00:00
|
|
|
urls = []
|
|
|
|
for linkrel in item.related.filter(status=1):
|
|
|
|
urls.append(linkrel.link.url)
|
|
|
|
self.assertTrue('http://library.oapen.org/handle/20.500.12657/27590' in urls)
|
|
|
|
|
2023-04-19 17:15:53 +00:00
|
|
|
# tweak the record to make it a delete record
|
|
|
|
record = doab_client.getRecord(
|
|
|
|
metadataPrefix='oai_dc',
|
|
|
|
identifier=sample_doab
|
|
|
|
)
|
|
|
|
record[0]._deleted = True
|
|
|
|
add_by_doab(sample_doab, record=record)
|
|
|
|
item = Item.objects.get(doab=sample_doab)
|
|
|
|
self.assertTrue(item.status == 0)
|
2023-04-19 19:12:44 +00:00
|
|
|
self.assertTrue(item.related.filter(status=1).count() == 0)
|
2023-04-19 17:15:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|