Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Jérome Perrin
erp5
Commits
39369332
Commit
39369332
authored
Jan 28, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testDms
parent
cc8560b9
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
212 additions
and
208 deletions
+212
-208
bt5/erp5_discussion/TestTemplateItem/portal_components/test.erp5.testERP5Discussion.py
...ateItem/portal_components/test.erp5.testERP5Discussion.py
+4
-5
bt5/erp5_dms/TestTemplateItem/portal_components/test.erp5.testDms.py
...s/TestTemplateItem/portal_components/test.erp5.testDms.py
+170
-164
bt5/erp5_dms/TestTemplateItem/portal_components/test.erp5.testOOoConversionCache.py
...tem/portal_components/test.erp5.testOOoConversionCache.py
+12
-12
bt5/erp5_dms/TestTemplateItem/portal_components/test.erp5.testOOoConversionServerRetry.py
...rtal_components/test.erp5.testOOoConversionServerRetry.py
+5
-6
bt5/erp5_dms_conversion_catalog/TestTemplateItem/portal_components/test.erp5.testDmsWithPreConversion.py
...m/portal_components/test.erp5.testDmsWithPreConversion.py
+3
-3
bt5/erp5_km/TestTemplateItem/portal_components/test.erp5.testKM.py
...km/TestTemplateItem/portal_components/test.erp5.testKM.py
+9
-8
bt5/erp5_pdf_merge/TestTemplateItem/portal_components/test.erp5.testERP5PDFMerge.py
...plateItem/portal_components/test.erp5.testERP5PDFMerge.py
+5
-6
bt5/erp5_run_my_doc/TestTemplateItem/portal_components/test.erp5.testRunMyDoc.py
...tTemplateItem/portal_components/test.erp5.testRunMyDoc.py
+4
-4
No files found.
bt5/erp5_discussion/TestTemplateItem/portal_components/test.erp5.testERP5Discussion.py
View file @
39369332
...
@@ -31,11 +31,10 @@
...
@@ -31,11 +31,10 @@
import
unittest
import
unittest
from
AccessControl.SecurityManagement
import
newSecurityManager
from
AccessControl.SecurityManagement
import
newSecurityManager
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
erp5.component.test.testDms
import
DocumentUploadTestCase
from
erp5.component.test.testDms
import
makeFileUpload
class
TestERP5Discussion
(
ERP5Type
TestCase
):
class
TestERP5Discussion
(
DocumentUpload
TestCase
):
"""Test for erp5_discussion business template.
"""Test for erp5_discussion business template.
"""
"""
...
@@ -143,7 +142,7 @@ class TestERP5Discussion(ERP5TypeTestCase):
...
@@ -143,7 +142,7 @@ class TestERP5Discussion(ERP5TypeTestCase):
self
.
assertEqual
(
0
,
len
(
attachment_list
))
self
.
assertEqual
(
0
,
len
(
attachment_list
))
# check attachment creation
# check attachment creation
file_
=
makeFileUpload
(
'TEST-en-002.doc'
)
file_
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
web_section1
.
WebSection_createNewDiscussionThread
(
'test1-new-with-attachment'
,
'test1 body'
,
file
=
file_
)
web_section1
.
WebSection_createNewDiscussionThread
(
'test1-new-with-attachment'
,
'test1 body'
,
file
=
file_
)
discussion_thread
,
=
[
x
for
x
in
self
.
portal
.
discussion_thread_module
.
objectValues
()
\
discussion_thread
,
=
[
x
for
x
in
self
.
portal
.
discussion_thread_module
.
objectValues
()
\
if
x
.
getId
()
not
in
discussion_thread_id_set
]
if
x
.
getId
()
not
in
discussion_thread_id_set
]
...
@@ -240,7 +239,7 @@ class TestERP5Discussion(ERP5TypeTestCase):
...
@@ -240,7 +239,7 @@ class TestERP5Discussion(ERP5TypeTestCase):
web_site_value
=
self
.
portal
.
web_site_module
.
newContent
(
portal_type
=
'Web Site'
)
web_site_value
=
self
.
portal
.
web_site_module
.
newContent
(
portal_type
=
'Web Site'
)
web_section_value
=
web_site_value
.
newContent
(
portal_type
=
'Web Section'
)
web_section_value
=
web_site_value
.
newContent
(
portal_type
=
'Web Section'
)
file_
=
makeFileUpload
(
'simple.csv'
)
file_
=
self
.
makeFileUpload
(
'simple.csv'
)
web_section_value
.
WebSection_createNewDiscussionThread
(
web_section_value
.
WebSection_createNewDiscussionThread
(
"Thread Title"
,
"Thread Title"
,
"Post Content"
,
"Post Content"
,
...
...
bt5/erp5_dms/TestTemplateItem/portal_components/test.erp5.testDms.py
View file @
39369332
...
@@ -45,13 +45,12 @@
...
@@ -45,13 +45,12 @@
These are subject to another suite "testIngestion".
These are subject to another suite "testIngestion".
"""
"""
import
io
import
unittest
import
unittest
import
time
import
time
from
six.moves
import
cStringIO
as
StringIO
from
subprocess
import
Popen
,
PIPE
from
subprocess
import
Popen
,
PIPE
from
unittest
import
expectedFailure
from
unittest
import
expectedFailure
from
Products.ERP5Type.Utils
import
bytes2str
,
str2bytes
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
Products.ERP5Type.tests.utils
import
FileUpload
from
Products.ERP5Type.tests.utils
import
FileUpload
from
Products.ERP5Type.tests.utils
import
DummyLocalizer
from
Products.ERP5Type.tests.utils
import
DummyLocalizer
...
@@ -87,20 +86,25 @@ REFERENCE_REGULAR_EXPRESSION = "(?P<reference>[A-Z]{3,10})(-(?P<language>[a-z]{2
...
@@ -87,20 +86,25 @@ REFERENCE_REGULAR_EXPRESSION = "(?P<reference>[A-Z]{3,10})(-(?P<language>[a-z]{2
def
makeFilePath
(
name
):
def
makeFilePath
(
name
):
return
os
.
path
.
join
(
TEST_FILES_HOME
,
name
)
return
os
.
path
.
join
(
TEST_FILES_HOME
,
name
)
def
makeFileUpload
(
name
,
as_name
=
None
):
if
as_name
is
None
:
as_name
=
name
path
=
makeFilePath
(
name
)
return
FileUpload
(
path
,
as_name
)
def
getFileSize
(
name
):
def
getFileSize
(
name
):
path
=
makeFilePath
(
name
)
path
=
makeFilePath
(
name
)
f
=
open
(
path
,
"r"
)
with
open
(
path
,
"rb"
)
as
f
:
file_size
=
len
(
f
.
read
())
return
len
(
f
.
read
())
f
.
close
()
return
file_size
class
DocumentUploadTestCase
(
ERP5TypeTestCase
):
class
TestDocumentMixin
(
ERP5TypeTestCase
):
def
makeFileUpload
(
self
,
name
,
as_name
=
None
):
if
as_name
is
None
:
as_name
=
name
path
=
makeFilePath
(
name
)
fu
=
FileUpload
(
path
,
as_name
)
self
.
addCleanup
(
fu
.
close
)
return
fu
class
TestDocumentMixin
(
DocumentUploadTestCase
):
business_template_list
=
[
'erp5_core_proxy_field_legacy'
,
business_template_list
=
[
'erp5_core_proxy_field_legacy'
,
'erp5_jquery'
,
'erp5_jquery'
,
...
@@ -184,6 +188,7 @@ class TestDocumentMixin(ERP5TypeTestCase):
...
@@ -184,6 +188,7 @@ class TestDocumentMixin(ERP5TypeTestCase):
doc_module
.
manage_delObjects
(
list
(
doc_module
.
objectIds
()))
doc_module
.
manage_delObjects
(
list
(
doc_module
.
objectIds
()))
self
.
tic
()
self
.
tic
()
class
TestDocument
(
TestDocumentMixin
):
class
TestDocument
(
TestDocumentMixin
):
"""
"""
Test basic document - related operations
Test basic document - related operations
...
@@ -230,14 +235,18 @@ class TestDocument(TestDocumentMixin):
...
@@ -230,14 +235,18 @@ class TestDocument(TestDocumentMixin):
def
getURLSizeList
(
self
,
uri
,
**
kw
):
def
getURLSizeList
(
self
,
uri
,
**
kw
):
# __ac=RVJQNVR5cGVUZXN0Q2FzZTo%3D is encoded ERP5TypeTestCase with empty password
# __ac=RVJQNVR5cGVUZXN0Q2FzZTo%3D is encoded ERP5TypeTestCase with empty password
url
=
'%s?%s
&__ac=%s'
%
(
uri
,
make_query
(
kw
),
'RVJQNVR5cGVUZXN0Q2FzZTo%3D'
)
url
=
'%s?%s
'
%
(
uri
,
make_query
(
dict
(
kw
,
__ac
=
'RVJQNVR5cGVUZXN0Q2FzZTo%3D'
))
)
format_
=
kw
.
get
(
'format'
,
'jpeg'
)
format_
=
kw
.
get
(
'format'
,
'jpeg'
)
infile
=
urlopen
(
url
)
infile
=
urlopen
(
url
)
try
:
image_data
=
infile
.
read
()
finally
:
infile
.
close
()
# save as file with proper incl. format filename (for some reasons PIL uses this info)
# save as file with proper incl. format filename (for some reasons PIL uses this info)
filename
=
"%s%stest-image-format-resize.%s"
%
(
os
.
getcwd
(),
os
.
sep
,
format_
)
filename
=
"%s%stest-image-format-resize.%s"
%
(
os
.
getcwd
(),
os
.
sep
,
format_
)
with
open
(
filename
,
"wb"
)
as
f
:
with
open
(
filename
,
"wb"
)
as
f
:
f
.
write
(
infile
.
read
())
f
.
write
(
image_data
)
infile
.
close
()
file_size
=
len
(
image_data
)
file_size
=
len
(
image_data
)
try
:
try
:
from
PIL
import
Image
from
PIL
import
Image
...
@@ -278,7 +287,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -278,7 +287,7 @@ class TestDocument(TestDocumentMixin):
# the same document should now have revision 4 (because it should have done mergeRevision)
# the same document should now have revision 4 (because it should have done mergeRevision)
# getRevisionList should return (1, 2, 3, 4)
# getRevisionList should return (1, 2, 3, 4)
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
document_url
=
document
.
getRelativeUrl
()
document_url
=
document
.
getRelativeUrl
()
...
@@ -490,38 +499,38 @@ class TestDocument(TestDocumentMixin):
...
@@ -490,38 +499,38 @@ class TestDocument(TestDocumentMixin):
# create docs to be referenced:
# create docs to be referenced:
# (1) TEST, 002, en
# (1) TEST, 002, en
filename
=
'TEST-en-002.odt'
filename
=
'TEST-en-002.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# (2) TEST, 002, fr
# (2) TEST, 002, fr
as_name
=
'TEST-fr-002.odt'
as_name
=
'TEST-fr-002.odt'
file_
=
makeFileUpload
(
filename
,
as_name
)
file_
=
self
.
makeFileUpload
(
filename
,
as_name
)
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# (3) TEST, 003, en
# (3) TEST, 003, en
as_name
=
'TEST-en-003.odt'
as_name
=
'TEST-en-003.odt'
file_
=
makeFileUpload
(
filename
,
as_name
)
file_
=
self
.
makeFileUpload
(
filename
,
as_name
)
document3
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document3
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# create docs to contain references in text_content:
# create docs to contain references in text_content:
# REF, 002, en; "I use reference to look up TEST"
# REF, 002, en; "I use reference to look up TEST"
filename
=
'REF-en-002.odt'
filename
=
'REF-en-002.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document5
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document5
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# REFLANG, 001, en: "I use reference and language to look up TEST-fr"
# REFLANG, 001, en: "I use reference and language to look up TEST-fr"
filename
=
'REFLANG-en-001.odt'
filename
=
'REFLANG-en-001.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document6
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document6
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# REFVER, 001, en: "I use reference and version to look up TEST-002"
# REFVER, 001, en: "I use reference and version to look up TEST-002"
filename
=
'REFVER-en-001.odt'
filename
=
'REFVER-en-001.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document7
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document7
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# REFVERLANG, 001, en: "I use reference, version and language to look up TEST-002-en"
# REFVERLANG, 001, en: "I use reference, version and language to look up TEST-002-en"
filename
=
'REFVERLANG-en-001.odt'
filename
=
'REFVERLANG-en-001.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document8
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document8
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
...
@@ -577,7 +586,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -577,7 +586,7 @@ class TestDocument(TestDocumentMixin):
def
test_catalog_search_by_size
(
self
):
def
test_catalog_search_by_size
(
self
):
doc
=
self
.
portal
.
document_module
.
newContent
(
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
,
portal_type
=
'Spreadsheet'
,
file
=
makeFileUpload
(
'import_data_list.ods'
))
file
=
self
.
makeFileUpload
(
'import_data_list.ods'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
self
.
assertEqual
(
[
x
.
getObject
()
for
x
in
self
.
portal
.
portal_catalog
(
size
=
doc
.
getSize
())],
[
doc
])
[
x
.
getObject
()
for
x
in
self
.
portal
.
portal_catalog
(
size
=
doc
.
getSize
())],
[
doc
])
...
@@ -585,8 +594,8 @@ class TestDocument(TestDocumentMixin):
...
@@ -585,8 +594,8 @@ class TestDocument(TestDocumentMixin):
def
testOOoDocument_get_size
(
self
):
def
testOOoDocument_get_size
(
self
):
# test get_size on OOoDocument
# test get_size on OOoDocument
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
)
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
)
doc
.
edit
(
file
=
makeFileUpload
(
'import_data_list.ods'
))
doc
.
edit
(
file
=
self
.
makeFileUpload
(
'import_data_list.ods'
))
self
.
assertEqual
(
len
(
makeFileUpload
(
'import_data_list.ods'
).
read
()),
self
.
assertEqual
(
len
(
self
.
makeFileUpload
(
'import_data_list.ods'
).
read
()),
doc
.
get_size
())
doc
.
get_size
())
def
testTempOOoDocument_get_size
(
self
):
def
testTempOOoDocument_get_size
(
self
):
...
@@ -599,14 +608,14 @@ class TestDocument(TestDocumentMixin):
...
@@ -599,14 +608,14 @@ class TestDocument(TestDocumentMixin):
# test hasData on OOoDocument
# test hasData on OOoDocument
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
)
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
)
self
.
assertFalse
(
doc
.
hasData
())
self
.
assertFalse
(
doc
.
hasData
())
doc
.
edit
(
file
=
makeFileUpload
(
'import_data_list.ods'
))
doc
.
edit
(
file
=
self
.
makeFileUpload
(
'import_data_list.ods'
))
self
.
assertTrue
(
doc
.
hasData
())
self
.
assertTrue
(
doc
.
hasData
())
def
testTempOOoDocument_hasData
(
self
):
def
testTempOOoDocument_hasData
(
self
):
# test hasData on TempOOoDocument
# test hasData on TempOOoDocument
doc
=
self
.
portal
.
newContent
(
temp_object
=
True
,
portal_type
=
'OOo Document'
,
id
=
'tmp'
)
doc
=
self
.
portal
.
newContent
(
temp_object
=
True
,
portal_type
=
'OOo Document'
,
id
=
'tmp'
)
self
.
assertFalse
(
doc
.
hasData
())
self
.
assertFalse
(
doc
.
hasData
())
doc
.
edit
(
file
=
makeFileUpload
(
'import_data_list.ods'
))
doc
.
edit
(
file
=
self
.
makeFileUpload
(
'import_data_list.ods'
))
self
.
assertTrue
(
doc
.
hasData
())
self
.
assertTrue
(
doc
.
hasData
())
def
test_Owner_Base_download
(
self
):
def
test_Owner_Base_download
(
self
):
...
@@ -616,7 +625,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -616,7 +625,7 @@ class TestDocument(TestDocumentMixin):
doc
=
self
.
portal
.
document_module
.
newContent
(
doc
=
self
.
portal
.
document_module
.
newContent
(
filename
=
'test.ods'
,
filename
=
'test.ods'
,
portal_type
=
'Spreadsheet'
)
portal_type
=
'Spreadsheet'
)
doc
.
edit
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
))
doc
.
edit
(
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
))
self
.
tic
()
self
.
tic
()
uf
=
self
.
portal
.
acl_users
uf
=
self
.
portal
.
acl_users
...
@@ -626,7 +635,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -626,7 +635,7 @@ class TestDocument(TestDocumentMixin):
response
=
self
.
publish
(
'%s/Base_download'
%
doc
.
getPath
(),
response
=
self
.
publish
(
'%s/Base_download'
%
doc
.
getPath
(),
basic
=
'member_user1:secret'
)
basic
=
'member_user1:secret'
)
self
.
assertEqual
(
makeFileUpload
(
'TEST-en-002.doc'
).
read
(),
self
.
assertEqual
(
self
.
makeFileUpload
(
'TEST-en-002.doc'
).
read
(),
response
.
getBody
())
response
.
getBody
())
self
.
assertEqual
(
'application/msword'
,
self
.
assertEqual
(
'application/msword'
,
response
.
headers
[
'content-type'
])
response
.
headers
[
'content-type'
])
...
@@ -655,7 +664,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -655,7 +664,7 @@ class TestDocument(TestDocumentMixin):
doc
=
self
.
portal
.
document_module
.
newContent
(
doc
=
self
.
portal
.
document_module
.
newContent
(
filename
=
'test.ods'
,
filename
=
'test.ods'
,
portal_type
=
'Spreadsheet'
)
portal_type
=
'Spreadsheet'
)
doc
.
edit
(
file
=
makeFileUpload
(
'import.file.with.dot.in.filename.ods'
))
doc
.
edit
(
file
=
self
.
makeFileUpload
(
'import.file.with.dot.in.filename.ods'
))
doc
.
publish
()
doc
.
publish
()
self
.
tic
()
self
.
tic
()
...
@@ -670,12 +679,8 @@ class TestDocument(TestDocumentMixin):
...
@@ -670,12 +679,8 @@ class TestDocument(TestDocumentMixin):
self
.
assertEqual
(
'attachment; filename="import.file.with.dot.in.filename.pdf"'
,
self
.
assertEqual
(
'attachment; filename="import.file.with.dot.in.filename.pdf"'
,
response
.
getHeader
(
'content-disposition'
))
response
.
getHeader
(
'content-disposition'
))
response_body
=
response
.
getBody
()
response_body
=
response
.
getBody
()
conversion
=
str
(
doc
.
convert
(
'pdf'
)[
1
])
conversion
=
doc
.
convert
(
'pdf'
)[
1
]
diff
=
'
\
n
'
+
'
\
n
'
.
join
(
difflib
.
unified_diff
(
response_body
.
splitlines
(),
self
.
assertEqual
(
response_body
,
conversion
)
conversion
.
splitlines
(),
fromfile
=
'first_call.pdf'
,
tofile
=
'second_call.pdf'
))
self
.
assertEqual
(
response_body
,
conversion
,
diff
)
# test Print icon works on OOoDocument
# test Print icon works on OOoDocument
response
=
self
.
publish
(
'%s/OOoDocument_print'
%
doc
.
getPath
())
response
=
self
.
publish
(
'%s/OOoDocument_print'
%
doc
.
getPath
())
...
@@ -733,13 +738,13 @@ class TestDocument(TestDocumentMixin):
...
@@ -733,13 +738,13 @@ class TestDocument(TestDocumentMixin):
def
test_csv
(
self
):
def
test_csv
(
self
):
doc
=
self
.
portal
.
document_module
.
newContent
(
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
,
portal_type
=
'Spreadsheet'
,
file
=
makeFileUpload
(
'simple.csv'
),
file
=
self
.
makeFileUpload
(
'simple.csv'
),
)
)
self
.
assertEqual
(
doc
.
getContentType
(),
'text/csv'
)
self
.
assertEqual
(
doc
.
getContentType
(),
'text/csv'
)
doc
.
publish
()
doc
.
publish
()
self
.
tic
()
self
.
tic
()
response
=
self
.
publish
(
'%s?format='
%
doc
.
getPath
())
response
=
self
.
publish
(
'%s?format='
%
doc
.
getPath
())
self
.
assertEqual
(
response
.
getBody
(),
makeFileUpload
(
'simple.csv'
).
read
())
self
.
assertEqual
(
response
.
getBody
(),
self
.
makeFileUpload
(
'simple.csv'
).
read
())
self
.
assertEqual
(
response
.
getHeader
(
'Content-Type'
),
'text/csv; charset=utf-8'
)
self
.
assertEqual
(
response
.
getHeader
(
'Content-Type'
),
'text/csv; charset=utf-8'
)
self
.
assertEqual
(
response
.
getHeader
(
'Content-Disposition'
),
'attachment; filename="simple.csv"'
)
self
.
assertEqual
(
response
.
getHeader
(
'Content-Disposition'
),
'attachment; filename="simple.csv"'
)
...
@@ -761,7 +766,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -761,7 +766,7 @@ class TestDocument(TestDocumentMixin):
is not draft
is not draft
"""
"""
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
assertEqual
(
'converting'
,
document
.
getExternalProcessingState
())
self
.
assertEqual
(
'converting'
,
document
.
getExternalProcessingState
())
...
@@ -826,7 +831,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -826,7 +831,7 @@ class TestDocument(TestDocumentMixin):
document.
document.
"""
"""
filename
=
'EmbeddedImage-en-002.odt'
filename
=
'EmbeddedImage-en-002.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
...
@@ -1310,7 +1315,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1310,7 +1315,7 @@ class TestDocument(TestDocumentMixin):
re_html_nbsp
=
re
.
compile
(
'&(nbsp|#160);'
)
re_html_nbsp
=
re
.
compile
(
'&(nbsp|#160);'
)
def
test_PDFTextContent
(
self
):
def
test_PDFTextContent
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'I use reference to look up TEST
\
n
'
,
self
.
assertEqual
(
'I use reference to look up TEST
\
n
'
,
...
@@ -1321,7 +1326,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1321,7 +1326,7 @@ class TestDocument(TestDocumentMixin):
document
.
SearchableText
())
document
.
SearchableText
())
def
test_PDFToPng
(
self
):
def
test_PDFToPng
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
...
@@ -1333,7 +1338,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1333,7 +1338,7 @@ class TestDocument(TestDocumentMixin):
self
.
assertEqual
(
image_data
[
1
:
4
],
b'PNG'
)
self
.
assertEqual
(
image_data
[
1
:
4
],
b'PNG'
)
def
test_PDFToJpg
(
self
):
def
test_PDFToJpg
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
...
@@ -1344,7 +1349,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1344,7 +1349,7 @@ class TestDocument(TestDocumentMixin):
self
.
assertEqual
(
image_data
[
6
:
10
],
b'JFIF'
)
self
.
assertEqual
(
image_data
[
6
:
10
],
b'JFIF'
)
def
test_PDFToGif
(
self
):
def
test_PDFToGif
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
...
@@ -1355,7 +1360,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1355,7 +1360,7 @@ class TestDocument(TestDocumentMixin):
self
.
assertEqual
(
image_data
[
0
:
4
],
b'GIF8'
)
self
.
assertEqual
(
image_data
[
0
:
4
],
b'GIF8'
)
def
test_PDFToTiff
(
self
):
def
test_PDFToTiff
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
...
@@ -1367,7 +1372,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1367,7 +1372,7 @@ class TestDocument(TestDocumentMixin):
def
test_PDF_content_information
(
self
):
def
test_PDF_content_information
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
content_information
=
document
.
getContentInformation
()
content_information
=
document
.
getContentInformation
()
...
@@ -1379,7 +1384,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1379,7 +1384,7 @@ class TestDocument(TestDocumentMixin):
def
test_PDF_content_information_extra_metadata
(
self
):
def
test_PDF_content_information_extra_metadata
(
self
):
# Extra metadata, such as those stored by pdftk update_info are also
# Extra metadata, such as those stored by pdftk update_info are also
# available in document.getContentInformation()
# available in document.getContentInformation()
upload_file
=
makeFileUpload
(
'metadata.pdf'
,
as_name
=
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'metadata.pdf'
,
as_name
=
'REF-en-001.pdf'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
document
.
getPortalType
())
...
@@ -1390,7 +1395,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1390,7 +1395,7 @@ class TestDocument(TestDocumentMixin):
# contribute file which will be merged to current document in synchronous mode
# contribute file which will be merged to current document in synchronous mode
# and check content_type recalculated
# and check content_type recalculated
upload_file
=
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
,
as_name
=
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
,
as_name
=
'REF-en-001.pdf'
)
contributed_document
=
self
.
portal
.
Base_contribute
(
file
=
upload_file
,
\
contributed_document
=
self
.
portal
.
Base_contribute
(
file
=
upload_file
,
\
synchronous_metadata_discovery
=
True
)
synchronous_metadata_discovery
=
True
)
self
.
tic
()
self
.
tic
()
...
@@ -1404,7 +1409,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1404,7 +1409,7 @@ class TestDocument(TestDocumentMixin):
document
.
getContentInformation
()[
'Pages'
])
document
.
getContentInformation
()[
'Pages'
])
# upload with another file and check content_type recalculated
# upload with another file and check content_type recalculated
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
.
setFile
(
upload_file
)
document
.
setFile
(
upload_file
)
self
.
tic
()
self
.
tic
()
content_information
=
document
.
getContentInformation
()
content_information
=
document
.
getContentInformation
()
...
@@ -1422,7 +1427,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1422,7 +1427,7 @@ class TestDocument(TestDocumentMixin):
# IndirectObject instance which is not picklable
# IndirectObject instance which is not picklable
document
=
self
.
portal
.
document_module
.
newContent
(
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
file
=
makeFileUpload
(
'apple_metadata.pdf'
))
file
=
self
.
makeFileUpload
(
'apple_metadata.pdf'
))
# content_information is picklable
# content_information is picklable
content_information
=
document
.
getContentInformation
()
content_information
=
document
.
getContentInformation
()
from
pickle
import
dumps
from
pickle
import
dumps
...
@@ -1435,7 +1440,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1435,7 +1440,7 @@ class TestDocument(TestDocumentMixin):
""" Test that pypdf2 handle wrong formatted PDF """
""" Test that pypdf2 handle wrong formatted PDF """
pdf
=
self
.
portal
.
document_module
.
newContent
(
pdf
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
file
=
makeFileUpload
(
'FEUILLE BLANCHE.pdf'
),
file
=
self
.
makeFileUpload
(
'FEUILLE BLANCHE.pdf'
),
title
=
'Bad PDF'
)
title
=
'Bad PDF'
)
self
.
tic
()
self
.
tic
()
pdf
.
share
()
pdf
.
share
()
...
@@ -1445,7 +1450,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1445,7 +1450,7 @@ class TestDocument(TestDocumentMixin):
self
.
assertNotEqual
(
result
,
None
)
self
.
assertNotEqual
(
result
,
None
)
def
test_PDF_content_content_type
(
self
):
def
test_PDF_content_content_type
(
self
):
upload_file
=
makeFileUpload
(
'REF-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
# Here we use edit instead of setFile,
# Here we use edit instead of setFile,
# because only edit method set filename as filename.
# because only edit method set filename as filename.
...
@@ -1454,17 +1459,17 @@ class TestDocument(TestDocumentMixin):
...
@@ -1454,17 +1459,17 @@ class TestDocument(TestDocumentMixin):
def
test_PDF_watermark
(
self
):
def
test_PDF_watermark
(
self
):
original_document
=
self
.
portal
.
portal_contributions
.
newContent
(
original_document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'REF-en-001.pdf'
))
file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
))
# This watermark.pdf document is a pdf with a transparent background. Such
# This watermark.pdf document is a pdf with a transparent background. Such
# document can be created using GIMP
# document can be created using GIMP
watermark_document
=
self
.
portal
.
portal_contributions
.
newContent
(
watermark_document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'watermark.pdf'
))
file
=
self
.
makeFileUpload
(
'watermark.pdf'
))
watermarked_data
=
original_document
.
getWatermarkedData
(
watermarked_data
=
original_document
.
getWatermarkedData
(
watermark_data
=
watermark_document
.
getData
(),
watermark_data
=
watermark_document
.
getData
(),
repeat_watermark
=
False
)
repeat_watermark
=
False
)
# this looks like a pdf
# this looks like a pdf
self
.
assertTrue
(
watermarked_data
.
startswith
(
'%PDF-1.3'
))
self
.
assertTrue
(
watermarked_data
.
startswith
(
b
'%PDF-1.3'
))
# and ERP5 can make a PDF Document out of it
# and ERP5 can make a PDF Document out of it
watermarked_document
=
self
.
portal
.
document_module
.
newContent
(
watermarked_document
=
self
.
portal
.
document_module
.
newContent
(
...
@@ -1477,14 +1482,14 @@ class TestDocument(TestDocumentMixin):
...
@@ -1477,14 +1482,14 @@ class TestDocument(TestDocumentMixin):
def
test_PDF_watermark_repeat
(
self
):
def
test_PDF_watermark_repeat
(
self
):
# watermark a pdf, repeating the watermark
# watermark a pdf, repeating the watermark
original_document
=
self
.
portal
.
portal_contributions
.
newContent
(
original_document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
))
file
=
self
.
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
))
watermark_document
=
self
.
portal
.
portal_contributions
.
newContent
(
watermark_document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'watermark.pdf'
))
file
=
self
.
makeFileUpload
(
'watermark.pdf'
))
watermarked_data
=
original_document
.
getWatermarkedData
(
watermarked_data
=
original_document
.
getWatermarkedData
(
watermark_data
=
watermark_document
.
getData
(),
watermark_data
=
watermark_document
.
getData
(),
repeat_watermark
=
True
)
repeat_watermark
=
True
)
self
.
assertTrue
(
watermarked_data
.
startswith
(
'%PDF-1.3'
))
self
.
assertTrue
(
watermarked_data
.
startswith
(
b
'%PDF-1.3'
))
watermarked_document
=
self
.
portal
.
document_module
.
newContent
(
watermarked_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
data
=
watermarked_data
)
data
=
watermarked_data
)
...
@@ -1495,15 +1500,15 @@ class TestDocument(TestDocumentMixin):
...
@@ -1495,15 +1500,15 @@ class TestDocument(TestDocumentMixin):
def
test_PDF_watermark_start_page
(
self
):
def
test_PDF_watermark_start_page
(
self
):
# watermark a pdf, starting on the second page
# watermark a pdf, starting on the second page
original_document
=
self
.
portal
.
portal_contributions
.
newContent
(
original_document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
))
file
=
self
.
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
))
watermark_document
=
self
.
portal
.
portal_contributions
.
newContent
(
watermark_document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'watermark.pdf'
))
file
=
self
.
makeFileUpload
(
'watermark.pdf'
))
watermarked_data
=
original_document
.
getWatermarkedData
(
watermarked_data
=
original_document
.
getWatermarkedData
(
watermark_data
=
watermark_document
.
getData
(),
watermark_data
=
watermark_document
.
getData
(),
repeat_watermark
=
False
,
repeat_watermark
=
False
,
watermark_start_page
=
1
)
# This is 0 based.
watermark_start_page
=
1
)
# This is 0 based.
self
.
assertTrue
(
watermarked_data
.
startswith
(
'%PDF-1.3'
))
self
.
assertTrue
(
watermarked_data
.
startswith
(
b
'%PDF-1.3'
))
watermarked_document
=
self
.
portal
.
document_module
.
newContent
(
watermarked_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
data
=
watermarked_data
)
data
=
watermarked_data
)
...
@@ -1512,7 +1517,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1512,7 +1517,7 @@ class TestDocument(TestDocumentMixin):
watermarked_document
.
getData
())
watermarked_document
.
getData
())
def
test_checkVisibleTextInPresentationToImageConversion
(
self
):
def
test_checkVisibleTextInPresentationToImageConversion
(
self
):
odp
=
makeFileUpload
(
"TEST-en-003.odp"
)
odp
=
self
.
makeFileUpload
(
"TEST-en-003.odp"
)
presentation
=
self
.
portal
.
document_module
.
newContent
(
presentation
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
"Presentation"
,
portal_type
=
"Presentation"
,
data
=
odp
,
data
=
odp
,
...
@@ -1532,7 +1537,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1532,7 +1537,7 @@ class TestDocument(TestDocumentMixin):
self
.
assertIn
(
"ERP5 DMS page 1"
,
txt
)
self
.
assertIn
(
"ERP5 DMS page 1"
,
txt
)
def
test_Document_getStandardFilename
(
self
):
def
test_Document_getStandardFilename
(
self
):
upload_file
=
makeFileUpload
(
'metadata.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'metadata.pdf'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
self
.
assertEqual
(
document
.
getStandardFilename
(),
'metadata.pdf'
)
self
.
assertEqual
(
document
.
getStandardFilename
(),
'metadata.pdf'
)
...
@@ -1544,7 +1549,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1544,7 +1549,7 @@ class TestDocument(TestDocumentMixin):
self
.
assertEqual
(
document
.
getStandardFilename
(
format
=
'png'
),
self
.
assertEqual
(
document
.
getStandardFilename
(
format
=
'png'
),
'metadata-001-en.png'
)
'metadata-001-en.png'
)
# check when format contains multiple '.'
# check when format contains multiple '.'
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
self
.
assertEqual
(
document
.
getStandardFilename
(),
'TEST-en-003.odp'
)
self
.
assertEqual
(
document
.
getStandardFilename
(),
'TEST-en-003.odp'
)
...
@@ -1552,18 +1557,18 @@ class TestDocument(TestDocumentMixin):
...
@@ -1552,18 +1557,18 @@ class TestDocument(TestDocumentMixin):
def
test_CMYKImageTextContent
(
self
):
def
test_CMYKImageTextContent
(
self
):
upload_file
=
makeFileUpload
(
'cmyk_sample.jpg'
)
upload_file
=
self
.
makeFileUpload
(
'cmyk_sample.jpg'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'Image'
,
document
.
getPortalType
())
self
.
assertEqual
(
'Image'
,
document
.
getPortalType
())
self
.
assertEqual
(
'ERP5 is a free software.'
,
document
.
asText
())
self
.
assertEqual
(
'ERP5 is a free software.'
,
document
.
asText
())
def
test_MonochromeImageResize
(
self
):
def
test_MonochromeImageResize
(
self
):
upload_file
=
makeFileUpload
(
'monochrome_sample.tiff'
)
upload_file
=
self
.
makeFileUpload
(
'monochrome_sample.tiff'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
assertEqual
(
'Image'
,
document
.
getPortalType
())
self
.
assertEqual
(
'Image'
,
document
.
getPortalType
())
resized_image
=
document
.
convert
(
format
=
'png'
,
display
=
'small'
)[
1
]
resized_image
=
document
.
convert
(
format
=
'png'
,
display
=
'small'
)[
1
]
identify_output
=
Popen
([
'identify'
,
'-verbose'
,
'-'
],
stdin
=
PIPE
,
stdout
=
PIPE
).
communicate
(
resized_image
)[
0
]
identify_output
=
Popen
([
'identify'
,
'-verbose'
,
'-'
],
stdin
=
PIPE
,
stdout
=
PIPE
).
communicate
(
resized_image
)[
0
]
self
.
assertNotIn
(
'1-bit'
,
identify_output
)
self
.
assertNotIn
(
b
'1-bit'
,
identify_output
)
self
.
assertEqual
(
'ERP5 is a free software.'
,
document
.
asText
())
self
.
assertEqual
(
'ERP5 is a free software.'
,
document
.
asText
())
def
test_Base_showFoundText
(
self
):
def
test_Base_showFoundText
(
self
):
...
@@ -1571,7 +1576,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1571,7 +1576,7 @@ class TestDocument(TestDocumentMixin):
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Drawing'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Drawing'
)
self
.
assertEqual
(
'empty'
,
document
.
getExternalProcessingState
())
self
.
assertEqual
(
'empty'
,
document
.
getExternalProcessingState
())
upload_file
=
makeFileUpload
(
'TEST-en-002.odt'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.odt'
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
'converted'
,
document
.
getExternalProcessingState
())
self
.
assertEqual
(
'converted'
,
document
.
getExternalProcessingState
())
...
@@ -1586,7 +1591,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1586,7 +1591,7 @@ class TestDocument(TestDocumentMixin):
document
.
Base_showFoundText
())
document
.
Base_showFoundText
())
# upload again good content
# upload again good content
upload_file
=
makeFileUpload
(
'TEST-en-002.odt'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.odt'
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
'converted'
,
document
.
getExternalProcessingState
())
self
.
assertEqual
(
'converted'
,
document
.
getExternalProcessingState
())
...
@@ -1597,18 +1602,18 @@ class TestDocument(TestDocumentMixin):
...
@@ -1597,18 +1602,18 @@ class TestDocument(TestDocumentMixin):
Check that encoding remains.
Check that encoding remains.
"""
"""
web_page_portal_type
=
'Web Page'
web_page_portal_type
=
'Web Page'
string_to_test
=
'éààéôù'
string_to_test
=
u
'éààéôù'
web_page
=
self
.
portal
.
getDefaultModule
(
web_page_portal_type
)
\
web_page
=
self
.
portal
.
getDefaultModule
(
web_page_portal_type
)
\
.
newContent
(
portal_type
=
web_page_portal_type
)
.
newContent
(
portal_type
=
web_page_portal_type
)
html_content
=
'<p>%s</p>'
%
string_to_test
html_content
=
u
'<p>%s</p>'
%
string_to_test
web_page
.
edit
(
text_content
=
html_content
)
web_page
.
edit
(
text_content
=
html_content
)
_
,
pdf_data
=
web_page
.
convert
(
'pdf'
)
_
,
pdf_data
=
web_page
.
convert
(
'pdf'
)
text_content
=
self
.
portal
.
portal_transforms
.
\
text_content
=
self
.
portal
.
portal_transforms
.
\
convertToData
(
'text/plain'
,
convertToData
(
'text/plain'
,
str
(
pdf_data
),
bytes
(
pdf_data
),
object
=
web_page
,
context
=
web_page
,
object
=
web_page
,
context
=
web_page
,
filename
=
'test.pdf'
)
filename
=
'test.pdf'
)
self
.
assertIn
(
string_to_test
,
text_content
)
self
.
assertIn
(
string_to_test
,
text_content
.
decode
(
'utf-8'
)
)
def
test_HTML_to_ODT_conversion_keep_related_image_list
(
self
):
def
test_HTML_to_ODT_conversion_keep_related_image_list
(
self
):
"""This test create a Web Page and an Image.
"""This test create a Web Page and an Image.
...
@@ -1630,7 +1635,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1630,7 +1635,7 @@ class TestDocument(TestDocumentMixin):
.
newContent
(
portal_type
=
image_portal_type
)
.
newContent
(
portal_type
=
image_portal_type
)
# edit content and publish it
# edit content and publish it
upload_file
=
makeFileUpload
(
'cmyk_sample.jpg'
)
upload_file
=
self
.
makeFileUpload
(
'cmyk_sample.jpg'
)
image
.
edit
(
reference
=
image_reference
,
image
.
edit
(
reference
=
image_reference
,
version
=
'001'
,
version
=
'001'
,
language
=
'en'
,
language
=
'en'
,
...
@@ -1666,7 +1671,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1666,7 +1671,7 @@ class TestDocument(TestDocumentMixin):
# Let's continue with Presentation Document as embbeded image
# Let's continue with Presentation Document as embbeded image
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
)
image_reference
=
'IMAGE-odp'
image_reference
=
'IMAGE-odp'
document
.
edit
(
file
=
upload_file
,
reference
=
image_reference
)
document
.
edit
(
file
=
upload_file
,
reference
=
image_reference
)
document
.
publish
()
document
.
publish
()
...
@@ -1737,7 +1742,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1737,7 +1742,7 @@ class TestDocument(TestDocumentMixin):
module
=
self
.
portal
.
getDefaultModule
(
web_page_portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
web_page_portal_type
)
web_page
=
module
.
newContent
(
portal_type
=
web_page_portal_type
)
web_page
=
module
.
newContent
(
portal_type
=
web_page_portal_type
)
html_content
=
"""<html>
html_content
=
u
"""<html>
<head>
<head>
<meta http-equiv="refresh" content="5;url=http://example.com/"/>
<meta http-equiv="refresh" content="5;url=http://example.com/"/>
<meta http-equiv="Set-Cookie" content=""/>
<meta http-equiv="Set-Cookie" content=""/>
...
@@ -1763,9 +1768,7 @@ class TestDocument(TestDocumentMixin):
...
@@ -1763,9 +1768,7 @@ class TestDocument(TestDocumentMixin):
</body>
</body>
</html>
</html>
"""
"""
if
six
.
PY2
:
html_content
=
html_content
.
encode
(
'iso-8859-1'
)
html_content
=
html_content
.
decode
(
'utf-8'
).
encode
(
'iso-8859-1'
)
# content encoded into another codec
# content encoded into another codec
# than utf-8 comes from necessarily an external file
# than utf-8 comes from necessarily an external file
# (Ingestion, or FileField), not from user interface
# (Ingestion, or FileField), not from user interface
...
@@ -1774,12 +1777,8 @@ class TestDocument(TestDocumentMixin):
...
@@ -1774,12 +1777,8 @@ class TestDocument(TestDocumentMixin):
# as it is done in reality
# as it is done in reality
# Mimic the behaviour of a FileUpload from WebPage_view
# Mimic the behaviour of a FileUpload from WebPage_view
file_like
=
StringIO
()
file_like
=
io
.
BytesIO
(
html_content
)
file_like
.
write
(
html_content
)
file_like
.
filename
=
'something.htm'
setattr
(
file_like
,
'filename'
,
'something.htm'
)
if
six
.
PY3
:
from
io
import
BytesIO
file_like
=
BytesIO
(
file_like
.
getvalue
().
encode
())
web_page
.
edit
(
file
=
file_like
)
web_page
.
edit
(
file
=
file_like
)
# run conversion to base format
# run conversion to base format
self
.
tic
()
self
.
tic
()
...
@@ -1886,7 +1885,7 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
...
@@ -1886,7 +1885,7 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
self
.
assertNotIn
(
'#FFAA44'
,
safe_html
)
self
.
assertNotIn
(
'#FFAA44'
,
safe_html
)
filename
=
'broken_html.html'
filename
=
'broken_html.html'
file_object
=
makeFileUpload
(
filename
)
file_object
=
self
.
makeFileUpload
(
filename
)
web_page
.
edit
(
file
=
file_object
)
web_page
.
edit
(
file
=
file_object
)
assert
web_page
.
convert
(
'html'
)[
1
]
assert
web_page
.
convert
(
'html'
)[
1
]
...
@@ -1946,7 +1945,7 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
...
@@ -1946,7 +1945,7 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
document_module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
document_module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
document
=
document_module
.
newContent
(
portal_type
=
portal_type
)
document
=
document_module
.
newContent
(
portal_type
=
portal_type
)
upload_file
=
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'Forty-Two.Pages-en-001.pdf'
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
pages_number
=
int
(
document
.
getContentInformation
()[
'Pages'
])
pages_number
=
int
(
document
.
getContentInformation
()[
'Pages'
])
self
.
tic
()
self
.
tic
()
...
@@ -2050,16 +2049,24 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
...
@@ -2050,16 +2049,24 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
"""
"""
web_page_portal_type
=
'Web Page'
web_page_portal_type
=
'Web Page'
module
=
self
.
portal
.
getDefaultModule
(
web_page_portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
web_page_portal_type
)
upload_file
=
makeFileUpload
(
'TEST-text-iso8859-1.txt'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-text-iso8859-1.txt'
)
web_page
=
module
.
newContent
(
portal_type
=
web_page_portal_type
,
web_page
=
module
.
newContent
(
file
=
upload_file
)
portal_type
=
web_page_portal_type
,
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
web_page
.
getContentType
(),
'text/plain'
)
text_content
=
web_page
.
getTextContent
()
text_content
=
web_page
.
getTextContent
()
my_utf_eight_token
=
'ùééàçèîà'
self
.
assertIn
(
'éèàùôâïî'
,
text_content
)
text_content
=
text_content
.
replace
(
'
\
n
'
,
'
\
n
%s
\
n
'
%
my_utf_eight_token
)
self
.
assertIn
(
'éèàùôâïî'
,
web_page
.
asStrippedHTML
())
self
.
assertIn
(
'éèàùôâïî'
,
web_page
.
asEntireHTML
())
added_utf_eight_token
=
'ùééàçèîà'
text_content
=
text_content
.
replace
(
'
\
n
'
,
'
\
n
%s
\
n
'
%
added_utf_eight_token
)
web_page
.
edit
(
text_content
=
text_content
)
web_page
.
edit
(
text_content
=
text_content
)
self
.
assertIn
(
my_utf_eight_token
,
web_page
.
asStrippedHTML
())
self
.
assertIn
(
'éèàùôâïî'
,
web_page
.
asStrippedHTML
())
self
.
assertTrue
(
isinstance
(
web_page
.
asEntireHTML
().
decode
(
'utf-8'
),
unicode
))
self
.
assertIn
(
'éèàùôâïî'
,
web_page
.
asEntireHTML
())
self
.
assertIn
(
added_utf_eight_token
,
web_page
.
asStrippedHTML
())
self
.
assertIn
(
added_utf_eight_token
,
web_page
.
asEntireHTML
())
def
test_PDFDocument_asTextConversion
(
self
):
def
test_PDFDocument_asTextConversion
(
self
):
"""Test a PDF document with embedded images
"""Test a PDF document with embedded images
...
@@ -2067,24 +2074,24 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
...
@@ -2067,24 +2074,24 @@ document.write('<sc'+'ript type="text/javascript" src="http://somosite.bg/utb.ph
"""
"""
document
=
self
.
portal
.
document_module
.
newContent
(
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
file
=
makeFileUpload
(
'TEST.Embedded.Image.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST.Embedded.Image.pdf'
))
self
.
assertEqual
(
document
.
asText
(),
'ERP5 is a free software.'
)
self
.
assertEqual
(
document
.
asText
(),
'ERP5 is a free software.'
)
def
test_broken_pdf_asText
(
self
):
def
test_broken_pdf_asText
(
self
):
class
StringIOWithFilename
(
String
IO
):
class
BytesIOWithFilename
(
io
.
Bytes
IO
):
filename
=
'broken.pdf'
filename
=
'broken.pdf'
document
=
self
.
portal
.
document_module
.
newContent
(
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
file
=
StringIOWithFilename
(
'broken'
))
file
=
BytesIOWithFilename
(
b
'broken'
))
self
.
assertEqual
(
document
.
asText
(),
''
)
self
.
assertEqual
(
document
.
asText
(),
''
)
self
.
tic
()
# no activity failure
self
.
tic
()
# no activity failure
def
test_password_protected_pdf_asText
(
self
):
def
test_password_protected_pdf_asText
(
self
):
pdf_reader
=
PyPDF2
.
PdfFileReader
(
makeFileUpload
(
'TEST.Embedded.Image.pdf'
))
pdf_reader
=
PyPDF2
.
PdfFileReader
(
self
.
makeFileUpload
(
'TEST.Embedded.Image.pdf'
))
pdf_writer
=
PyPDF2
.
PdfFileWriter
()
pdf_writer
=
PyPDF2
.
PdfFileWriter
()
pdf_writer
.
addPage
(
pdf_reader
.
getPage
(
0
))
pdf_writer
.
addPage
(
pdf_reader
.
getPage
(
0
))
pdf_writer
.
encrypt
(
'secret'
)
pdf_writer
.
encrypt
(
'secret'
)
encrypted_pdf_stream
=
String
IO
()
encrypted_pdf_stream
=
io
.
Bytes
IO
()
pdf_writer
.
write
(
encrypted_pdf_stream
)
pdf_writer
.
write
(
encrypted_pdf_stream
)
document
=
self
.
portal
.
document_module
.
newContent
(
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
...
@@ -2106,7 +2113,7 @@ return 1
...
@@ -2106,7 +2113,7 @@ return 1
def
_test_document_conversion_to_base_format_no_original_format_access
(
self
,
def
_test_document_conversion_to_base_format_no_original_format_access
(
self
,
portal_type
,
filename
):
portal_type
,
filename
):
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
upload_file
=
makeFileUpload
(
filename
)
upload_file
=
self
.
makeFileUpload
(
filename
)
document
=
module
.
newContent
(
portal_type
=
portal_type
,
document
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
file
=
upload_file
)
...
@@ -2158,7 +2165,7 @@ return 1
...
@@ -2158,7 +2165,7 @@ return 1
self
.
commit
()
self
.
commit
()
# Create document with good content
# Create document with good content
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
'converted'
,
document
.
getExternalProcessingState
())
self
.
assertEqual
(
'converted'
,
document
.
getExternalProcessingState
())
...
@@ -2166,12 +2173,12 @@ return 1
...
@@ -2166,12 +2173,12 @@ return 1
for
credential
in
[
'ERP5TypeTestCase:'
,
'zope_user:'
]:
for
credential
in
[
'ERP5TypeTestCase:'
,
'zope_user:'
]:
response
=
self
.
publish
(
'%s/%s'
%
(
document
.
getPath
(),
object_url
),
response
=
self
.
publish
(
'%s/%s'
%
(
document
.
getPath
(),
object_url
),
basic
=
credential
)
basic
=
credential
)
self
.
assertIn
(
'200 OK'
,
response
.
getOutput
())
self
.
assertIn
(
b
'200 OK'
,
response
.
getOutput
())
#
OOod
produced HTML navigation, test it
#
cloudooo
produced HTML navigation, test it
self
.
assertIn
(
'First page'
,
response
.
getBody
())
self
.
assertIn
(
b
'First page'
,
response
.
getBody
())
self
.
assertIn
(
'Back'
,
response
.
getBody
())
self
.
assertIn
(
b
'Back'
,
response
.
getBody
())
self
.
assertIn
(
'Continue'
,
response
.
getBody
())
self
.
assertIn
(
b
'Continue'
,
response
.
getBody
())
self
.
assertIn
(
'Last page'
,
response
.
getBody
())
self
.
assertIn
(
b
'Last page'
,
response
.
getBody
())
def
test_getTargetFormatItemList
(
self
):
def
test_getTargetFormatItemList
(
self
):
"""
"""
...
@@ -2183,7 +2190,7 @@ return 1
...
@@ -2183,7 +2190,7 @@ return 1
portal_type
=
'PDF'
portal_type
=
'PDF'
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
upload_file
=
makeFileUpload
(
'TEST.Large.Document.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'TEST.Large.Document.pdf'
)
pdf
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
pdf
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
self
.
assertIn
(
'html'
,
pdf
.
getTargetFormatList
())
self
.
assertIn
(
'html'
,
pdf
.
getTargetFormatList
())
...
@@ -2204,7 +2211,7 @@ return 1
...
@@ -2204,7 +2211,7 @@ return 1
self
.
assertSameSet
([],
presentation
.
getTargetFormatList
())
self
.
assertSameSet
([],
presentation
.
getTargetFormatList
())
# test uploading some data
# test uploading some data
upload_file
=
makeFileUpload
(
'Foo_001.odg'
)
upload_file
=
self
.
makeFileUpload
(
'Foo_001.odg'
)
presentation
.
edit
(
file
=
upload_file
)
presentation
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertIn
(
'odg'
,
presentation
.
getTargetFormatList
())
self
.
assertIn
(
'odg'
,
presentation
.
getTargetFormatList
())
...
@@ -2232,7 +2239,7 @@ return 1
...
@@ -2232,7 +2239,7 @@ return 1
# images from same instance accessed by reference and wrong conversion arguments (dispay NOT display)
# images from same instance accessed by reference and wrong conversion arguments (dispay NOT display)
# code should be more resilient
# code should be more resilient
upload_file
=
makeFileUpload
(
'cmyk_sample.jpg'
)
upload_file
=
self
.
makeFileUpload
(
'cmyk_sample.jpg'
)
image
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
,
image
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
,
reference
=
'Embedded-XXX'
,
reference
=
'Embedded-XXX'
,
version
=
'001'
,
version
=
'001'
,
...
@@ -2275,15 +2282,15 @@ return 1
...
@@ -2275,15 +2282,15 @@ return 1
"""
"""
# Create OOo document
# Create OOo document
ooo_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
ooo_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
)
ooo_document
.
edit
(
file
=
upload_file
)
ooo_document
.
edit
(
file
=
upload_file
)
pdf_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
pdf_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
upload_file
=
makeFileUpload
(
'TEST-en-002.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
)
pdf_document
.
edit
(
file
=
upload_file
)
pdf_document
.
edit
(
file
=
upload_file
)
image_document
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
)
image_document
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
)
upload_file
=
makeFileUpload
(
'TEST-en-002.png'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.png'
)
image_document
.
edit
(
file
=
upload_file
)
image_document
.
edit
(
file
=
upload_file
)
web_page_document
=
self
.
portal
.
web_page_module
.
newContent
(
portal_type
=
"Web Page"
)
web_page_document
=
self
.
portal
.
web_page_module
.
newContent
(
portal_type
=
"Web Page"
)
...
@@ -2367,19 +2374,19 @@ return 1
...
@@ -2367,19 +2374,19 @@ return 1
"""
"""
def
getURL
(
uri
,
**
kw
):
def
getURL
(
uri
,
**
kw
):
# __ac=RVJQNVR5cGVUZXN0Q2FzZTo%3D is encoded ERP5TypeTestCase with empty password
# __ac=RVJQNVR5cGVUZXN0Q2FzZTo%3D is encoded ERP5TypeTestCase with empty password
url
=
'%s?%s
&__ac=%s'
%
(
uri
,
urlencode
(
kw
),
'RVJQNVR5cGVUZXN0Q2FzZTo%3D'
)
url
=
'%s?%s
'
%
(
uri
,
urlencode
(
dict
(
kw
,
__ac
=
'RVJQNVR5cGVUZXN0Q2FzZTo%3D'
))
)
return
urlopen
(
url
)
return
urlopen
(
url
)
ooo_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
ooo_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
)
ooo_document
.
edit
(
file
=
upload_file
)
ooo_document
.
edit
(
file
=
upload_file
)
pdf_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
pdf_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'PDF'
)
upload_file
=
makeFileUpload
(
'TEST-en-002.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
)
pdf_document
.
edit
(
file
=
upload_file
)
pdf_document
.
edit
(
file
=
upload_file
)
image_document
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
)
image_document
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
)
upload_file
=
makeFileUpload
(
'TEST-en-002.png'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.png'
)
image_document
.
edit
(
file
=
upload_file
)
image_document
.
edit
(
file
=
upload_file
)
web_page_document
=
self
.
portal
.
web_page_module
.
newContent
(
portal_type
=
"Web Page"
)
web_page_document
=
self
.
portal
.
web_page_module
.
newContent
(
portal_type
=
"Web Page"
)
...
@@ -2388,25 +2395,25 @@ return 1
...
@@ -2388,25 +2395,25 @@ return 1
web_page_document
.
setTextContentSubstitutionMappingMethodId
(
'WebPage_getStandardSubstitutionMappingDict'
)
web_page_document
.
setTextContentSubstitutionMappingMethodId
(
'WebPage_getStandardSubstitutionMappingDict'
)
self
.
tic
()
self
.
tic
()
response
=
getURL
(
image_document
.
absolute_url
(),
**
{
'format'
:
''
})
response
=
getURL
(
image_document
.
absolute_url
(),
**
{
'format'
:
''
})
self
.
assert
In
(
'Content-Type: image/png
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Type'
),
'image/png'
)
self
.
assert
In
(
'Content-Length: %s
\
r
\
n
'
%
getFileSize
(
'TEST-en-002.png'
),
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Length'
),
str
(
getFileSize
(
'TEST-en-002.png'
))
)
response
=
getURL
(
ooo_document
.
absolute_url
(),
**
{
'format'
:
''
})
response
=
getURL
(
ooo_document
.
absolute_url
(),
**
{
'format'
:
''
})
self
.
assert
In
(
'Content-Type: application/vnd.oasis.opendocument.presentation
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Type'
),
'application/vnd.oasis.opendocument.presentation'
)
self
.
assert
In
(
'Content-Disposition: attachment; filename="TEST-en-003.odp"
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Disposition'
),
'attachment; filename="TEST-en-003.odp"'
)
self
.
assert
In
(
'Content-Length: %s
\
r
\
n
'
%
getFileSize
(
'TEST-en-003.odp'
),
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Length'
),
str
(
getFileSize
(
'TEST-en-003.odp'
))
)
response
=
getURL
(
pdf_document
.
absolute_url
(),
**
{
'format'
:
''
})
response
=
getURL
(
pdf_document
.
absolute_url
(),
**
{
'format'
:
''
})
self
.
assert
In
(
'Content-Type: application/pdf
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Type'
),
'application/pdf'
)
self
.
assert
In
(
'Content-Disposition: attachment; filename="TEST-en-002.pdf"
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Disposition'
),
'attachment; filename="TEST-en-002.pdf"'
)
response
=
getURL
(
pdf_document
.
absolute_url
(),
**
{
'format'
:
'pdf'
})
response
=
getURL
(
pdf_document
.
absolute_url
(),
**
{
'format'
:
'pdf'
})
self
.
assert
In
(
'Content-Type: application/pdf
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Type'
),
'application/pdf'
)
self
.
assert
In
(
'Content-Disposition: attachment; filename="TEST-en-002.pdf"
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Disposition'
),
'attachment; filename="TEST-en-002.pdf"'
)
response
=
getURL
(
web_page_document
.
absolute_url
(),
**
{
'format'
:
''
})
response
=
getURL
(
web_page_document
.
absolute_url
(),
**
{
'format'
:
''
})
self
.
assert
In
(
'Content-Type: text/html; charset=utf-8
\
r
\
n
'
,
response
.
info
().
headers
)
self
.
assert
Equal
(
response
.
info
().
get
(
'Content-Type'
),
'text/html; charset=utf-8'
)
def
test_checkConversionFormatPermission
(
self
):
def
test_checkConversionFormatPermission
(
self
):
"""
"""
...
@@ -2414,7 +2421,7 @@ return 1
...
@@ -2414,7 +2421,7 @@ return 1
"""
"""
portal_type
=
'PDF'
portal_type
=
'PDF'
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
upload_file
=
makeFileUpload
(
'TEST.Large.Document.pdf'
)
upload_file
=
self
.
makeFileUpload
(
'TEST.Large.Document.pdf'
)
pdf
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
pdf
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
# if PDF size is larger than A4 format system should deny conversion
# if PDF size is larger than A4 format system should deny conversion
...
@@ -2423,7 +2430,7 @@ return 1
...
@@ -2423,7 +2430,7 @@ return 1
# raster -> svg image should deny conversion if image width or height > 128 px
# raster -> svg image should deny conversion if image width or height > 128 px
portal_type
=
'Image'
portal_type
=
'Image'
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
upload_file
=
makeFileUpload
(
'TEST-en-002.jpg'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.jpg'
)
image
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
image
=
module
.
newContent
(
portal_type
=
portal_type
,
file
=
upload_file
)
self
.
assertRaises
(
Unauthorized
,
image
.
convert
,
format
=
'svg'
)
self
.
assertRaises
(
Unauthorized
,
image
.
convert
,
format
=
'svg'
)
...
@@ -2433,7 +2440,7 @@ return 1
...
@@ -2433,7 +2440,7 @@ return 1
return a default (i.e. indicating a conversion failures)
return a default (i.e. indicating a conversion failures)
"""
"""
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
doc
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Presentation'
)
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
)
doc
.
edit
(
file
=
upload_file
)
doc
.
edit
(
file
=
upload_file
)
doc
.
publish
()
doc
.
publish
()
self
.
tic
()
self
.
tic
()
...
@@ -2561,7 +2568,7 @@ return 1
...
@@ -2561,7 +2568,7 @@ return 1
Test various cases of contributing to an existing document
Test various cases of contributing to an existing document
"""
"""
# contribute a document, then make it not editable and check we can not contribute to it
# contribute a document, then make it not editable and check we can not contribute to it
upload_file
=
makeFileUpload
(
'TEST-en-002.doc'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
self
.
tic
()
self
.
tic
()
...
@@ -2586,12 +2593,12 @@ return 1
...
@@ -2586,12 +2593,12 @@ return 1
"""
"""
# contribute a document, then make it not editable and check we can not contribute to it
# contribute a document, then make it not editable and check we can not contribute to it
kw
=
dict
(
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
synchronous_metadata_discovery
=
True
)
upload_file
=
makeFileUpload
(
'TEST-en-002.doc'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
self
.
tic
()
self
.
tic
()
upload_file
=
makeFileUpload
(
'TEST-en-003.odp'
,
'TEST-en-002.doc'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-003.odp'
,
'TEST-en-002.doc'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
self
.
tic
()
self
.
tic
()
...
@@ -2625,7 +2632,7 @@ return 1
...
@@ -2625,7 +2632,7 @@ return 1
def
test_base_convertable_uses_pdata_for_base_data
(
self
):
def
test_base_convertable_uses_pdata_for_base_data
(
self
):
document
=
self
.
portal
.
document_module
.
newContent
(
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
,
portal_type
=
'Spreadsheet'
,
file
=
makeFileUpload
(
'import_big_spreadsheet.ods'
))
file
=
self
.
makeFileUpload
(
'import_big_spreadsheet.ods'
))
self
.
tic
()
self
.
tic
()
# for large documents base_data is stored as Pdata
# for large documents base_data is stored as Pdata
self
.
assertIsInstance
(
document
.
base_data
,
Pdata
)
self
.
assertIsInstance
(
document
.
base_data
,
Pdata
)
...
@@ -2635,7 +2642,7 @@ return 1
...
@@ -2635,7 +2642,7 @@ return 1
# for small documents, it's bytes directly
# for small documents, it's bytes directly
document
=
self
.
portal
.
document_module
.
newContent
(
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Text'
,
portal_type
=
'Text'
,
file
=
makeFileUpload
(
'TEST-en-002.odt'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.odt'
))
self
.
tic
()
self
.
tic
()
self
.
assertIsInstance
(
document
.
base_data
,
bytes
)
self
.
assertIsInstance
(
document
.
base_data
,
bytes
)
self
.
assertIsInstance
(
document
.
getBaseData
(),
bytes
)
self
.
assertIsInstance
(
document
.
getBaseData
(),
bytes
)
...
@@ -2647,7 +2654,7 @@ return 1
...
@@ -2647,7 +2654,7 @@ return 1
When cloning a document base_data must not be computed once again.
When cloning a document base_data must not be computed once again.
"""
"""
# create a document
# create a document
upload_file
=
makeFileUpload
(
'TEST-en-002.doc'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
self
.
tic
()
self
.
tic
()
...
@@ -2665,7 +2672,7 @@ return 1
...
@@ -2665,7 +2672,7 @@ return 1
# Update document with another content by using setData:
# Update document with another content by using setData:
# base_data must be recomputed
# base_data must be recomputed
document
.
edit
(
data
=
makeFileUpload
(
'TEST-en-002.odt'
).
read
())
document
.
edit
(
data
=
self
.
makeFileUpload
(
'TEST-en-002.odt'
).
read
())
self
.
tic
()
self
.
tic
()
self
.
assertTrue
(
document
.
hasBaseData
())
self
.
assertTrue
(
document
.
hasBaseData
())
self
.
assertNotEqual
(
previous_base_data
,
document
.
getBaseData
(),
self
.
assertNotEqual
(
previous_base_data
,
document
.
getBaseData
(),
...
@@ -2677,7 +2684,7 @@ return 1
...
@@ -2677,7 +2684,7 @@ return 1
# Update document with another content by using setFile:
# Update document with another content by using setFile:
# base_data must be recomputed
# base_data must be recomputed
document
.
edit
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
))
document
.
edit
(
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
))
self
.
tic
()
self
.
tic
()
self
.
assertTrue
(
document
.
hasBaseData
())
self
.
assertTrue
(
document
.
hasBaseData
())
self
.
assertNotEqual
(
previous_base_data
,
document
.
getBaseData
(),
self
.
assertNotEqual
(
previous_base_data
,
document
.
getBaseData
(),
...
@@ -2698,7 +2705,7 @@ return 1
...
@@ -2698,7 +2705,7 @@ return 1
back to empty state
back to empty state
"""
"""
# create a document
# create a document
upload_file
=
makeFileUpload
(
'TEST-en-002.doc'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
self
.
tic
()
self
.
tic
()
...
@@ -2846,7 +2853,7 @@ return 1
...
@@ -2846,7 +2853,7 @@ return 1
""" Test "visible" instances of a doc are auto archived when a new
""" Test "visible" instances of a doc are auto archived when a new
instance is made "visible" except when they have a future effective date.
instance is made "visible" except when they have a future effective date.
"""
"""
upload_file
=
makeFileUpload
(
'TEST-en-002.doc'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
)
document_002
=
self
.
portal
.
Base_contribute
(
**
kw
)
document_002
=
self
.
portal
.
Base_contribute
(
**
kw
)
document_002
.
publish
()
document_002
.
publish
()
...
@@ -2905,7 +2912,7 @@ return 1
...
@@ -2905,7 +2912,7 @@ return 1
self
.
tic
()
self
.
tic
()
def
testFileWithNotDefinedMimeType
(
self
):
def
testFileWithNotDefinedMimeType
(
self
):
upload_file
=
makeFileUpload
(
'TEST-001-en.dummy'
)
upload_file
=
self
.
makeFileUpload
(
'TEST-001-en.dummy'
)
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
,
kw
=
dict
(
file
=
upload_file
,
synchronous_metadata_discovery
=
True
,
portal_type
=
'File'
)
portal_type
=
'File'
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
document
=
self
.
portal
.
Base_contribute
(
**
kw
)
...
@@ -2922,7 +2929,7 @@ return 1
...
@@ -2922,7 +2929,7 @@ return 1
Checks Base_getRelatedDocumentList works correctly with both
Checks Base_getRelatedDocumentList works correctly with both
related (follow_up) Documents and with sub-object Embedded Files
related (follow_up) Documents and with sub-object Embedded Files
"""
"""
uploaded_file
=
makeFileUpload
(
'TEST-001-en.dummy'
)
uploaded_file
=
self
.
makeFileUpload
(
'TEST-001-en.dummy'
)
document_value
=
self
.
portal
.
Base_contribute
(
document_value
=
self
.
portal
.
Base_contribute
(
file
=
uploaded_file
,
file
=
uploaded_file
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
...
@@ -2973,7 +2980,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -2973,7 +2980,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
Make sure that uploader can preview document after submitted.
Make sure that uploader can preview document after submitted.
"""
"""
filename
=
'REF-en-001.odt'
filename
=
'REF-en-001.odt'
upload_file
=
makeFileUpload
(
filename
)
upload_file
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
...
@@ -2996,9 +3003,8 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -2996,9 +3003,8 @@ class TestDocumentWithSecurity(TestDocumentMixin):
text_document
=
document_module
.
newContent
(
portal_type
=
portal_type
,
text_document
=
document_module
.
newContent
(
portal_type
=
portal_type
,
reference
=
'Foo_001'
,
reference
=
'Foo_001'
,
title
=
'Foo_OO1'
)
title
=
'Foo_OO1'
)
f
=
makeFileUpload
(
'Foo_001.odt'
)
f
=
self
.
makeFileUpload
(
'Foo_001.odt'
)
text_document
.
edit
(
file
=
f
)
text_document
.
edit
(
file
=
f
)
f
.
close
()
self
.
tic
()
self
.
tic
()
# the document should be automatically converted to html
# the document should be automatically converted to html
...
@@ -3068,14 +3074,14 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -3068,14 +3074,14 @@ class TestDocumentWithSecurity(TestDocumentMixin):
def
test_mergeRevision
(
self
):
def
test_mergeRevision
(
self
):
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
self
.
assertEqual
(
(
document1
.
getReference
(),
document1
.
getLanguage
(),
document1
.
getVersion
()),
(
document1
.
getReference
(),
document1
.
getLanguage
(),
document1
.
getVersion
()),
(
'TEST'
,
'en'
,
'002'
))
(
'TEST'
,
'en'
,
'002'
))
self
.
assertNotIn
(
'This document is modified'
,
document1
.
asText
())
self
.
assertNotIn
(
'This document is modified'
,
document1
.
asText
())
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002-modified.doc'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002-modified.doc'
))
self
.
tic
()
self
.
tic
()
self
.
assertIn
(
'This document is modified'
,
document2
.
asText
())
self
.
assertIn
(
'This document is modified'
,
document2
.
asText
())
self
.
assertEqual
(
self
.
assertEqual
(
...
@@ -3094,7 +3100,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -3094,7 +3100,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
with
self
.
assertRaisesRegex
(
with
self
.
assertRaisesRegex
(
Unauthorized
,
Unauthorized
,
"You are not allowed to update the existing document"
):
"You are not allowed to update the existing document"
):
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
))
self
.
portal
.
portal_contributions
.
newContent
(
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
))
# this also works with another user which can not see the document
# this also works with another user which can not see the document
another_user_id
=
self
.
id
()
another_user_id
=
self
.
id
()
...
@@ -3104,7 +3110,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -3104,7 +3110,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
with
self
.
assertRaisesRegex
(
with
self
.
assertRaisesRegex
(
Unauthorized
,
Unauthorized
,
"You are not allowed to update the existing document"
):
"You are not allowed to update the existing document"
):
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
))
self
.
portal
.
portal_contributions
.
newContent
(
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
))
def
test_mergeRevision_with_node_reference_local_reference_filename_regular_expression
(
self
):
def
test_mergeRevision_with_node_reference_local_reference_filename_regular_expression
(
self
):
# this filename regular expression comes from configurator
# this filename regular expression comes from configurator
...
@@ -3113,14 +3119,14 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -3113,14 +3119,14 @@ class TestDocumentWithSecurity(TestDocumentMixin):
)
)
self
.
tic
()
self
.
tic
()
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
self
.
assertEqual
(
(
document1
.
getReference
(),
document1
.
getLanguage
(),
document1
.
getVersion
()),
(
document1
.
getReference
(),
document1
.
getLanguage
(),
document1
.
getVersion
()),
(
'P-PROJ-TEST'
,
'en'
,
'002'
))
(
'P-PROJ-TEST'
,
'en'
,
'002'
))
self
.
assertNotIn
(
'This document is modified'
,
document1
.
asText
())
self
.
assertNotIn
(
'This document is modified'
,
document1
.
asText
())
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002-modified.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002-modified.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
self
.
tic
()
self
.
tic
()
self
.
assertIn
(
'This document is modified'
,
document2
.
asText
())
self
.
assertIn
(
'This document is modified'
,
document2
.
asText
())
self
.
assertEqual
(
self
.
assertEqual
(
...
@@ -3140,7 +3146,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -3140,7 +3146,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
Unauthorized
,
Unauthorized
,
"You are not allowed to update the existing document"
):
"You are not allowed to update the existing document"
):
self
.
portal
.
portal_contributions
.
newContent
(
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
# this also works with another user which can not see the document
# this also works with another user which can not see the document
another_user_id
=
self
.
id
()
another_user_id
=
self
.
id
()
...
@@ -3151,7 +3157,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
...
@@ -3151,7 +3157,7 @@ class TestDocumentWithSecurity(TestDocumentMixin):
Unauthorized
,
Unauthorized
,
"You are not allowed to update the existing document"
):
"You are not allowed to update the existing document"
):
self
.
portal
.
portal_contributions
.
newContent
(
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'TEST-en-002.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
,
as_name
=
'P-PROJ-TEST-002-en.doc'
))
class
TestDocumentPerformance
(
TestDocumentMixin
):
class
TestDocumentPerformance
(
TestDocumentMixin
):
...
@@ -3161,7 +3167,7 @@ class TestDocumentPerformance(TestDocumentMixin):
...
@@ -3161,7 +3167,7 @@ class TestDocumentPerformance(TestDocumentMixin):
Test large OOoDocument to image conversion
Test large OOoDocument to image conversion
"""
"""
ooo_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
)
ooo_document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Spreadsheet'
)
upload_file
=
makeFileUpload
(
'import_big_spreadsheet.ods'
)
upload_file
=
self
.
makeFileUpload
(
'import_big_spreadsheet.ods'
)
ooo_document
.
edit
(
file
=
upload_file
)
ooo_document
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
before
=
time
.
time
()
before
=
time
.
time
()
...
@@ -3180,7 +3186,7 @@ class TestDocumentPerformance(TestDocumentMixin):
...
@@ -3180,7 +3186,7 @@ class TestDocumentPerformance(TestDocumentMixin):
req_time
)
req_time
)
class
DocumentConsistencyTestCase
(
ERP5Type
TestCase
):
class
DocumentConsistencyTestCase
(
DocumentUpload
TestCase
):
portal_type
=
NotImplemented
portal_type
=
NotImplemented
content_type
=
NotImplemented
content_type
=
NotImplemented
filename
=
NotImplemented
filename
=
NotImplemented
...
@@ -3190,7 +3196,7 @@ class DocumentConsistencyTestCase(ERP5TypeTestCase):
...
@@ -3190,7 +3196,7 @@ class DocumentConsistencyTestCase(ERP5TypeTestCase):
def
afterSetUp
(
self
):
def
afterSetUp
(
self
):
self
.
document
=
self
.
_getDocumentModule
().
newContent
(
portal_type
=
self
.
portal_type
)
self
.
document
=
self
.
_getDocumentModule
().
newContent
(
portal_type
=
self
.
portal_type
)
self
.
file_upload
=
makeFileUpload
(
self
.
filename
)
self
.
file_upload
=
self
.
makeFileUpload
(
self
.
filename
)
with
open
(
makeFilePath
(
self
.
filename
),
'rb'
)
as
f
:
with
open
(
makeFilePath
(
self
.
filename
),
'rb'
)
as
f
:
self
.
file_data
=
f
.
read
()
self
.
file_data
=
f
.
read
()
self
.
file_size
=
len
(
self
.
file_data
)
self
.
file_size
=
len
(
self
.
file_data
)
...
...
bt5/erp5_dms/TestTemplateItem/portal_components/test.erp5.testOOoConversionCache.py
View file @
39369332
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
import
unittest
import
unittest
from
DateTime
import
DateTime
from
DateTime
import
DateTime
from
erp5.component.test.testDms
import
TestDocumentMixin
,
makeFileUpload
from
erp5.component.test.testDms
import
TestDocumentMixin
try
:
try
:
import
magic
import
magic
...
@@ -59,7 +59,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -59,7 +59,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
def
test_image_conversion
(
self
):
def
test_image_conversion
(
self
):
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
format_
=
'png'
format_
=
'png'
...
@@ -96,7 +96,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -96,7 +96,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
Test Conversion Cache mechanism
Test Conversion Cache mechanism
"""
"""
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
document_url
=
document
.
getRelativeUrl
()
document_url
=
document
.
getRelativeUrl
()
...
@@ -129,7 +129,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -129,7 +129,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
def
test_02_VolatileCacheConversionOfTempObject
(
self
):
def
test_02_VolatileCacheConversionOfTempObject
(
self
):
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
,
temp_object
=
1
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
,
temp_object
=
1
)
document
.
uploadFile
()
document
.
uploadFile
()
document
.
processFile
()
document
.
processFile
()
...
@@ -163,8 +163,8 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -163,8 +163,8 @@ class TestDocumentConversionCache(TestDocumentMixin):
def
test_03_CacheConversionOfTempObjectIsNotMixed
(
self
):
def
test_03_CacheConversionOfTempObjectIsNotMixed
(
self
):
filename1
=
'TEST-en-002.doc'
filename1
=
'TEST-en-002.doc'
filename2
=
'TEST-en-002.odt'
filename2
=
'TEST-en-002.odt'
file1
=
makeFileUpload
(
filename1
)
file1
=
self
.
makeFileUpload
(
filename1
)
file2
=
makeFileUpload
(
filename2
)
file2
=
self
.
makeFileUpload
(
filename2
)
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file1
,
temp_object
=
1
)
document1
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file1
,
temp_object
=
1
)
document1
.
uploadFile
()
document1
.
uploadFile
()
document1
.
processFile
()
document1
.
processFile
()
...
@@ -187,7 +187,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -187,7 +187,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
tic
()
self
.
tic
()
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
document_url
=
document
.
getRelativeUrl
()
document_url
=
document
.
getRelativeUrl
()
...
@@ -223,7 +223,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -223,7 +223,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
Test Conversion Cache return expected value with checksum
Test Conversion Cache return expected value with checksum
"""
"""
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
document_url
=
document
.
getRelativeUrl
()
document_url
=
document
.
getRelativeUrl
()
...
@@ -252,7 +252,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -252,7 +252,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
Check that md5 checksum is well updated when upload a file
Check that md5 checksum is well updated when upload a file
"""
"""
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
tic
()
self
.
tic
()
document_url
=
document
.
getRelativeUrl
()
document_url
=
document
.
getRelativeUrl
()
...
@@ -260,7 +260,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -260,7 +260,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
md5sum
=
document
.
getContentMd5
()
md5sum
=
document
.
getContentMd5
()
self
.
assertTrue
(
md5sum
)
self
.
assertTrue
(
md5sum
)
filename2
=
'TEST-en-002.odt'
filename2
=
'TEST-en-002.odt'
file2
=
makeFileUpload
(
filename2
)
file2
=
self
.
makeFileUpload
(
filename2
)
document
.
edit
(
file
=
file2
)
document
.
edit
(
file
=
file2
)
self
.
assertNotEqual
(
md5sum
,
document
.
getContentMd5
())
self
.
assertNotEqual
(
md5sum
,
document
.
getContentMd5
())
self
.
tic
()
self
.
tic
()
...
@@ -275,7 +275,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -275,7 +275,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
tic
()
self
.
tic
()
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document_id
=
'an id with spaces'
document_id
=
'an id with spaces'
portal_type
=
'Text'
portal_type
=
'Text'
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
portal_type
)
...
@@ -314,7 +314,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
...
@@ -314,7 +314,7 @@ class TestDocumentConversionCache(TestDocumentMixin):
self
.
assertEqual
(
len
(
portal_type_list
),
len
([
pt
for
pt
in
portal_type_list
if
pt
in
data_mapping
]))
self
.
assertEqual
(
len
(
portal_type_list
),
len
([
pt
for
pt
in
portal_type_list
if
pt
in
data_mapping
]))
for
portal_type
in
portal_type_list
:
for
portal_type
in
portal_type_list
:
module
=
self
.
portal
.
getDefaultModule
(
portal_type
=
portal_type
)
module
=
self
.
portal
.
getDefaultModule
(
portal_type
=
portal_type
)
upload_file
=
makeFileUpload
(
data_mapping
[
portal_type
])
upload_file
=
self
.
makeFileUpload
(
data_mapping
[
portal_type
])
document
=
module
.
newContent
(
portal_type
=
portal_type
)
document
=
module
.
newContent
(
portal_type
=
portal_type
)
document
.
edit
(
file
=
upload_file
)
document
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
...
...
bt5/erp5_dms/TestTemplateItem/portal_components/test.erp5.testOOoConversionServerRetry.py
View file @
39369332
...
@@ -25,12 +25,11 @@
...
@@ -25,12 +25,11 @@
#
#
##############################################################################
##############################################################################
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
erp5.component.test.testDms
import
DocumentUploadTestCase
from
erp5.component.test.testDms
import
makeFileUpload
from
Products.ERP5Form.PreferenceTool
import
Priority
from
Products.ERP5Form.PreferenceTool
import
Priority
class
TestOOoConversionServerRetry
(
ERP5Type
TestCase
):
class
TestOOoConversionServerRetry
(
DocumentUpload
TestCase
):
def
getBusinessTemplateList
(
self
):
def
getBusinessTemplateList
(
self
):
business_template_list
=
[
'erp5_core_proxy_field_legacy'
,
business_template_list
=
[
'erp5_core_proxy_field_legacy'
,
'erp5_jquery'
,
'erp5_jquery'
,
...
@@ -80,7 +79,7 @@ class TestOOoConversionServerRetry(ERP5TypeTestCase):
...
@@ -80,7 +79,7 @@ class TestOOoConversionServerRetry(ERP5TypeTestCase):
self
.
tic
()
self
.
tic
()
filename
=
'monochrome_sample.tiff'
filename
=
'monochrome_sample.tiff'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Text'
)
document
=
self
.
portal
.
document_module
.
newContent
(
portal_type
=
'Text'
)
document
.
edit
(
file
=
file_
)
document
.
edit
(
file
=
file_
)
message
=
document
.
Document_tryToConvertToBaseFormat
()
message
=
document
.
Document_tryToConvertToBaseFormat
()
...
@@ -95,7 +94,7 @@ class TestOOoConversionServerRetry(ERP5TypeTestCase):
...
@@ -95,7 +94,7 @@ class TestOOoConversionServerRetry(ERP5TypeTestCase):
system_pref
.
setPreferredDocumentConversionServerUrlList
([
'https://broken.url'
])
system_pref
.
setPreferredDocumentConversionServerUrlList
([
'https://broken.url'
])
self
.
tic
()
self
.
tic
()
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
message
=
document
.
Document_tryToConvertToBaseFormat
()
message
=
document
.
Document_tryToConvertToBaseFormat
()
...
@@ -110,7 +109,7 @@ class TestOOoConversionServerRetry(ERP5TypeTestCase):
...
@@ -110,7 +109,7 @@ class TestOOoConversionServerRetry(ERP5TypeTestCase):
system_pref
.
setPreferredOoodocServerTimeout
(
1
)
system_pref
.
setPreferredOoodocServerTimeout
(
1
)
self
.
tic
()
self
.
tic
()
filename
=
'TEST-en-002.doc'
filename
=
'TEST-en-002.doc'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
message
=
document
.
Document_tryToConvertToBaseFormat
()
message
=
document
.
Document_tryToConvertToBaseFormat
()
...
...
bt5/erp5_dms_conversion_catalog/TestTemplateItem/portal_components/test.erp5.testDmsWithPreConversion.py
View file @
39369332
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
##############################################################################
##############################################################################
import
unittest
import
unittest
from
erp5.component.test.testDms
import
TestDocument
,
makeFileUpload
from
erp5.component.test.testDms
import
TestDocument
class
TestDocumentWithPreConversion
(
TestDocument
):
class
TestDocumentWithPreConversion
(
TestDocument
):
"""
"""
...
@@ -40,7 +40,7 @@ class TestDocumentWithPreConversion(TestDocument):
...
@@ -40,7 +40,7 @@ class TestDocumentWithPreConversion(TestDocument):
def
test_preConvertedReferencedImageInWebPageContent
(
self
):
def
test_preConvertedReferencedImageInWebPageContent
(
self
):
# create an image
# create an image
upload_file
=
makeFileUpload
(
'cmyk_sample.jpg'
)
upload_file
=
self
.
makeFileUpload
(
'cmyk_sample.jpg'
)
image
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
,
image
=
self
.
portal
.
image_module
.
newContent
(
portal_type
=
'Image'
,
reference
=
'Embedded-XXX'
,
reference
=
'Embedded-XXX'
,
version
=
'001'
,
version
=
'001'
,
...
@@ -75,7 +75,7 @@ class TestDocumentWithPreConversion(TestDocument):
...
@@ -75,7 +75,7 @@ class TestDocumentWithPreConversion(TestDocument):
language
=
'en'
)
language
=
'en'
)
# draft image is not convertible
# draft image is not convertible
upload_file
=
makeFileUpload
(
'cmyk_sample.jpg'
)
upload_file
=
self
.
makeFileUpload
(
'cmyk_sample.jpg'
)
image
.
edit
(
file
=
upload_file
)
image
.
edit
(
file
=
upload_file
)
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
False
,
image
.
Base_isConvertible
())
self
.
assertEqual
(
False
,
image
.
Base_isConvertible
())
...
...
bt5/erp5_km/TestTemplateItem/portal_components/test.erp5.testKM.py
View file @
39369332
...
@@ -31,7 +31,7 @@ import unittest
...
@@ -31,7 +31,7 @@ import unittest
from
unittest
import
expectedFailure
from
unittest
import
expectedFailure
from
AccessControl.SecurityManagement
import
newSecurityManager
from
AccessControl.SecurityManagement
import
newSecurityManager
from
Products.ERP5Type.Base
import
TempBase
from
Products.ERP5Type.Base
import
TempBase
from
erp5.component.test.testDms
import
makeFileUpload
,
TestDocumentMixin
from
erp5.component.test.testDms
import
TestDocumentMixin
def
_getGadgetInstanceUrlFromKnowledgePad
(
knowledge_pad
,
gadget
):
def
_getGadgetInstanceUrlFromKnowledgePad
(
knowledge_pad
,
gadget
):
""" Get Knowledge Box's relative URL specialising a gadget in a Knowledge Pad."""
""" Get Knowledge Box's relative URL specialising a gadget in a Knowledge Pad."""
...
@@ -39,6 +39,7 @@ def _getGadgetInstanceUrlFromKnowledgePad(knowledge_pad, gadget):
...
@@ -39,6 +39,7 @@ def _getGadgetInstanceUrlFromKnowledgePad(knowledge_pad, gadget):
portal_type
=
'Knowledge Box'
,
portal_type
=
'Knowledge Box'
,
specialise_uid
=
gadget
.
getUid
())[
0
].
getObject
().
getRelativeUrl
()
specialise_uid
=
gadget
.
getUid
())[
0
].
getObject
().
getRelativeUrl
()
class
TestKMMixIn
(
TestDocumentMixin
):
class
TestKMMixIn
(
TestDocumentMixin
):
"""
"""
Mix in class for Knowledge Management system.
Mix in class for Knowledge Management system.
...
@@ -1008,38 +1009,38 @@ class TestKMSearch(TestKMMixIn):
...
@@ -1008,38 +1009,38 @@ class TestKMSearch(TestKMMixIn):
# create docs to be referenced:
# create docs to be referenced:
# (1) TEST, 002, en
# (1) TEST, 002, en
filename
=
'TEST-en-002.odt'
filename
=
'TEST-en-002.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# (2) TEST, 002, fr
# (2) TEST, 002, fr
as_name
=
'TEST-fr-002.odt'
as_name
=
'TEST-fr-002.odt'
file_
=
makeFileUpload
(
filename
,
as_name
)
file_
=
self
.
makeFileUpload
(
filename
,
as_name
)
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document2
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# (3) TEST, 003, en
# (3) TEST, 003, en
as_name
=
'TEST-en-003.odt'
as_name
=
'TEST-en-003.odt'
file_
=
makeFileUpload
(
filename
,
as_name
)
file_
=
self
.
makeFileUpload
(
filename
,
as_name
)
document3
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document3
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# create docs to contain references in text_content:
# create docs to contain references in text_content:
# REF, 002, en; "I use reference to look up TEST"
# REF, 002, en; "I use reference to look up TEST"
filename
=
'REF-en-002.odt'
filename
=
'REF-en-002.odt'
file_
=
makeFileUpload
(
filename
)
file_
=
self
.
makeFileUpload
(
filename
)
document5
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
document5
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
file_
)
# REFLANG, 001, en: "I use reference and language to look up TEST-fr"
# REFLANG, 001, en: "I use reference and language to look up TEST-fr"
#filename = 'REFLANG-en-001.odt'
#filename = 'REFLANG-en-001.odt'
#file = makeFileUpload(filename)
#file =
self.
makeFileUpload(filename)
#document6 = self.portal.portal_contributions.newContent(file=file)
#document6 = self.portal.portal_contributions.newContent(file=file)
# REFVER, 001, en: "I use reference and version to look up TEST-002"
# REFVER, 001, en: "I use reference and version to look up TEST-002"
#filename = 'REFVER-en-001.odt'
#filename = 'REFVER-en-001.odt'
#file = makeFileUpload(filename)
#file =
self.
makeFileUpload(filename)
#document7 = self.portal.portal_contributions.newContent(file=file)
#document7 = self.portal.portal_contributions.newContent(file=file)
# REFVERLANG, 001, en: "I use reference, version and language to look up TEST-002-en"
# REFVERLANG, 001, en: "I use reference, version and language to look up TEST-002-en"
#filename = 'REFVERLANG-en-001.odt'
#filename = 'REFVERLANG-en-001.odt'
#file = makeFileUpload(filename)
#file =
self.
makeFileUpload(filename)
#document8 = self.portal.portal_contributions.newContent(file=file)
#document8 = self.portal.portal_contributions.newContent(file=file)
self
.
tic
()
self
.
tic
()
...
...
bt5/erp5_pdf_merge/TestTemplateItem/portal_components/test.erp5.testERP5PDFMerge.py
View file @
39369332
...
@@ -26,14 +26,13 @@
...
@@ -26,14 +26,13 @@
##############################################################################
##############################################################################
import
warnings
import
warnings
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
erp5.component.test.testDms
import
DocumentUploadTestCase
from
erp5.component.test.testDms
import
makeFileUpload
original_warnings_showwarnings
=
warnings
.
showwarning
original_warnings_showwarnings
=
warnings
.
showwarning
class
TestERP5PDFMerge
(
ERP5Type
TestCase
):
class
TestERP5PDFMerge
(
DocumentUpload
TestCase
):
def
test_showwarning_issue
(
self
):
def
test_showwarning_issue
(
self
):
"""
"""
...
@@ -42,7 +41,7 @@ class TestERP5PDFMerge(ERP5TypeTestCase):
...
@@ -42,7 +41,7 @@ class TestERP5PDFMerge(ERP5TypeTestCase):
"""
"""
self
.
assertEqual
(
warnings
.
showwarning
,
original_warnings_showwarnings
)
self
.
assertEqual
(
warnings
.
showwarning
,
original_warnings_showwarnings
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'REF-en-001.pdf'
))
file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
))
merged_pdf_data
=
self
.
portal
.
ERP5Site_mergePDFList
(
merged_pdf_data
=
self
.
portal
.
ERP5Site_mergePDFList
(
[
document
.
getData
(),
document
.
getData
()])
[
document
.
getData
(),
document
.
getData
()])
self
.
portal
.
document_module
.
newContent
(
self
.
portal
.
document_module
.
newContent
(
...
@@ -53,7 +52,7 @@ class TestERP5PDFMerge(ERP5TypeTestCase):
...
@@ -53,7 +52,7 @@ class TestERP5PDFMerge(ERP5TypeTestCase):
def
test_erp5_merge_pdf
(
self
):
def
test_erp5_merge_pdf
(
self
):
document
=
self
.
portal
.
portal_contributions
.
newContent
(
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'REF-en-001.pdf'
))
file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
))
merged_pdf_data
=
self
.
portal
.
ERP5Site_mergePDFList
(
merged_pdf_data
=
self
.
portal
.
ERP5Site_mergePDFList
(
[
document
.
getData
(),
document
.
getData
()])
[
document
.
getData
(),
document
.
getData
()])
merged_document
=
self
.
portal
.
document_module
.
newContent
(
merged_document
=
self
.
portal
.
document_module
.
newContent
(
...
@@ -63,7 +62,7 @@ class TestERP5PDFMerge(ERP5TypeTestCase):
...
@@ -63,7 +62,7 @@ class TestERP5PDFMerge(ERP5TypeTestCase):
def
test_erp5_merge_pdf_start_on_recto
(
self
):
def
test_erp5_merge_pdf_start_on_recto
(
self
):
document
=
self
.
portal
.
portal_contributions
.
newContent
(
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
makeFileUpload
(
'REF-en-001.pdf'
))
file
=
self
.
makeFileUpload
(
'REF-en-001.pdf'
))
merged_pdf_data
=
self
.
portal
.
ERP5Site_mergePDFList
(
merged_pdf_data
=
self
.
portal
.
ERP5Site_mergePDFList
(
[
document
.
getData
(),
document
.
getData
()],
start_on_recto
=
True
)
[
document
.
getData
(),
document
.
getData
()],
start_on_recto
=
True
)
merged_document
=
self
.
portal
.
document_module
.
newContent
(
merged_document
=
self
.
portal
.
document_module
.
newContent
(
...
...
bt5/erp5_run_my_doc/TestTemplateItem/portal_components/test.erp5.testRunMyDoc.py
View file @
39369332
...
@@ -26,12 +26,12 @@
...
@@ -26,12 +26,12 @@
#
#
##############################################################################
##############################################################################
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
from
erp5.component.test.testDms
import
DocumentUploadTestCase
from
erp5.component.test.testDms
import
makeFileUpload
from
time
import
time
from
time
import
time
import
base64
import
base64
class
TestRunMyDoc
(
ERP5TypeTestCase
):
class
TestRunMyDoc
(
DocumentUploadTestCase
):
"""
"""
Basic Test for internal implementation of RunMyDocs
Basic Test for internal implementation of RunMyDocs
"""
"""
...
@@ -96,7 +96,7 @@ class TestRunMyDoc(ERP5TypeTestCase):
...
@@ -96,7 +96,7 @@ class TestRunMyDoc(ERP5TypeTestCase):
Test Screeshot upload script used by Zelenium to
Test Screeshot upload script used by Zelenium to
update screenshots of the documents.
update screenshots of the documents.
"""
"""
image_upload
=
makeFileUpload
(
'TEST-en-002.png'
)
image_upload
=
self
.
makeFileUpload
(
'TEST-en-002.png'
)
self
.
assertNotEqual
(
None
,
image_upload
)
self
.
assertNotEqual
(
None
,
image_upload
)
# Create a web page, and check if the content is not overwriten
# Create a web page, and check if the content is not overwriten
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment