Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
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
1
Merge Requests
1
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
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Romain Courteaud
slapos.core
Commits
bbc9f0d7
Commit
bbc9f0d7
authored
Sep 29, 2023
by
Romain Courteaud
🐙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_crm: test RegularisationRequest_triggerStopReminderEscalation
parent
4c6afb5f
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
101 deletions
+46
-101
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_triggerStopReminderEscalation.py
...rm/RegularisationRequest_triggerStopReminderEscalation.py
+7
-25
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
...ateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
+39
-0
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
...ents/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
+0
-76
No files found.
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_triggerStopReminderEscalation.py
View file @
bbc9f0d7
...
...
@@ -2,19 +2,10 @@ from zExceptions import Unauthorized
if
REQUEST
is
not
None
:
raise
Unauthorized
portal
=
context
.
getPortalObject
()
ndays
=
7
language
=
"en"
recipient
=
context
.
getDestinationSectionValue
()
if
recipient
is
not
None
:
language
=
recipient
.
getLanguage
(
"en"
)
notification_message
=
portal
.
portal_notifications
.
getDocumentValue
(
language
=
language
,
reference
=
"slapos-crm.stop.reminder.escalation"
)
if
notification_message
is
None
:
subject
=
'Acknowledgment: instances stopped'
body
=
"""Dear user,
subject
=
'Acknowledgment: instances stopped'
body
=
"""Dear user,
Despite our last reminder, you still have an unpaid invoice on %s.
We will now stop all your current instances to free some hardware resources.
...
...
@@ -22,20 +13,6 @@ We will now stop all your current instances to free some hardware resources.
Regards,
The slapos team
"""
%
context
.
getPortalObject
().
portal_preferences
.
getPreferredSlaposWebSiteUrl
()
else
:
notification_mapping_dict
=
{
'user_name'
:
context
.
getDestinationSectionTitle
(),
'days'
:
ndays
}
subject
=
notification_message
.
getTitle
()
# Preserve HTML else convert to text
if
notification_message
.
getContentType
()
==
"text/html"
:
body
=
notification_message
.
asEntireHTML
(
substitution_method_parameter_dict
=
{
'mapping_dict'
:
notification_mapping_dict
})
else
:
body
=
notification_message
.
asText
(
substitution_method_parameter_dict
=
{
'mapping_dict'
:
notification_mapping_dict
})
return
context
.
RegularisationRequest_checkToTriggerNextEscalationStep
(
delay_period_in_days
=
ndays
,
...
...
@@ -44,4 +21,9 @@ return context.RegularisationRequest_checkToTriggerNextEscalationStep(
title
=
subject
,
text_content
=
body
,
comment
=
'Stopping acknowledgment.'
,
notification_message
=
"slapos-crm.stop.reminder.escalation"
,
substitution_method_parameter_dict
=
{
'user_name'
:
context
.
getDestinationSectionTitle
(),
'days'
:
ndays
}
)
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
View file @
bbc9f0d7
...
...
@@ -580,6 +580,45 @@ class TestSlapOSCrmTriggerEscalationOnStopReminderRegularisationRequest(SlapOSTe
self
.
_test_alarm_not_visited
(
alarm
,
ticket
,
"RegularisationRequest_triggerStopReminderEscalation"
)
def
test_RegularisationRequest_triggerStopReminderEscalation_script_REQUESTdisallowed
(
self
):
ticket
=
self
.
createRegularisationRequest
()
self
.
assertRaises
(
Unauthorized
,
ticket
.
RegularisationRequest_triggerStopReminderEscalation
,
REQUEST
=
{})
@
simulate
(
'RegularisationRequest_checkToTriggerNextEscalationStep'
,
'delay_period_in_days, current_service_relative_url, '
\
'next_service_relative_url, title, text_content, comment, '
\
'notification_message=None, substitution_method_parameter_dict=None, '
\
'REQUEST=None'
,
'context.portal_workflow.doActionFor('
\
'context, action="edit_action", '
\
'comment="Visited by RegularisationRequest_checkToTriggerNextEscalationStep '
\
'%s %s %s %s %s %s %s %s" % (delay_period_in_days, current_service_relative_url, next_service_relative_url, title, text_content, comment, notification_message, substitution_method_parameter_dict))'
)
def
test_RegularisationRequest_triggerStopReminderEscalation_script_matchingEvent
(
self
):
ticket
=
self
.
createRegularisationRequest
()
ticket
.
RegularisationRequest_triggerStopReminderEscalation
()
self
.
assertEqual
(
'Visited by RegularisationRequest_checkToTriggerNextEscalationStep '
\
'%s %s %s %s %s %s %s %s'
%
\
(
7
,
'service_module/slapos_crm_stop_reminder'
,
'service_module/slapos_crm_stop_acknowledgement'
,
'Acknowledgment: instances stopped'
,
"""Dear user,
Despite our last reminder, you still have an unpaid invoice on %s.
We will now stop all your current instances to free some hardware resources.
Regards,
The slapos team
"""
%
self
.
portal
.
portal_preferences
.
getPreferredSlaposWebSiteUrl
(),
'Stopping acknowledgment.'
,
'slapos-crm.stop.reminder.escalation'
,
"{'user_name': None, 'days': 7}"
),
ticket
.
workflow_history
[
'edit_workflow'
][
-
1
][
'comment'
])
class
TestSlapOSCrmTriggerEscalationOnStopAcknowledgmentRegularisationRequest
(
SlapOSTestCaseMixinWithAbort
):
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
View file @
bbc9f0d7
...
...
@@ -364,82 +364,6 @@ class TestSlapOSRegularisationRequest_checkToTriggerNextEscalationStep(
REQUEST
=
{})
class
TestSlapOSRegularisationRequest_triggerStopReminderEscalation
(
SlapOSTestCaseMixinWithAbort
):
def
test_triggerStopReminderEscalation_REQUEST_disallowed
(
self
):
ticket
=
self
.
createRegularisationRequest
()
self
.
assertRaises
(
Unauthorized
,
ticket
.
RegularisationRequest_triggerStopReminderEscalation
,
REQUEST
=
{})
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None, language="en"'
,
'assert reference == "slapos-crm.stop.reminder.escalation", reference
\
n
'
\
'return'
)
@
simulate
(
'RegularisationRequest_checkToTriggerNextEscalationStep'
,
'delay_period_in_days, current_service_relative_url, next_service_relative_url, title, text_content, comment, REQUEST=None'
,
'context.portal_workflow.doActionFor('
\
'context, action="edit_action", '
\
'comment="Visited by RegularisationRequest_checkToTriggerNextEscalationStep '
\
'%s %s %s %s %s %s" % (delay_period_in_days, current_service_relative_url, next_service_relative_url, title, text_content, comment))'
)
def
test_checkToTriggerNextEscalationStep_matching_event
(
self
):
ticket
=
self
.
createRegularisationRequest
()
ticket
.
RegularisationRequest_triggerStopReminderEscalation
()
self
.
assertEqual
(
'Visited by RegularisationRequest_checkToTriggerNextEscalationStep '
\
'%s %s %s %s %s %s'
%
\
(
7
,
'service_module/slapos_crm_stop_reminder'
,
'service_module/slapos_crm_stop_acknowledgement'
,
'Acknowledgment: instances stopped'
,
"""Dear user,
Despite our last reminder, you still have an unpaid invoice on %s.
We will now stop all your current instances to free some hardware resources.
Regards,
The slapos team
"""
%
self
.
portal
.
portal_preferences
.
getPreferredSlaposWebSiteUrl
(),
'Stopping acknowledgment.'
),
ticket
.
workflow_history
[
'edit_workflow'
][
-
1
][
'comment'
])
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None, language="en"'
,
'assert reference == "slapos-crm.stop.reminder.escalation"
\
n
'
\
'return context.restrictedTraverse('
\
'context.REQUEST["test_checkToTriggerNextEscalationStep_notification_message"])'
)
@
simulate
(
'RegularisationRequest_checkToTriggerNextEscalationStep'
,
'delay_period_in_days, current_service_relative_url, next_service_relative_url, title, text_content, comment, REQUEST=None'
,
'context.portal_workflow.doActionFor('
\
'context, action="edit_action", '
\
'comment="Visited by RegularisationRequest_checkToTriggerNextEscalationStep '
\
'%s %s %s %s %s %s" % (delay_period_in_days, current_service_relative_url, next_service_relative_url, title, text_content, comment))'
)
def
test_checkToTriggerNextEscalationStep_notification_message
(
self
):
ticket
=
self
.
createRegularisationRequest
()
new_id
=
self
.
generateNewId
()
notification_message
=
self
.
portal
.
notification_message_module
.
newContent
(
portal_type
=
"Notification Message"
,
title
=
'Test NM title %s'
%
new_id
,
text_content
=
'Test NM content
\
n
%s
\
n
'
%
new_id
,
content_type
=
'text/plain'
,
)
self
.
portal
.
REQUEST
\
[
'test_checkToTriggerNextEscalationStep_notification_message'
]
=
\
notification_message
.
getRelativeUrl
()
ticket
.
RegularisationRequest_triggerStopReminderEscalation
()
self
.
assertEqual
(
'Visited by RegularisationRequest_checkToTriggerNextEscalationStep '
\
'%s %s %s %s %s %s'
%
\
(
7
,
'service_module/slapos_crm_stop_reminder'
,
'service_module/slapos_crm_stop_acknowledgement'
,
'Test NM title %s'
%
new_id
,
'Test NM content
\
n
%s
\
n
'
%
new_id
,
'Stopping acknowledgment.'
),
ticket
.
workflow_history
[
'edit_workflow'
][
-
1
][
'comment'
])
class
TestSlapOSRegularisationRequest_triggerStopAcknowledgmentEscalation
(
SlapOSTestCaseMixinWithAbort
):
...
...
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