0001-cmis-add-a-test-that-mock-http-requests-39597.patch
tests/data/cmis/cmis1.out.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<app:service xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:app="http://www.w3.org/2007/app"> |
|
3 |
<app:workspace> |
|
4 |
<atom:title>test</atom:title> |
|
5 |
<app:collection href="http://example.com/cmisatom/test/children?id=%40root%40"> |
|
6 |
<cmisra:collectionType>root</cmisra:collectionType> |
|
7 |
<atom:title type="text">Root Collection</atom:title> |
|
8 |
<app:accept>application/atom+xml;type=entry</app:accept> |
|
9 |
<app:accept>application/cmisatom+xml</app:accept> |
|
10 |
</app:collection> |
|
11 |
<app:collection href="http://example.com/cmisatom/test/types"> |
|
12 |
<cmisra:collectionType>types</cmisra:collectionType> |
|
13 |
<atom:title type="text">Types Collection</atom:title> |
|
14 |
<app:accept/> |
|
15 |
</app:collection> |
|
16 |
<app:collection href="http://example.com/cmisatom/test/checkedout"> |
|
17 |
<cmisra:collectionType>checkedout</cmisra:collectionType> |
|
18 |
<atom:title type="text">Checked Out Collection</atom:title> |
|
19 |
<app:accept>application/cmisatom+xml</app:accept> |
|
20 |
</app:collection> |
|
21 |
<app:collection href="http://example.com/cmisatom/test/update"> |
|
22 |
<cmisra:collectionType>update</cmisra:collectionType> |
|
23 |
<atom:title type="text">Bulk Update Collection</atom:title> |
|
24 |
<app:accept>application/cmisatom+xml</app:accept> |
|
25 |
</app:collection> |
|
26 |
<cmisra:repositoryInfo> |
|
27 |
<cmis:repositoryId>test</cmis:repositoryId> |
|
28 |
<cmis:repositoryName>test</cmis:repositoryName> |
|
29 |
<cmis:repositoryDescription>test</cmis:repositoryDescription> |
|
30 |
<cmis:vendorName>OpenCMIS</cmis:vendorName> |
|
31 |
<cmis:productName>OpenCMIS FileShare</cmis:productName> |
|
32 |
<cmis:productVersion>1.1.0</cmis:productVersion> |
|
33 |
<cmis:rootFolderId>@root@</cmis:rootFolderId> |
|
34 |
<cmis:capabilities> |
|
35 |
<cmis:capabilityACL>discover</cmis:capabilityACL> |
|
36 |
<cmis:capabilityAllVersionsSearchable>false</cmis:capabilityAllVersionsSearchable> |
|
37 |
<cmis:capabilityChanges>none</cmis:capabilityChanges> |
|
38 |
<cmis:capabilityContentStreamUpdatability>anytime</cmis:capabilityContentStreamUpdatability> |
|
39 |
<cmis:capabilityGetDescendants>true</cmis:capabilityGetDescendants> |
|
40 |
<cmis:capabilityGetFolderTree>true</cmis:capabilityGetFolderTree> |
|
41 |
<cmis:capabilityOrderBy>common</cmis:capabilityOrderBy> |
|
42 |
<cmis:capabilityMultifiling>false</cmis:capabilityMultifiling> |
|
43 |
<cmis:capabilityPWCSearchable>false</cmis:capabilityPWCSearchable> |
|
44 |
<cmis:capabilityPWCUpdatable>false</cmis:capabilityPWCUpdatable> |
|
45 |
<cmis:capabilityQuery>none</cmis:capabilityQuery> |
|
46 |
<cmis:capabilityRenditions>none</cmis:capabilityRenditions> |
|
47 |
<cmis:capabilityUnfiling>false</cmis:capabilityUnfiling> |
|
48 |
<cmis:capabilityVersionSpecificFiling>false</cmis:capabilityVersionSpecificFiling> |
|
49 |
<cmis:capabilityJoin>none</cmis:capabilityJoin> |
|
50 |
<cmis:capabilityCreatablePropertyTypes/> |
|
51 |
<cmis:capabilityNewTypeSettableAttributes> |
|
52 |
<cmis:id>false</cmis:id> |
|
53 |
<cmis:localName>false</cmis:localName> |
|
54 |
<cmis:localNamespace>false</cmis:localNamespace> |
|
55 |
<cmis:displayName>false</cmis:displayName> |
|
56 |
<cmis:queryName>false</cmis:queryName> |
|
57 |
<cmis:description>false</cmis:description> |
|
58 |
<cmis:creatable>false</cmis:creatable> |
|
59 |
<cmis:fileable>false</cmis:fileable> |
|
60 |
<cmis:queryable>false</cmis:queryable> |
|
61 |
<cmis:fulltextIndexed>false</cmis:fulltextIndexed> |
|
62 |
<cmis:includedInSupertypeQuery>false</cmis:includedInSupertypeQuery> |
|
63 |
<cmis:controllablePolicy>false</cmis:controllablePolicy> |
|
64 |
<cmis:controllableACL>false</cmis:controllableACL> |
|
65 |
</cmis:capabilityNewTypeSettableAttributes> |
|
66 |
</cmis:capabilities> |
|
67 |
<cmis:aclCapability> |
|
68 |
<cmis:supportedPermissions>basic</cmis:supportedPermissions> |
|
69 |
<cmis:propagation>objectonly</cmis:propagation> |
|
70 |
<cmis:permissions> |
|
71 |
<cmis:permission>cmis:read</cmis:permission> |
|
72 |
<cmis:description>Read</cmis:description> |
|
73 |
</cmis:permissions> |
|
74 |
<cmis:permissions> |
|
75 |
<cmis:permission>cmis:write</cmis:permission> |
|
76 |
<cmis:description>Write</cmis:description> |
|
77 |
</cmis:permissions> |
|
78 |
<cmis:permissions> |
|
79 |
<cmis:permission>cmis:all</cmis:permission> |
|
80 |
<cmis:description>All</cmis:description> |
|
81 |
</cmis:permissions> |
|
82 |
<cmis:mapping> |
|
83 |
<cmis:key>canCreateDocument.Folder</cmis:key> |
|
84 |
<cmis:permission>cmis:read</cmis:permission> |
|
85 |
</cmis:mapping> |
|
86 |
<cmis:mapping> |
|
87 |
<cmis:key>canCreateFolder.Folder</cmis:key> |
|
88 |
<cmis:permission>cmis:read</cmis:permission> |
|
89 |
</cmis:mapping> |
|
90 |
<cmis:mapping> |
|
91 |
<cmis:key>canDeleteContent.Document</cmis:key> |
|
92 |
<cmis:permission>cmis:write</cmis:permission> |
|
93 |
</cmis:mapping> |
|
94 |
<cmis:mapping> |
|
95 |
<cmis:key>canDelete.Object</cmis:key> |
|
96 |
<cmis:permission>cmis:all</cmis:permission> |
|
97 |
</cmis:mapping> |
|
98 |
<cmis:mapping> |
|
99 |
<cmis:key>canDeleteTree.Folder</cmis:key> |
|
100 |
<cmis:permission>cmis:all</cmis:permission> |
|
101 |
</cmis:mapping> |
|
102 |
<cmis:mapping> |
|
103 |
<cmis:key>canGetACL.Object</cmis:key> |
|
104 |
<cmis:permission>cmis:read</cmis:permission> |
|
105 |
</cmis:mapping> |
|
106 |
<cmis:mapping> |
|
107 |
<cmis:key>canGetAllVersions.VersionSeries</cmis:key> |
|
108 |
<cmis:permission>cmis:read</cmis:permission> |
|
109 |
</cmis:mapping> |
|
110 |
<cmis:mapping> |
|
111 |
<cmis:key>canGetChildren.Folder</cmis:key> |
|
112 |
<cmis:permission>cmis:read</cmis:permission> |
|
113 |
</cmis:mapping> |
|
114 |
<cmis:mapping> |
|
115 |
<cmis:key>canGetDescendents.Folder</cmis:key> |
|
116 |
<cmis:permission>cmis:read</cmis:permission> |
|
117 |
</cmis:mapping> |
|
118 |
<cmis:mapping> |
|
119 |
<cmis:key>canGetFolderParent.Object</cmis:key> |
|
120 |
<cmis:permission>cmis:read</cmis:permission> |
|
121 |
</cmis:mapping> |
|
122 |
<cmis:mapping> |
|
123 |
<cmis:key>canGetParents.Folder</cmis:key> |
|
124 |
<cmis:permission>cmis:read</cmis:permission> |
|
125 |
</cmis:mapping> |
|
126 |
<cmis:mapping> |
|
127 |
<cmis:key>canGetProperties.Object</cmis:key> |
|
128 |
<cmis:permission>cmis:read</cmis:permission> |
|
129 |
</cmis:mapping> |
|
130 |
<cmis:mapping> |
|
131 |
<cmis:key>canMove.Object</cmis:key> |
|
132 |
<cmis:permission>cmis:write</cmis:permission> |
|
133 |
</cmis:mapping> |
|
134 |
<cmis:mapping> |
|
135 |
<cmis:key>canMove.Source</cmis:key> |
|
136 |
<cmis:permission>cmis:read</cmis:permission> |
|
137 |
</cmis:mapping> |
|
138 |
<cmis:mapping> |
|
139 |
<cmis:key>canMove.Target</cmis:key> |
|
140 |
<cmis:permission>cmis:write</cmis:permission> |
|
141 |
</cmis:mapping> |
|
142 |
<cmis:mapping> |
|
143 |
<cmis:key>canSetContent.Document</cmis:key> |
|
144 |
<cmis:permission>cmis:write</cmis:permission> |
|
145 |
</cmis:mapping> |
|
146 |
<cmis:mapping> |
|
147 |
<cmis:key>canUpdateProperties.Object</cmis:key> |
|
148 |
<cmis:permission>cmis:write</cmis:permission> |
|
149 |
</cmis:mapping> |
|
150 |
<cmis:mapping> |
|
151 |
<cmis:key>canViewContent.Object</cmis:key> |
|
152 |
<cmis:permission>cmis:read</cmis:permission> |
|
153 |
</cmis:mapping> |
|
154 |
</cmis:aclCapability> |
|
155 |
<cmis:cmisVersionSupported>1.1</cmis:cmisVersionSupported> |
|
156 |
<cmis:thinClientURI/> |
|
157 |
<cmis:changesIncomplete>true</cmis:changesIncomplete> |
|
158 |
</cmisra:repositoryInfo> |
|
159 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants" href="http://example.com/cmisatom/test/typedesc" type="application/atom+xml;type=feed"/> |
|
160 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://example.com/cmisatom/test/foldertree?id=%40root%40" type="application/cmistree+xml"/> |
|
161 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants" href="http://example.com/cmisatom/test/descendants?id=%40root%40" type="application/cmistree+xml" cmisra:id="@root@"/> |
|
162 |
<cmisra:uritemplate> |
|
163 |
<cmisra:template>http://example.com/cmisatom/test/id?id={id}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template> |
|
164 |
<cmisra:type>objectbyid</cmisra:type> |
|
165 |
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype> |
|
166 |
</cmisra:uritemplate> |
|
167 |
<cmisra:uritemplate> |
|
168 |
<cmisra:template>http://example.com/cmisatom/test/path?path={path}&filter={filter}&includeAllowableActions={includeAllowableActions}&includeACL={includeACL}&includePolicyIds={includePolicyIds}&includeRelationships={includeRelationships}&renditionFilter={renditionFilter}</cmisra:template> |
|
169 |
<cmisra:type>objectbypath</cmisra:type> |
|
170 |
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype> |
|
171 |
</cmisra:uritemplate> |
|
172 |
<cmisra:uritemplate> |
|
173 |
<cmisra:template>http://example.com/cmisatom/test/type?id={id}</cmisra:template> |
|
174 |
<cmisra:type>typebyid</cmisra:type> |
|
175 |
<cmisra:mediatype>application/atom+xml;type=entry</cmisra:mediatype> |
|
176 |
</cmisra:uritemplate> |
|
177 |
</app:workspace> |
|
178 |
</app:service> |
tests/data/cmis/cmis2.out.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:app="http://www.w3.org/2007/app"> |
|
3 |
<atom:author> |
|
4 |
<atom:name>cmisuser</atom:name> |
|
5 |
</atom:author> |
|
6 |
<atom:id>http://chemistry.apache.org/TDNSbGMzUXRaVzg9</atom:id> |
|
7 |
<atom:published>2020-02-05T17:11:28Z</atom:published> |
|
8 |
<atom:title>test-eo</atom:title> |
|
9 |
<app:edited>2020-02-08T18:55:44Z</app:edited> |
|
10 |
<atom:updated>2020-02-08T18:55:44Z</atom:updated> |
|
11 |
<cmisra:object> |
|
12 |
<cmis:properties> |
|
13 |
<cmis:propertyId propertyDefinitionId="cmis:objectId"> |
|
14 |
<cmis:value>L3Rlc3QtZW8=</cmis:value> |
|
15 |
</cmis:propertyId> |
|
16 |
<cmis:propertyDateTime propertyDefinitionId="cmis:lastModificationDate"> |
|
17 |
<cmis:value>2020-02-08T18:55:44Z</cmis:value> |
|
18 |
</cmis:propertyDateTime> |
|
19 |
<cmis:propertyString propertyDefinitionId="cmis:changeToken"/> |
|
20 |
<cmis:propertyString propertyDefinitionId="cmis:description"/> |
|
21 |
<cmis:propertyId propertyDefinitionId="cmis:secondaryObjectTypeIds"/> |
|
22 |
<cmis:propertyId propertyDefinitionId="cmis:baseTypeId"> |
|
23 |
<cmis:value>cmis:folder</cmis:value> |
|
24 |
</cmis:propertyId> |
|
25 |
<cmis:propertyString propertyDefinitionId="cmis:path"> |
|
26 |
<cmis:value>/test-eo</cmis:value> |
|
27 |
</cmis:propertyString> |
|
28 |
<cmis:propertyId propertyDefinitionId="cmis:parentId"> |
|
29 |
<cmis:value>@root@</cmis:value> |
|
30 |
</cmis:propertyId> |
|
31 |
<cmis:propertyId propertyDefinitionId="cmis:allowedChildObjectTypeIds"/> |
|
32 |
<cmis:propertyString propertyDefinitionId="cmis:name"> |
|
33 |
<cmis:value>test-eo</cmis:value> |
|
34 |
</cmis:propertyString> |
|
35 |
<cmis:propertyId propertyDefinitionId="cmis:objectTypeId"> |
|
36 |
<cmis:value>cmis:folder</cmis:value> |
|
37 |
</cmis:propertyId> |
|
38 |
<cmis:propertyString propertyDefinitionId="cmis:createdBy"> |
|
39 |
<cmis:value>cmisuser</cmis:value> |
|
40 |
</cmis:propertyString> |
|
41 |
<cmis:propertyString propertyDefinitionId="cmis:lastModifiedBy"> |
|
42 |
<cmis:value>cmisuser</cmis:value> |
|
43 |
</cmis:propertyString> |
|
44 |
<cmis:propertyDateTime propertyDefinitionId="cmis:creationDate"> |
|
45 |
<cmis:value>2020-02-05T17:11:28Z</cmis:value> |
|
46 |
</cmis:propertyDateTime> |
|
47 |
</cmis:properties> |
|
48 |
</cmisra:object> |
|
49 |
<atom:link rel="service" href="http://example.com/cmisatom/test?repositoryId=test" type="application/atomsvc+xml"/> |
|
50 |
<atom:link rel="self" href="http://example.com/cmisatom/test/entry?id=L3Rlc3QtZW8%3D" type="application/atom+xml;type=entry" cmisra:id="L3Rlc3QtZW8="/> |
|
51 |
<atom:link rel="enclosure" href="http://example.com/cmisatom/test/entry?id=L3Rlc3QtZW8%3D" type="application/atom+xml;type=entry"/> |
|
52 |
<atom:link rel="edit" href="http://example.com/cmisatom/test/entry?id=L3Rlc3QtZW8%3D" type="application/atom+xml;type=entry"/> |
|
53 |
<atom:link rel="describedby" href="http://example.com/cmisatom/test/type?id=cmis%3Afolder" type="application/atom+xml;type=entry"/> |
|
54 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://example.com/cmisatom/test/allowableactions?id=L3Rlc3QtZW8%3D" type="application/cmisallowableactions+xml"/> |
|
55 |
<atom:link rel="up" href="http://example.com/cmisatom/test/parent?id=L3Rlc3QtZW8%3D" type="application/atom+xml;type=entry"/> |
|
56 |
<atom:link rel="down" href="http://example.com/cmisatom/test/children?id=L3Rlc3QtZW8%3D" type="application/atom+xml;type=feed"/> |
|
57 |
<atom:link rel="down" href="http://example.com/cmisatom/test/descendants?id=L3Rlc3QtZW8%3D" type="application/cmistree+xml"/> |
|
58 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/foldertree" href="http://example.com/cmisatom/test/foldertree?id=L3Rlc3QtZW8%3D" type="application/atom+xml;type=feed"/> |
|
59 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://example.com/cmisatom/test/acl?id=L3Rlc3QtZW8%3D" type="application/cmisacl+xml"/> |
|
60 |
</atom:entry> |
tests/data/cmis/cmis3.out.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:app="http://www.w3.org/2007/app"> |
|
3 |
<atom:author> |
|
4 |
<atom:name>cmisuser</atom:name> |
|
5 |
</atom:author> |
|
6 |
<atom:id>http://chemistry.apache.org/TDNSbGMzUXRaVzh2ZEdWemREST0=</atom:id> |
|
7 |
<atom:published>2020-02-08T19:17:10Z</atom:published> |
|
8 |
<atom:title>test2</atom:title> |
|
9 |
<app:edited>2020-02-08T19:17:10Z</app:edited> |
|
10 |
<atom:updated>2020-02-08T19:17:10Z</atom:updated> |
|
11 |
<atom:content src="http://example.com/cmisatom/test/content/test2?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/octet-stream"/> |
|
12 |
<cmisra:object> |
|
13 |
<cmis:properties> |
|
14 |
<cmis:propertyId propertyDefinitionId="cmis:objectId"> |
|
15 |
<cmis:value>L3Rlc3QtZW8vdGVzdDI=</cmis:value> |
|
16 |
</cmis:propertyId> |
|
17 |
<cmis:propertyDateTime propertyDefinitionId="cmis:lastModificationDate"> |
|
18 |
<cmis:value>2020-02-08T19:17:10Z</cmis:value> |
|
19 |
</cmis:propertyDateTime> |
|
20 |
<cmis:propertyString propertyDefinitionId="cmis:changeToken"/> |
|
21 |
<cmis:propertyString propertyDefinitionId="cmis:description"/> |
|
22 |
<cmis:propertyId propertyDefinitionId="cmis:secondaryObjectTypeIds"/> |
|
23 |
<cmis:propertyId propertyDefinitionId="cmis:baseTypeId"> |
|
24 |
<cmis:value>cmis:document</cmis:value> |
|
25 |
</cmis:propertyId> |
|
26 |
<cmis:propertyBoolean propertyDefinitionId="cmis:isImmutable"> |
|
27 |
<cmis:value>false</cmis:value> |
|
28 |
</cmis:propertyBoolean> |
|
29 |
<cmis:propertyBoolean propertyDefinitionId="cmis:isLatestVersion"> |
|
30 |
<cmis:value>true</cmis:value> |
|
31 |
</cmis:propertyBoolean> |
|
32 |
<cmis:propertyBoolean propertyDefinitionId="cmis:isMajorVersion"> |
|
33 |
<cmis:value>true</cmis:value> |
|
34 |
</cmis:propertyBoolean> |
|
35 |
<cmis:propertyBoolean propertyDefinitionId="cmis:isLatestMajorVersion"> |
|
36 |
<cmis:value>true</cmis:value> |
|
37 |
</cmis:propertyBoolean> |
|
38 |
<cmis:propertyString propertyDefinitionId="cmis:versionLabel"> |
|
39 |
<cmis:value>test2</cmis:value> |
|
40 |
</cmis:propertyString> |
|
41 |
<cmis:propertyId propertyDefinitionId="cmis:versionSeriesId"> |
|
42 |
<cmis:value>L3Rlc3QtZW8vdGVzdDI=</cmis:value> |
|
43 |
</cmis:propertyId> |
|
44 |
<cmis:propertyBoolean propertyDefinitionId="cmis:isVersionSeriesCheckedOut"> |
|
45 |
<cmis:value>false</cmis:value> |
|
46 |
</cmis:propertyBoolean> |
|
47 |
<cmis:propertyString propertyDefinitionId="cmis:versionSeriesCheckedOutBy"/> |
|
48 |
<cmis:propertyString propertyDefinitionId="cmis:versionSeriesCheckedOutId"/> |
|
49 |
<cmis:propertyString propertyDefinitionId="cmis:checkinComment"> |
|
50 |
<cmis:value/> |
|
51 |
</cmis:propertyString> |
|
52 |
<cmis:propertyBoolean propertyDefinitionId="cmis:isPrivateWorkingCopy"> |
|
53 |
<cmis:value>false</cmis:value> |
|
54 |
</cmis:propertyBoolean> |
|
55 |
<cmis:propertyInteger propertyDefinitionId="cmis:contentStreamLength"> |
|
56 |
<cmis:value>6</cmis:value> |
|
57 |
</cmis:propertyInteger> |
|
58 |
<cmis:propertyString propertyDefinitionId="cmis:contentStreamMimeType"> |
|
59 |
<cmis:value>application/octet-stream</cmis:value> |
|
60 |
</cmis:propertyString> |
|
61 |
<cmis:propertyString propertyDefinitionId="cmis:contentStreamFileName"> |
|
62 |
<cmis:value>test2</cmis:value> |
|
63 |
</cmis:propertyString> |
|
64 |
<cmis:propertyId propertyDefinitionId="cmis:contentStreamId"/> |
|
65 |
<cmis:propertyString propertyDefinitionId="cmis:name"> |
|
66 |
<cmis:value>test2</cmis:value> |
|
67 |
</cmis:propertyString> |
|
68 |
<cmis:propertyId propertyDefinitionId="cmis:objectTypeId"> |
|
69 |
<cmis:value>cmis:document</cmis:value> |
|
70 |
</cmis:propertyId> |
|
71 |
<cmis:propertyString propertyDefinitionId="cmis:createdBy"> |
|
72 |
<cmis:value>cmisuser</cmis:value> |
|
73 |
</cmis:propertyString> |
|
74 |
<cmis:propertyString propertyDefinitionId="cmis:lastModifiedBy"> |
|
75 |
<cmis:value>cmisuser</cmis:value> |
|
76 |
</cmis:propertyString> |
|
77 |
<cmis:propertyDateTime propertyDefinitionId="cmis:creationDate"> |
|
78 |
<cmis:value>2020-02-08T19:17:10Z</cmis:value> |
|
79 |
</cmis:propertyDateTime> |
|
80 |
</cmis:properties> |
|
81 |
</cmisra:object> |
|
82 |
<atom:link rel="service" href="http://example.com/cmisatom/test?repositoryId=test" type="application/atomsvc+xml"/> |
|
83 |
<atom:link rel="self" href="http://example.com/cmisatom/test/entry?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/atom+xml;type=entry" cmisra:id="L3Rlc3QtZW8vdGVzdDI="/> |
|
84 |
<atom:link rel="enclosure" href="http://example.com/cmisatom/test/entry?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/atom+xml;type=entry"/> |
|
85 |
<atom:link rel="edit" href="http://example.com/cmisatom/test/entry?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/atom+xml;type=entry"/> |
|
86 |
<atom:link rel="describedby" href="http://example.com/cmisatom/test/type?id=cmis%3Adocument" type="application/atom+xml;type=entry"/> |
|
87 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions" href="http://example.com/cmisatom/test/allowableactions?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/cmisallowableactions+xml"/> |
|
88 |
<atom:link rel="up" href="http://example.com/cmisatom/test/parents?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/atom+xml;type=feed"/> |
|
89 |
<atom:link rel="edit-media" href="http://example.com/cmisatom/test/content?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/octet-stream"/> |
|
90 |
<atom:link rel="http://docs.oasis-open.org/ns/cmis/link/200908/acl" href="http://example.com/cmisatom/test/acl?id=L3Rlc3QtZW8vdGVzdDI%3D" type="application/cmisacl+xml"/> |
|
91 |
</atom:entry> |
tests/test_cmis.py | ||
---|---|---|
1 | 1 |
import base64 |
2 | 2 |
import httplib2 |
3 |
from lxml import etree |
|
4 |
import mock |
|
5 |
import os |
|
3 | 6 |
import re |
4 | 7 | |
5 | 8 |
from cmislib import CmisClient |
... | ... | |
8 | 11 |
from cmislib.exceptions import PermissionDeniedException |
9 | 12 |
from cmislib.exceptions import UpdateConflictException |
10 | 13 |
from django.contrib.contenttypes.models import ContentType |
14 |
from django.core.urlresolvers import reverse |
|
11 | 15 |
from django.utils.encoding import force_bytes, force_text |
12 | 16 |
from django.utils.six.moves.urllib import error as urllib2 |
13 | 17 |
from mock import call, Mock |
... | ... | |
351 | 355 |
RE_FILE_NAME = re.compile(FILE_NAME_PATTERN) |
352 | 356 |
assert RE_FILE_NAME.match('toto.tata') |
353 | 357 |
assert RE_FILE_NAME.match('TOTO.TATA') |
358 | ||
359 | ||
360 |
@mock.patch('httplib2.Http.request') |
|
361 |
def test_raw_uploadfile(mocked_request, app, setup): |
|
362 |
""" Simulate the bellow bash query : |
|
363 |
$ http https://passerelle.dev.publik.love/cmis/ged/uploadfile \ |
|
364 |
file:='{"filename": "test2", "content": "c2FsdXQK"}' path=/test-eo |
|
365 |
""" |
|
366 |
file_name = "test2" |
|
367 |
file_content = 'salut\n' |
|
368 |
path = "/test-eo" |
|
369 |
url = reverse('generic-endpoint', kwargs={'connector': 'cmis', |
|
370 |
'endpoint': 'uploadfile', 'slug': setup.slug}) |
|
371 | ||
372 |
def cmis_mocked_request(uri, method="GET", body=None, **kwargs): |
|
373 |
"""simulate the 3 (ordered) HTTP queries involved""" |
|
374 |
response = {'status': '200'} |
|
375 |
if method == 'GET' and uri == 'http://example.com/cmisatom': |
|
376 |
content = open('%s/tests/data/cmis/cmis1.out.xml' % os.getcwd(), 'rb').read() |
|
377 |
elif method == 'GET' and uri == 'http://example.com/cmisatom/test/path?path=/test-eo&filter=&includeAllowableActions=false&includeACL=false&includePolicyIds=false&includeRelationships=&renditionFilter=': |
|
378 |
content = open('%s/tests/data/cmis/cmis2.out.xml' % os.getcwd(), 'rb').read() |
|
379 |
elif method == 'POST' and uri == 'http://example.com/cmisatom/test/children?id=L3Rlc3QtZW8%3D': |
|
380 |
content = open('%s/tests/data/cmis/cmis3.out.xml' % os.getcwd(), 'rb').read() |
|
381 |
else: |
|
382 |
raise Exception('my fault error, url is not yet mocked: %s' % uri) |
|
383 |
return (response, content) |
|
384 | ||
385 |
mocked_request.side_effect = cmis_mocked_request |
|
386 |
params = { |
|
387 |
"path": path, |
|
388 |
"file": {"filename": file_name, |
|
389 |
"content": b64encode(file_content), |
|
390 |
"content_type": "image/jpeg"}} |
|
391 |
response = app.post_json(url, params=params) |
|
392 |
json_result = response.json |
|
393 |
assert json_result['err'] == 0 |
|
394 |
assert json_result['data']['properties']['cmis:objectTypeId'] == "cmis:document" |
|
395 |
assert json_result['data']['properties']['cmis:name'] == file_name |
|
354 |
- |