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
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Sebastien Robin
erp5
Commits
fcce7b97
Commit
fcce7b97
authored
Apr 22, 2013
by
Julien Muchembled
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testCMFActivity: clean up
parent
70a8e561
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
64 deletions
+18
-64
product/CMFActivity/tests/testCMFActivity.py
product/CMFActivity/tests/testCMFActivity.py
+18
-64
No files found.
product/CMFActivity/tests/testCMFActivity.py
View file @
fcce7b97
...
@@ -52,7 +52,6 @@ from Products.CMFActivity.ActivityTool import Message
...
@@ -52,7 +52,6 @@ from Products.CMFActivity.ActivityTool import Message
import
gc
import
gc
import
random
import
random
import
threading
import
threading
import
sys
import
weakref
import
weakref
import
transaction
import
transaction
...
@@ -109,12 +108,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -109,12 +108,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
self
.
activity_kw
.
get
(
'max_retry'
,
5
))
self
.
activity_kw
.
get
(
'max_retry'
,
5
))
self
.
login
()
self
.
login
()
portal
=
self
.
portal
portal
=
self
.
portal
# trap outgoing e-mails
self
.
oldMailHost
=
getattr
(
self
.
portal
,
'MailHost'
,
None
)
if
self
.
oldMailHost
is
not
None
:
self
.
portal
.
manage_delObjects
([
'MailHost'
])
self
.
portal
.
_setObject
(
'MailHost'
,
DummyMailHost
(
'MailHost'
))
# remove all message in the message_table because
# remove all message in the message_table because
# the previous test might have failed
# the previous test might have failed
message_list
=
portal
.
portal_activities
.
getMessageList
()
message_list
=
portal
.
portal_activities
.
getMessageList
()
...
@@ -1163,15 +1156,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -1163,15 +1156,7 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
messages.
messages.
"""
"""
activity_tool
=
self
.
getPortal
().
portal_activities
activity_tool
=
self
.
getPortal
().
portal_activities
loop_count
=
0
for
_
in
xrange
(
loop_size
):
# flush activities
while
1
:
loop_count
+=
1
if
loop_count
>=
loop_size
:
if
silent
:
return
self
.
fail
(
'flushAllActivities maximum loop count reached'
)
activity_tool
.
distribute
(
node_count
=
1
)
activity_tool
.
distribute
(
node_count
=
1
)
activity_tool
.
tic
(
processing_node
=
1
)
activity_tool
.
tic
(
processing_node
=
1
)
...
@@ -1185,6 +1170,8 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -1185,6 +1170,8 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
self
.
commit
()
self
.
commit
()
if
finished
:
if
finished
:
return
return
if
not
silent
:
self
.
fail
(
'flushAllActivities maximum loop count reached'
)
def
test_65_TestMessageValidationAndFailedActivities
(
self
,
def
test_65_TestMessageValidationAndFailedActivities
(
self
,
quiet
=
0
,
run
=
run_all_test
):
quiet
=
0
,
run
=
run_all_test
):
...
@@ -1214,13 +1201,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -1214,13 +1201,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
raise
ValueError
,
'This method always fail'
raise
ValueError
,
'This method always fail'
Organisation
.
failingMethod
=
failingMethod
Organisation
.
failingMethod
=
failingMethod
# Monkey patch Message not to send failure notification emails
from
Products.CMFActivity.ActivityTool
import
Message
originalNotifyUser
=
Message
.
notifyUser
def
notifyUserSilent
(
self
,
*
args
,
**
kw
):
pass
Message
.
notifyUser
=
notifyUserSilent
activity_list
=
[
'SQLQueue'
,
'SQLDict'
,
]
activity_list
=
[
'SQLQueue'
,
'SQLDict'
,
]
for
activity
in
activity_list
:
for
activity
in
activity_list
:
# reset
# reset
...
@@ -1258,10 +1238,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -1258,10 +1238,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
[
'failingMethod'
])
[
'failingMethod'
])
self
.
assertEquals
(
obj
.
getTitle
(),
original_title
)
self
.
assertEquals
(
obj
.
getTitle
(),
original_title
)
# restore notification and flush failed and blocked activities
Message
.
notifyUser
=
originalNotifyUser
activity_tool
.
manageClearActivities
(
keep
=
0
)
def
test_66_TestCountMessageWithTagWithSQLDict
(
self
,
quiet
=
0
,
run
=
run_all_test
):
def
test_66_TestCountMessageWithTagWithSQLDict
(
self
,
quiet
=
0
,
run
=
run_all_test
):
"""
"""
Test new countMessageWithTag function with SQLDict.
Test new countMessageWithTag function with SQLDict.
...
@@ -1297,13 +1273,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -1297,13 +1273,6 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
raise
ValueError
,
'This method always fail'
raise
ValueError
,
'This method always fail'
Organisation
.
failingMethod
=
failingMethod
Organisation
.
failingMethod
=
failingMethod
# Monkey patch Message not to send failure notification emails
from
Products.CMFActivity.ActivityTool
import
Message
originalNotifyUser
=
Message
.
notifyUser
def
notifyUserSilent
(
self
,
*
args
,
**
kw
):
pass
Message
.
notifyUser
=
notifyUserSilent
# First, index the object.
# First, index the object.
self
.
commit
()
self
.
commit
()
self
.
flushAllActivities
(
silent
=
1
,
loop_size
=
100
)
self
.
flushAllActivities
(
silent
=
1
,
loop_size
=
100
)
...
@@ -3202,28 +3171,20 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -3202,28 +3171,20 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
self
.
tic
()
self
.
tic
()
obj
=
self
.
getPortal
().
organisation_module
.
newContent
(
portal_type
=
'Organisation'
)
obj
=
self
.
getPortal
().
organisation_module
.
newContent
(
portal_type
=
'Organisation'
)
self
.
tic
()
self
.
tic
()
original_notifyUser
=
Message
.
notifyUser
original_notifyUser
=
Message
.
notifyUser
.
im_func
def
failSendingEmail
(
self
,
*
args
,
**
kw
):
def
failSendingEmail
(
self
,
*
args
,
**
kw
):
raise
MailHostError
,
'Mail is not sent'
raise
MailHostError
,
'Mail is not sent'
Message
.
notifyUser
=
failSendingEmail
activity_unit_test_error
=
Exception
()
class
ActivityUnitTestError
(
Exception
):
pass
activity_unit_test_error
=
ActivityUnitTestError
()
def
failingMethod
(
self
):
def
failingMethod
(
self
):
raise
activity_unit_test_error
raise
activity_unit_test_error
Organisation
.
failingMethod
=
failingMethod
self
.
_catch_log_errors
(
ignored_level
=
sys
.
maxint
)
try
:
try
:
import
traceback
Message
.
notifyUser
=
failSendingEmail
Organisation
.
failingMethod
=
failingMethod
self
.
_catch_log_errors
()
obj
.
activate
(
activity
=
activity
,
priority
=
6
).
failingMethod
()
obj
.
activate
(
activity
=
activity
,
priority
=
6
).
failingMethod
()
self
.
commit
()
self
.
commit
()
self
.
flushAllActivities
(
silent
=
1
,
loop_size
=
100
)
self
.
flushAllActivities
(
silent
=
1
,
loop_size
=
100
)
message_list
=
activity_tool
.
getMessageList
()
message
,
=
activity_tool
.
getMessageList
()
self
.
assertEqual
(
len
(
message_list
),
1
)
message
=
message_list
[
0
]
logged_errors
=
[]
logged_errors
=
self
.
logged
self
.
commit
()
self
.
commit
()
for
log_record
in
self
.
logged
:
for
log_record
in
self
.
logged
:
if
log_record
.
name
==
'ActivityTool'
and
log_record
.
levelname
==
'WARNING'
:
if
log_record
.
name
==
'ActivityTool'
and
log_record
.
levelname
==
'WARNING'
:
...
@@ -3231,9 +3192,9 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -3231,9 +3192,9 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
self
.
commit
()
self
.
commit
()
self
.
assertTrue
(
activity_unit_test_error
is
value
)
self
.
assertTrue
(
activity_unit_test_error
is
value
)
finally
:
finally
:
self
.
_ignore_log_errors
()
Message
.
notifyUser
=
original_notifyUser
Message
.
notifyUser
=
original_notifyUser
delattr
(
Organisation
,
'failingMethod'
)
del
Organisation
.
failingMethod
self
.
_ignore_log_errors
()
def
test_118_userNotificationSavedOnEventLogWhenNotifyUserRaisesWithSQLDict
(
self
,
quiet
=
0
,
run
=
run_all_test
):
def
test_118_userNotificationSavedOnEventLogWhenNotifyUserRaisesWithSQLDict
(
self
,
quiet
=
0
,
run
=
run_all_test
):
"""
"""
...
@@ -3324,36 +3285,29 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
...
@@ -3324,36 +3285,29 @@ class TestCMFActivity(ERP5TypeTestCase, LogInterceptor):
def
failingMethod
(
self
):
def
failingMethod
(
self
):
raise
activity_unit_test_error
raise
activity_unit_test_error
from
Products.SiteErrorLog.SiteErrorLog
import
SiteErrorLog
from
Products.SiteErrorLog.SiteErrorLog
import
SiteErrorLog
SiteErrorLog
.
original_raising
=
SiteErrorLog
.
raising
original_raising
=
SiteErrorLog
.
raising
.
im_func
# Monkey patch Site Error to induce conflict errors artificially.
# Monkey patch Site Error to induce conflict errors artificially.
def
raising
(
self
,
info
):
def
raising
(
self
,
info
):
from
Products.SiteErrorLog.SiteErrorLog
import
SiteErrorLog
raise
AttributeError
raise
AttributeError
return
self
.
original_raising
(
info
)
try
:
from
Products.SiteErrorLog.SiteErrorLog
import
SiteErrorLog
SiteErrorLog
.
original_raising
=
SiteErrorLog
.
raising
SiteErrorLog
.
raising
=
raising
SiteErrorLog
.
raising
=
raising
Organisation
.
failingMethod
=
failingMethod
Organisation
.
failingMethod
=
failingMethod
self
.
_catch_log_errors
(
ignored_level
=
sys
.
maxint
)
self
.
_catch_log_errors
()
try
:
o
.
activate
(
activity
=
activity
).
failingMethod
()
o
.
activate
(
activity
=
activity
).
failingMethod
()
self
.
commit
()
self
.
commit
()
self
.
assertEquals
(
len
(
activity_tool
.
getMessageList
()),
1
)
self
.
assertEquals
(
len
(
activity_tool
.
getMessageList
()),
1
)
self
.
flushAllActivities
(
silent
=
1
)
self
.
flushAllActivities
(
silent
=
1
)
SiteErrorLog
.
raising
=
SiteErrorLog
.
original_raising
SiteErrorLog
.
raising
=
original_raising
logged_errors
=
self
.
logged
self
.
commit
()
self
.
commit
()
for
log_record
in
self
.
logged
:
for
log_record
in
self
.
logged
:
if
log_record
.
name
==
'ActivityTool'
and
log_record
.
levelname
==
'WARNING'
:
if
log_record
.
name
==
'ActivityTool'
and
log_record
.
levelname
==
'WARNING'
:
type
,
value
,
trace
=
log_record
.
exc_info
type
,
value
,
trace
=
log_record
.
exc_info
self
.
assertTrue
(
activity_unit_test_error
is
value
)
self
.
assertTrue
(
activity_unit_test_error
is
value
)
finally
:
finally
:
SiteErrorLog
.
raising
=
original_raising
del
Organisation
.
failingMethod
self
.
_ignore_log_errors
()
self
.
_ignore_log_errors
()
SiteErrorLog
.
raising
=
SiteErrorLog
.
original_raising
delattr
(
Organisation
,
'failingMethod'
)
del
SiteErrorLog
.
original_raising
def
test_122_userNotificationSavedOnEventLogWhenSiteErrorLoggerRaisesWithSQLDict
(
self
,
quiet
=
0
,
run
=
run_all_test
):
def
test_122_userNotificationSavedOnEventLogWhenSiteErrorLoggerRaisesWithSQLDict
(
self
,
quiet
=
0
,
run
=
run_all_test
):
if
not
run
:
return
if
not
run
:
return
...
...
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