beta implementation
[wolnelektury.git] / apps / oai / tests / oaipmhapi.py
index ae5e543..08925f9 100644 (file)
@@ -1,20 +1,37 @@
 
-import sys
-print sys.path
 
 from catalogue.test_utils import WLTestCase
 from catalogue import models
 from nose.tools import raises
+from oai.handlers import *
+from oaipmh.server import *
 from os import path
-from oai.handlers import Catalogue
+from oaipmh.metadata import MetadataRegistry
+from lxml import etree
+
 
 class BookMetadataTest(WLTestCase):
     def setUp(self):
-        super(BookMetadata, self).setUp()
+        super(BookMetadataTest, self).setUp()
         xml = path.join(path.dirname(__file__), 'files/lubie-kiedy-kobieta.xml')
         self.book = models.Book.from_xml_file(xml)
+
+        xml = path.join(path.dirname(__file__), 'files/antygona.xml')
+        self.book2 = models.Book.from_xml_file(xml)
+
         self.catalogue = Catalogue()
+        mr = MetadataRegistry()
+        mr.registerWriter('oai_dc', oai_dc_writer)
+        nsmap = {'oai_dc': NS_OAIDC, 'dc': NS_DC, 'xsi': NS_XSI}
+        self.xml = XMLTreeServer(self.catalogue, mr, nsmap)
 
     def test_get_record(self):
-        r = self.catalogue.getRecord(record='lubie-kiedy-kobieta')
-        print r
+        sch = self.xml.getRecord(record='lubie-kiedy-kobieta',
+                                 metadataPrefix='oai_dc')
+        etree.dump(sch.getroot())
+        sch = self.xml.listRecords(metadataPrefix='oai_dc')
+        etree.dump(sch.getroot())
+
+    def test_selecting(self):
+        records, token = self.catalogue.listRecords(**{'set': 'epoch:starozytnosc'})
+        print records