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
141
Merge Requests
141
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
erp5
Commits
73766c11
Commit
73766c11
authored
Jan 30, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testIngestion: close files to prevent ResourceWarnings
parent
158eaf85
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
57 deletions
+58
-57
product/ERP5OOo/tests/testIngestion.py
product/ERP5OOo/tests/testIngestion.py
+58
-57
No files found.
product/ERP5OOo/tests/testIngestion.py
View file @
73766c11
...
@@ -63,15 +63,6 @@ FILENAME_REGULAR_EXPRESSION = "(?P<reference>[A-Z&é@{]{3,7})-(?P<language>[a-z]
...
@@ -63,15 +63,6 @@ FILENAME_REGULAR_EXPRESSION = "(?P<reference>[A-Z&é@{]{3,7})-(?P<language>[a-z]
REFERENCE_REGULAR_EXPRESSION
=
"(?P<reference>[A-Z&é@{]{3,7})(-(?P<language>[a-z]{2}))?(-(?P<version>[0-9]{3}))?"
REFERENCE_REGULAR_EXPRESSION
=
"(?P<reference>[A-Z&é@{]{3,7})(-(?P<language>[a-z]{2}))?(-(?P<version>[0-9]{3}))?"
def
makeFilePath
(
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
)
class
IngestionTestCase
(
ERP5TypeTestCase
):
class
IngestionTestCase
(
ERP5TypeTestCase
):
def
getBusinessTemplateList
(
self
):
def
getBusinessTemplateList
(
self
):
...
@@ -131,6 +122,16 @@ class IngestionTestCase(ERP5TypeTestCase):
...
@@ -131,6 +122,16 @@ class IngestionTestCase(ERP5TypeTestCase):
skin_tool
.
custom
.
_delObject
(
script_id
)
skin_tool
.
custom
.
_delObject
(
script_id
)
self
.
commit
()
self
.
commit
()
def
makeFilePath
(
self
,
name
):
return
os
.
path
.
join
(
TEST_FILES_HOME
,
name
)
def
makeFileUpload
(
self
,
name
,
as_name
=
None
):
if
as_name
is
None
:
as_name
=
name
path
=
self
.
makeFilePath
(
name
)
fu
=
FileUpload
(
path
,
as_name
)
self
.
addCleanup
(
fu
.
close
)
return
fu
class
TestIngestion
(
IngestionTestCase
):
class
TestIngestion
(
IngestionTestCase
):
"""
"""
...
@@ -278,7 +279,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -278,7 +279,7 @@ class TestIngestion(IngestionTestCase):
"""
"""
for
revision
,
format
in
enumerate
(
format_list
):
for
revision
,
format
in
enumerate
(
format_list
):
filename
=
'TEST-en-002.%s'
%
format
filename
=
'TEST-en-002.%s'
%
format
f
=
makeFileUpload
(
filename
)
f
=
self
.
makeFileUpload
(
filename
)
document
.
edit
(
file
=
f
)
document
.
edit
(
file
=
f
)
self
.
tic
()
self
.
tic
()
self
.
assertTrue
(
document
.
hasFile
())
self
.
assertTrue
(
document
.
hasFile
())
...
@@ -298,7 +299,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -298,7 +299,7 @@ class TestIngestion(IngestionTestCase):
can be converted to any of the formats in asserted_target_list
can be converted to any of the formats in asserted_target_list
"""
"""
filename
=
'TEST-en-002.'
+
format
filename
=
'TEST-en-002.'
+
format
f
=
makeFileUpload
(
filename
)
f
=
self
.
makeFileUpload
(
filename
)
document
.
edit
(
file
=
f
)
document
.
edit
(
file
=
f
)
self
.
tic
()
self
.
tic
()
# We call clear cache to be sure that the target list is updated
# We call clear cache to be sure that the target list is updated
...
@@ -328,7 +329,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -328,7 +329,7 @@ class TestIngestion(IngestionTestCase):
old_portal_type
=
''
old_portal_type
=
''
for
extension
,
portal_type
in
extension_to_type
:
for
extension
,
portal_type
in
extension_to_type
:
filename
=
'TEST-en-002.%s'
%
extension
filename
=
'TEST-en-002.%s'
%
extension
file
=
makeFileUpload
(
filename
)
file
=
self
.
makeFileUpload
(
filename
)
# if we change portal type we must change version because
# if we change portal type we must change version because
# mergeRevision would fail
# mergeRevision would fail
if
portal_type
!=
old_portal_type
:
if
portal_type
!=
old_portal_type
:
...
@@ -525,7 +526,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -525,7 +526,7 @@ class TestIngestion(IngestionTestCase):
document
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
document
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
# First revision is 1 (like web pages)
# First revision is 1 (like web pages)
self
.
assertEqual
(
document
.
getRevision
(),
'1'
)
self
.
assertEqual
(
document
.
getRevision
(),
'1'
)
f
=
makeFileUpload
(
filename
)
f
=
self
.
makeFileUpload
(
filename
)
document
.
edit
(
file
=
f
)
document
.
edit
(
file
=
f
)
self
.
assertTrue
(
document
.
hasFile
())
self
.
assertTrue
(
document
.
hasFile
())
self
.
assertEqual
(
document
.
getFilename
(),
filename
)
self
.
assertEqual
(
document
.
getFilename
(),
filename
)
...
@@ -539,7 +540,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -539,7 +540,7 @@ class TestIngestion(IngestionTestCase):
Upload a file from view form and make sure this increases the revision
Upload a file from view form and make sure this increases the revision
"""
"""
document
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
document
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
f
=
makeFileUpload
(
'TEST-en-002.doc'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
revision
=
document
.
getRevision
()
revision
=
document
.
getRevision
()
document
.
edit
(
file
=
f
)
document
.
edit
(
file
=
f
)
self
.
assertEqual
(
document
.
getRevision
(),
str
(
int
(
revision
)
+
1
))
self
.
assertEqual
(
document
.
getRevision
(),
str
(
int
(
revision
)
+
1
))
...
@@ -550,7 +551,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -550,7 +551,7 @@ class TestIngestion(IngestionTestCase):
"""
"""
Upload a file from contribution.
Upload a file from contribution.
"""
"""
f
=
makeFileUpload
(
'TEST-en-002.doc'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
sequence
.
edit
(
document_path
=
document
.
getPath
())
sequence
.
edit
(
document_path
=
document
.
getPath
())
self
.
commit
()
self
.
commit
()
...
@@ -565,7 +566,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -565,7 +566,7 @@ class TestIngestion(IngestionTestCase):
number_of_document
=
len
(
self
.
portal
.
document_module
.
objectIds
())
number_of_document
=
len
(
self
.
portal
.
document_module
.
objectIds
())
self
.
assertNotIn
(
'This document is modified.'
,
document
.
asText
())
self
.
assertNotIn
(
'This document is modified.'
,
document
.
asText
())
f
=
makeFileUpload
(
'TEST-en-002-modified.doc'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002-modified.doc'
)
f
.
filename
=
'TEST-en-002.doc'
f
.
filename
=
'TEST-en-002.doc'
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
...
@@ -581,7 +582,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -581,7 +582,7 @@ class TestIngestion(IngestionTestCase):
"""
"""
Upload another file from contribution.
Upload another file from contribution.
"""
"""
f
=
makeFileUpload
(
'ANOTHE-en-001.doc'
)
f
=
self
.
makeFileUpload
(
'ANOTHE-en-001.doc'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
id
=
'two'
,
file
=
f
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
id
=
'two'
,
file
=
f
)
sequence
.
edit
(
document_path
=
document
.
getPath
())
sequence
.
edit
(
document_path
=
document
.
getPath
())
self
.
tic
()
self
.
tic
()
...
@@ -610,7 +611,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -610,7 +611,7 @@ class TestIngestion(IngestionTestCase):
self
.
assertEqual
(
property_dict
[
'description'
],
'comments'
)
self
.
assertEqual
(
property_dict
[
'description'
],
'comments'
)
self
.
assertEqual
(
property_dict
[
'subject_list'
],
[
'keywords'
])
self
.
assertEqual
(
property_dict
[
'subject_list'
],
[
'keywords'
])
# Then make sure metadata discovery works
# Then make sure metadata discovery works
f
=
makeFileUpload
(
filename
)
f
=
self
.
makeFileUpload
(
filename
)
document
.
edit
(
file
=
f
)
document
.
edit
(
file
=
f
)
self
.
assertEqual
(
document
.
getReference
(),
'TEST'
)
self
.
assertEqual
(
document
.
getReference
(),
'TEST'
)
self
.
assertEqual
(
document
.
getLanguage
(),
'en'
)
self
.
assertEqual
(
document
.
getLanguage
(),
'en'
)
...
@@ -644,7 +645,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -644,7 +645,7 @@ class TestIngestion(IngestionTestCase):
Upload with custom getPropertyDict methods
Upload with custom getPropertyDict methods
check that all metadata are correct
check that all metadata are correct
"""
"""
f
=
makeFileUpload
(
'TEST-en-002.doc'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
self
.
tic
()
self
.
tic
()
# Then make sure content discover works
# Then make sure content discover works
...
@@ -815,7 +816,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -815,7 +816,7 @@ class TestIngestion(IngestionTestCase):
Try to export PDF to text and HTML
Try to export PDF to text and HTML
"""
"""
document
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
document
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
f
=
makeFileUpload
(
'TEST-en-002.pdf'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
)
document
.
edit
(
file
=
f
)
document
.
edit
(
file
=
f
)
mime
,
text
=
document
.
convert
(
'text'
)
mime
,
text
=
document
.
convert
(
'text'
)
self
.
assertIn
(
b'magic'
,
text
)
self
.
assertIn
(
b'magic'
,
text
)
...
@@ -829,7 +830,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -829,7 +830,7 @@ class TestIngestion(IngestionTestCase):
Check we are able to resize images
Check we are able to resize images
"""
"""
image
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
image
=
self
.
portal
.
restrictedTraverse
(
sequence
.
get
(
'document_path'
))
f
=
makeFileUpload
(
'TEST-en-002.jpg'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002.jpg'
)
image
.
edit
(
file
=
f
)
image
.
edit
(
file
=
f
)
self
.
tic
()
self
.
tic
()
mime
,
data
=
image
.
convert
(
None
)
mime
,
data
=
image
.
convert
(
None
)
...
@@ -958,8 +959,8 @@ class TestIngestion(IngestionTestCase):
...
@@ -958,8 +959,8 @@ class TestIngestion(IngestionTestCase):
"""
"""
Email was sent in by someone to ERP5.
Email was sent in by someone to ERP5.
"""
"""
f
=
open
(
makeFilePath
(
'email_from.txt'
),
"rb"
)
with
open
(
self
.
makeFilePath
(
'email_from.txt'
),
"rb"
)
as
f
:
document
=
self
.
receiveEmail
(
f
.
read
())
self
.
receiveEmail
(
f
.
read
())
self
.
tic
()
self
.
tic
()
def
stepReceiveMultipleAttachmentsEmail
(
self
,
sequence
=
None
,
def
stepReceiveMultipleAttachmentsEmail
(
self
,
sequence
=
None
,
...
@@ -967,8 +968,8 @@ class TestIngestion(IngestionTestCase):
...
@@ -967,8 +968,8 @@ class TestIngestion(IngestionTestCase):
"""
"""
Email was sent in by someone to ERP5.
Email was sent in by someone to ERP5.
"""
"""
f
=
open
(
makeFilePath
(
'email_multiple_attachments.eml'
),
"rb"
)
with
open
(
self
.
makeFilePath
(
'email_multiple_attachments.eml'
),
"rb"
)
as
f
:
document
=
self
.
receiveEmail
(
f
.
read
())
self
.
receiveEmail
(
f
.
read
())
self
.
tic
()
self
.
tic
()
def
stepVerifyEmailedMultipleDocumentsInitialContribution
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
def
stepVerifyEmailedMultipleDocumentsInitialContribution
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
...
@@ -1395,7 +1396,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -1395,7 +1396,7 @@ class TestIngestion(IngestionTestCase):
"""
"""
Upload a file from contribution.
Upload a file from contribution.
"""
"""
f
=
makeFileUpload
(
'TEST-en-002.doc'
,
'T&é@{T-en-002.doc'
)
f
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
,
'T&é@{T-en-002.doc'
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
document
=
self
.
portal
.
portal_contributions
.
newContent
(
file
=
f
)
sequence
.
edit
(
document_path
=
document
.
getPath
())
sequence
.
edit
(
document_path
=
document
.
getPath
())
self
.
commit
()
self
.
commit
()
...
@@ -1467,7 +1468,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -1467,7 +1468,7 @@ class TestIngestion(IngestionTestCase):
"""
"""
portal
=
self
.
portal
portal
=
self
.
portal
contribution_tool
=
getToolByName
(
portal
,
'portal_contributions'
)
contribution_tool
=
getToolByName
(
portal
,
'portal_contributions'
)
file_object
=
makeFileUpload
(
'TEST-en-002.doc'
)
file_object
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
document
=
contribution_tool
.
newContent
(
file
=
file_object
)
document
=
contribution_tool
.
newContent
(
file
=
file_object
)
self
.
assertEqual
(
document
.
getFilename
(),
'TEST-en-002.doc'
)
self
.
assertEqual
(
document
.
getFilename
(),
'TEST-en-002.doc'
)
my_filename
=
'Something.doc'
my_filename
=
'Something.doc'
...
@@ -1490,7 +1491,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -1490,7 +1491,7 @@ class TestIngestion(IngestionTestCase):
site
=
'arctic/spitsbergen'
))
site
=
'arctic/spitsbergen'
))
portal
.
document_module
.
manage_setLocalRoles
(
user
.
Person_getUserId
(),
[
'Assignor'
,])
portal
.
document_module
.
manage_setLocalRoles
(
user
.
Person_getUserId
(),
[
'Assignor'
,])
self
.
tic
()
self
.
tic
()
file_object
=
makeFileUpload
(
'TEST-en-002.doc'
)
file_object
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
document
=
contribution_tool
.
newContent
(
file
=
file_object
)
document
=
contribution_tool
.
newContent
(
file
=
file_object
)
document
.
discoverMetadata
(
document
.
getFilename
(),
user
.
Person_getUserId
())
document
.
discoverMetadata
(
document
.
getFilename
(),
user
.
Person_getUserId
())
self
.
tic
()
self
.
tic
()
...
@@ -1514,7 +1515,7 @@ class TestIngestion(IngestionTestCase):
...
@@ -1514,7 +1515,7 @@ class TestIngestion(IngestionTestCase):
portal
.
document_module
.
manage_setLocalRoles
(
other_user
.
Person_getUserId
(),
[
'Assignor'
,])
portal
.
document_module
.
manage_setLocalRoles
(
other_user
.
Person_getUserId
(),
[
'Assignor'
,])
self
.
tic
()
self
.
tic
()
file_object
=
makeFileUpload
(
'TEST-en-002.doc'
)
file_object
=
self
.
makeFileUpload
(
'TEST-en-002.doc'
)
document
=
contribution_tool
.
newContent
(
file
=
file_object
)
document
=
contribution_tool
.
newContent
(
file
=
file_object
)
# We only consider the higher group of assignments
# We only consider the higher group of assignments
...
@@ -1936,8 +1937,8 @@ return result
...
@@ -1936,8 +1937,8 @@ return result
as a application/octet-stream without explicit extension, become
as a application/octet-stream without explicit extension, become
a Spreadsheet ?
a Spreadsheet ?
"""
"""
path
=
makeFilePath
(
'import_region_category.ods'
)
with
open
(
self
.
makeFilePath
(
'import_region_category.ods'
),
'rb'
)
as
f
:
data
=
open
(
path
,
'rb'
)
.
read
()
data
=
f
.
read
()
document
=
self
.
portal
.
portal_contributions
.
newContent
(
filename
=
'toto'
,
document
=
self
.
portal
.
portal_contributions
.
newContent
(
filename
=
'toto'
,
data
=
data
,
data
=
data
,
...
@@ -2017,8 +2018,8 @@ return result
...
@@ -2017,8 +2018,8 @@ return result
def
test_User_Portal_Type_parameter_is_honoured
(
self
):
def
test_User_Portal_Type_parameter_is_honoured
(
self
):
"""Check that given portal_type is always honoured
"""Check that given portal_type is always honoured
"""
"""
path
=
makeFilePath
(
'import_region_category.xls'
)
with
open
(
self
.
makeFilePath
(
'import_region_category.xls'
),
'rb'
)
as
f
:
data
=
open
(
path
,
'rb'
)
.
read
()
data
=
f
.
read
()
document
=
self
.
portal
.
portal_contributions
.
newContent
(
document
=
self
.
portal
.
portal_contributions
.
newContent
(
filename
=
'import_region_category.xls'
,
filename
=
'import_region_category.xls'
,
...
@@ -2035,8 +2036,8 @@ return result
...
@@ -2035,8 +2036,8 @@ return result
def
test_User_ID_parameter_is_honoured
(
self
):
def
test_User_ID_parameter_is_honoured
(
self
):
"""Check that given id is always honoured
"""Check that given id is always honoured
"""
"""
path
=
makeFilePath
(
'import_region_category.xls'
)
with
open
(
self
.
makeFilePath
(
'import_region_category.xls'
),
'rb'
)
as
f
:
data
=
open
(
path
,
'rb'
)
.
read
()
data
=
f
.
read
()
document
=
self
.
portal
.
portal_contributions
.
newContent
(
document
=
self
.
portal
.
portal_contributions
.
newContent
(
id
=
'this_id'
,
id
=
'this_id'
,
...
@@ -2060,8 +2061,8 @@ return result
...
@@ -2060,8 +2061,8 @@ return result
def
test_newContent_trough_http
(
self
):
def
test_newContent_trough_http
(
self
):
filename
=
'import_region_category.xls'
filename
=
'import_region_category.xls'
path
=
makeFilePath
(
filename
)
with
open
(
self
.
makeFilePath
(
filename
),
'rb'
)
as
f
:
data
=
open
(
path
,
'rb'
)
.
read
()
data
=
f
.
read
()
reference
=
'ITISAREFERENCE'
reference
=
'ITISAREFERENCE'
portal_url
=
self
.
portal
.
absolute_url
()
portal_url
=
self
.
portal
.
absolute_url
()
...
@@ -2155,7 +2156,7 @@ class Base_contributeMixin:
...
@@ -2155,7 +2156,7 @@ class Base_contributeMixin:
version
=
None
,
version
=
None
,
description
=
None
,
description
=
None
,
attach_document_to_context
=
True
,
attach_document_to_context
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.odt'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.odt'
))
self
.
assertEqual
(
'Text'
,
contributed_document
.
getPortalType
())
self
.
assertEqual
(
'Text'
,
contributed_document
.
getPortalType
())
self
.
tic
()
self
.
tic
()
document_list
=
person
.
getFollowUpRelatedValueList
()
document_list
=
person
.
getFollowUpRelatedValueList
()
...
@@ -2200,7 +2201,7 @@ class Base_contributeMixin:
...
@@ -2200,7 +2201,7 @@ class Base_contributeMixin:
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
)
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
)
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
portal_type
=
'PDF'
,
portal_type
=
'PDF'
,
file
=
makeFileUpload
(
'TEST-en-002.odt'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.odt'
))
self
.
assertEqual
(
'PDF'
,
contributed_document
.
getPortalType
())
self
.
assertEqual
(
'PDF'
,
contributed_document
.
getPortalType
())
def
test_Base_contribute_input_parameter_dict
(
self
):
def
test_Base_contribute_input_parameter_dict
(
self
):
...
@@ -2209,7 +2210,7 @@ class Base_contributeMixin:
...
@@ -2209,7 +2210,7 @@ class Base_contributeMixin:
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
)
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
)
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
title
=
'user supplied title'
,
title
=
'user supplied title'
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
'user supplied title'
,
contributed_document
.
getTitle
())
self
.
assertEqual
(
'user supplied title'
,
contributed_document
.
getTitle
())
...
@@ -2222,7 +2223,7 @@ class Base_contributeMixin:
...
@@ -2222,7 +2223,7 @@ class Base_contributeMixin:
# we use as_name, to prevent regular expression from detecting a
# we use as_name, to prevent regular expression from detecting a
# reference during ingestion, so that we can upload multiple documents
# reference during ingestion, so that we can upload multiple documents
# in one test.
# in one test.
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'draft'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'draft'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2231,7 +2232,7 @@ class Base_contributeMixin:
...
@@ -2231,7 +2232,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
'shared'
,
publication_state
=
'shared'
,
synchronous_metadata_discovery
=
False
,
synchronous_metadata_discovery
=
False
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2240,7 +2241,7 @@ class Base_contributeMixin:
...
@@ -2240,7 +2241,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
'shared'
,
publication_state
=
'shared'
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2249,7 +2250,7 @@ class Base_contributeMixin:
...
@@ -2249,7 +2250,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
'released'
,
publication_state
=
'released'
,
synchronous_metadata_discovery
=
False
,
synchronous_metadata_discovery
=
False
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'released'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'released'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2258,7 +2259,7 @@ class Base_contributeMixin:
...
@@ -2258,7 +2259,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
'released'
,
publication_state
=
'released'
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'released'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'released'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2267,7 +2268,7 @@ class Base_contributeMixin:
...
@@ -2267,7 +2268,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
synchronous_metadata_discovery
=
False
,
synchronous_metadata_discovery
=
False
,
publication_state
=
'published'
,
publication_state
=
'published'
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'published'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'published'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2276,7 +2277,7 @@ class Base_contributeMixin:
...
@@ -2276,7 +2277,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
publication_state
=
'published'
,
publication_state
=
'published'
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'published'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'published'
)
...
@@ -2296,7 +2297,7 @@ class Base_contributeMixin:
...
@@ -2296,7 +2297,7 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
'shared'
,
publication_state
=
'shared'
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
...
@@ -2305,14 +2306,14 @@ class Base_contributeMixin:
...
@@ -2305,14 +2306,14 @@ class Base_contributeMixin:
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
'shared'
,
publication_state
=
'shared'
,
synchronous_metadata_discovery
=
False
,
synchronous_metadata_discovery
=
False
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'shared'
)
contributed_document
.
setReference
(
None
)
contributed_document
.
setReference
(
None
)
contributed_document
=
person
.
Base_contribute
(
contributed_document
=
person
.
Base_contribute
(
publication_state
=
None
,
publication_state
=
None
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
,
as_name
=
'doc.pdf'
))
self
.
tic
()
self
.
tic
()
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'published'
)
self
.
assertEqual
(
contributed_document
.
getValidationState
(),
'published'
)
...
@@ -2336,7 +2337,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2336,7 +2337,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
ret
=
person
.
Base_contribute
(
ret
=
person
.
Base_contribute
(
redirect_to_context
=
True
,
redirect_to_context
=
True
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
self
.
assertIn
(
self
.
assertIn
(
(
'portal_status_message'
,
'PDF created successfully.'
),
(
'portal_status_message'
,
'PDF created successfully.'
),
urlparse
.
parse_qsl
(
urlparse
.
urlparse
(
ret
).
query
))
urlparse
.
parse_qsl
(
urlparse
.
urlparse
(
ret
).
query
))
...
@@ -2354,7 +2355,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2354,7 +2355,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
ret
=
person
.
Base_contribute
(
ret
=
person
.
Base_contribute
(
redirect_to_context
=
True
,
redirect_to_context
=
True
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
self
.
assertIn
(
self
.
assertIn
(
(
'portal_status_message'
,
'PDF updated successfully.'
),
(
'portal_status_message'
,
'PDF updated successfully.'
),
urlparse
.
parse_qsl
(
urlparse
.
urlparse
(
ret
).
query
))
urlparse
.
parse_qsl
(
urlparse
.
urlparse
(
ret
).
query
))
...
@@ -2377,7 +2378,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2377,7 +2378,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
person
.
Base_contribute
(
person
.
Base_contribute
(
redirect_to_context
=
True
,
redirect_to_context
=
True
,
synchronous_metadata_discovery
=
synchronous_metadata_discovery
,
synchronous_metadata_discovery
=
synchronous_metadata_discovery
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
self
.
assertIn
(
self
.
assertIn
(
(
'portal_status_message'
,
(
'portal_status_message'
,
'You are not allowed to update the existing document which has the same coordinates.'
),
'You are not allowed to update the existing document which has the same coordinates.'
),
...
@@ -2395,7 +2396,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2395,7 +2396,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
"You are not allowed to update the existing document which has the same coordinates"
):
"You are not allowed to update the existing document which has the same coordinates"
):
person
.
Base_contribute
(
person
.
Base_contribute
(
synchronous_metadata_discovery
=
synchronous_metadata_discovery
,
synchronous_metadata_discovery
=
synchronous_metadata_discovery
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
self
.
assertEqual
(
document
.
getData
(),
b''
)
self
.
assertEqual
(
document
.
getData
(),
b''
)
def
test_Base_contribute_publication_state_unauthorized
(
self
):
def
test_Base_contribute_publication_state_unauthorized
(
self
):
...
@@ -2415,7 +2416,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2415,7 +2416,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
publication_state
=
'published'
,
publication_state
=
'published'
,
redirect_to_context
=
True
,
redirect_to_context
=
True
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
self
.
assertIn
(
self
.
assertIn
(
(
'portal_status_message'
,
'You are not allowed to contribute document in that state.'
),
(
'portal_status_message'
,
'You are not allowed to contribute document in that state.'
),
urlparse
.
parse_qsl
(
urlparse
.
urlparse
(
str
(
ctx
.
exception
)).
query
))
urlparse
.
parse_qsl
(
urlparse
.
urlparse
(
str
(
ctx
.
exception
)).
query
))
...
@@ -2430,7 +2431,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2430,7 +2431,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
person
.
Base_contribute
(
person
.
Base_contribute
(
publication_state
=
'published'
,
publication_state
=
'published'
,
synchronous_metadata_discovery
=
True
,
synchronous_metadata_discovery
=
True
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
# when using asynchronous metadata discovery, an error occurs in activity,
# when using asynchronous metadata discovery, an error occurs in activity,
# but not document is published
# but not document is published
...
@@ -2438,7 +2439,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
...
@@ -2438,7 +2439,7 @@ class TestBase_contributeWithSecurity(IngestionTestCase, Base_contributeMixin):
publication_state
=
'published'
,
publication_state
=
'published'
,
redirect_to_context
=
True
,
redirect_to_context
=
True
,
synchronous_metadata_discovery
=
False
,
synchronous_metadata_discovery
=
False
,
file
=
makeFileUpload
(
'TEST-en-002.pdf'
))
file
=
self
.
makeFileUpload
(
'TEST-en-002.pdf'
))
with
self
.
assertRaisesRegex
(
with
self
.
assertRaisesRegex
(
Exception
,
Exception
,
"Transition document_publication_workflow/publish unsupported"
):
"Transition document_publication_workflow/publish unsupported"
):
...
...
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