annotate sword2-libraries-pyinstaller-compatible/tests/functional/test_deposit_receipt.py @ 22:d1752c7031e4 timeouts tip

Updated .hgignore to ignore sword2_logging.conf and anything in .cache
author Steve Welburn <stephen.welburn@eecs.qmul.ac.uk>
date Tue, 22 Jan 2013 14:43:42 +0000
parents 8b69bba225c9
children
rev   line source
marco@16 1 from . import TestController
marco@16 2
marco@16 3 from sword2.deposit_receipt import Deposit_Receipt
marco@16 4 from sword2.utils import NS
marco@16 5
marco@16 6 DR = """<?xml version="1.0" ?>
marco@16 7 <entry xmlns:dcterms="http://purl.org/dc/terms/"
marco@16 8 xmlns:sword="http://purl.org/net/sword/terms/"
marco@16 9 xmlns="http://www.w3.org/2005/Atom"
marco@16 10 xmlns:app="http://www.w3.org/2007/app">
marco@16 11
marco@16 12 <title>My Deposit</title>
marco@16 13 <id>info:something:1</id>
marco@16 14 <updated>2008-08-18T14:27:08Z</updated>
marco@16 15 <summary type="text">A summary</summary>
marco@16 16 <generator uri="http://www.myrepository.ac.uk/sword-plugin" version="1.0"/>
marco@16 17
marco@16 18 <!-- the item's metadata -->
marco@16 19 <dcterms:abstract>The abstract</dcterms:abstract>
marco@16 20 <dcterms:accessRights>Access Rights</dcterms:accessRights>
marco@16 21 <dcterms:alternative>Alternative Title</dcterms:alternative>
marco@16 22 <dcterms:available>Date Available</dcterms:available>
marco@16 23 <dcterms:bibliographicCitation>Bibliographic Citation</dcterms:bibliographicCitation>
marco@16 24 <dcterms:contributor>Contributor</dcterms:contributor>
marco@16 25 <dcterms:description>Description</dcterms:description>
marco@16 26 <dcterms:hasPart>Has Part</dcterms:hasPart>
marco@16 27 <dcterms:hasVersion>Has Version</dcterms:hasVersion>
marco@16 28 <dcterms:identifier>Identifier</dcterms:identifier>
marco@16 29 <dcterms:isPartOf>Is Part Of</dcterms:isPartOf>
marco@16 30 <dcterms:publisher>Publisher</dcterms:publisher>
marco@16 31 <dcterms:references>References</dcterms:references>
marco@16 32 <dcterms:rightsHolder>Rights Holder</dcterms:rightsHolder>
marco@16 33 <dcterms:source>Source</dcterms:source>
marco@16 34 <dcterms:title>Title</dcterms:title>
marco@16 35 <dcterms:type>Type</dcterms:type>
marco@16 36
marco@16 37 <sword:verboseDescription>Verbose description</sword:verboseDescription>
marco@16 38 <sword:treatment>Unpacked. JPEG contents converted to JPEG2000.</sword:treatment>
marco@16 39
marco@16 40 <link rel="alternate" href="http://www.swordserver.ac.uk/col1/mydeposit.html"/>
marco@16 41 <content type="application/zip" src="http://www.swordserver.ac.uk/col1/mydeposit"/>
marco@16 42 <link rel="edit-media" href="http://www.swordserver.ac.uk/col1/mydeposit"/>
marco@16 43 <link rel="edit" href="http://www.swordserver.ac.uk/col1/mydeposit.atom" />
marco@16 44 <link rel="http://purl.org/net/sword/terms/add" href="http://www.swordserver.ac.uk/col1/mydeposit.atom" />
marco@16 45 <sword:packaging>http://purl.org/net/sword/package/BagIt</sword:packaging>
marco@16 46
marco@16 47 <link rel="http://purl.org/net/sword/terms/originalDeposit"
marco@16 48 type="application/zip"
marco@16 49 href="http://www.swordserver.ac.uk/col1/mydeposit/package.zip"/>
marco@16 50 <link rel="http://purl.org/net/sword/terms/derivedResource"
marco@16 51 type="application/pdf"
marco@16 52 href="http://www.swordserver.ac.uk/col1/mydeposit/file1.pdf"/>
marco@16 53 <link rel="http://purl.org/net/sword/terms/derivedResource"
marco@16 54 type="application/pdf"
marco@16 55 href="http://www.swordserver.ac.uk/col1/mydeposit/file2.pdf"/>
marco@16 56
marco@16 57 <link rel="http://purl.org/net/sword/terms/statement"
marco@16 58 type="application/atom+xml;type=feed"
marco@16 59 href="http://www.swordserver.ac.uk/col1/mydeposit.feed"/>
marco@16 60 <link rel="http://purl.org/net/sword/terms/statement"
marco@16 61 type="application/rdf+xml"
marco@16 62 href="http://www.swordserver.ac.uk/col1/mydeposit.rdf"/>
marco@16 63
marco@16 64
marco@16 65 </entry>"""
marco@16 66
marco@16 67 class TestDepositReceipt(TestController):
marco@16 68 def test_01_init(self):
marco@16 69 dr = Deposit_Receipt(DR)
marco@16 70 assert dr.metadata['dcterms_title'] == "Title"
marco@16 71 assert dr.metadata['atom_id'] == "info:something:1"
marco@16 72 assert dr.id == "info:something:1"
marco@16 73 assert dr.title == "My Deposit"
marco@16 74 assert dr.metadata['sword_verboseDescription'] == "Verbose description"
marco@16 75
marco@16 76 def test_02_edit(self):
marco@16 77 dr = Deposit_Receipt(DR)
marco@16 78 assert dr.edit == "http://www.swordserver.ac.uk/col1/mydeposit.atom"
marco@16 79 assert dr.edit_media == "http://www.swordserver.ac.uk/col1/mydeposit"
marco@16 80
marco@16 81 def test_03_content_iri(self):
marco@16 82 dr = Deposit_Receipt(DR)
marco@16 83 assert dr.edit == "http://www.swordserver.ac.uk/col1/mydeposit.atom"
marco@16 84 assert "http://www.swordserver.ac.uk/col1/mydeposit" in dr.content.keys()
marco@16 85 assert dr.content["http://www.swordserver.ac.uk/col1/mydeposit"]['type'] == "application/zip"
marco@16 86 # Check convenience attribute 'cont_iri'
marco@16 87 assert dr.cont_iri == "http://www.swordserver.ac.uk/col1/mydeposit"
marco@16 88
marco@16 89 def test_04_packaging(self):
marco@16 90 dr = Deposit_Receipt(DR)
marco@16 91 assert "http://purl.org/net/sword/package/BagIt" in dr.packaging
marco@16 92 assert len(dr.packaging) == 1
marco@16 93