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
|