X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/e33227021472d98ab797912e73427a9a71c5a531..3b2e2e72969a9fa2246774ae2f01bd60a4cd81de:/apps/dcmeta/tests.py diff --git a/apps/dcmeta/tests.py b/apps/dcmeta/tests.py new file mode 100644 index 00000000..d30d1750 --- /dev/null +++ b/apps/dcmeta/tests.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 +from django.test import TestCase +from dcmeta.models import Description + +class ImportTests(TestCase): + + def test_basic_rdf(self): + d = Description.import_rdf(""" + + + Simple test resource + +""") + self.assertEqual(d.attrs.count(), 1) + self.assertEqual(d['http://purl.org/dc/elements/1.1/', 'title'], u"Simple test resource") + + # refetch the object + d = Description.objects.get(about_uri="http://wolnelektury.pl/document/test") + + self.assertEqual(d.attrs.count(), 1) + self.assertEqual(d['http://purl.org/dc/elements/1.1/', 'title'], u"Simple test resource") + + # access by prefix + self.assertEqual(d['dc', 'title'], u"Simple test resource") + + def test_very_long_dc_property(self): + NAME = "very_long_prop_name.with_dots.and.other_stuff_longer_then_50_chars" + d = Description.import_rdf(""" + + + Simple test resource + +""".format(NAME)) + + self.assertEqual(d.attrs.count(), 1) + self.assertEqual(d['dc', NAME], u"Simple test resource") + + def test_namespace_descriptors(self): + d = Description.import_rdf(""" + + + Albatros + Lange, Antoni + Sekuła, Aleksandra + +""") + + self.assertEqual(d.dublincore.title, u"Albatros") + self.assertEqual(list(d.marcrel), [ + ('trl', u"Lange, Antoni"), ('edt', u"Sekuła, Aleksandra"), + ]) + + def test_multiple_properties(self): + d = Description.import_rdf(""" + + + Albatros + Lange, Antoni + Sekuła, Aleksandra + Niedziałkowska, Marta + Dąbek, Katarzyna + +""") + + self.assertEqual(d['dc', 'title'], u"Albatros") + self.assertEqual(d['marcrel', 'trl'], u"Lange, Antoni") + self.assertEqual(d['marcrel', 'edt'], [ + u"Sekuła, Aleksandra", + u"Niedziałkowska, Marta", + u"Dąbek, Katarzyna", + ])