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
3cd9113a
Commit
3cd9113a
authored
Jan 31, 2023
by
Romain Courteaud
🐙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_crm: lint test
parent
e6ac77b4
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
722 additions
and
42 deletions
+722
-42
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMSkins.py
...ateItem/portal_components/test.erp5.testSlapOSCRMSkins.py
+722
-42
No files found.
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMSkins.py
View file @
3cd9113a
...
...
@@ -36,7 +36,9 @@ class TestCRMSkinsMixin(SlapOSTestCaseMixinWithAbort):
def
afterSetUp
(
self
):
SlapOSTestCaseMixinWithAbort
.
afterSetUp
(
self
)
self
.
person
=
self
.
makePerson
(
new_id
=
self
.
new_id
,
index
=
0
,
user
=
0
)
self
.
project
=
self
.
addProject
()
self
.
person
=
self
.
makePerson
(
self
.
project
,
new_id
=
self
.
new_id
,
index
=
0
,
user
=
0
)
def
_cancelTestSupportRequestList
(
self
,
title
=
"%"
):
for
support_request
in
self
.
portal
.
portal_catalog
(
...
...
@@ -87,7 +89,7 @@ class TestCRMSkinsMixin(SlapOSTestCaseMixinWithAbort):
def
_makeSoftwareInstallation
(
self
):
self
.
_makeComputeNode
()
self
.
_makeComputeNode
(
self
.
project
)
software_installation
=
self
.
portal
\
.
software_installation_module
.
template_software_installation
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
...
...
@@ -156,6 +158,639 @@ class TestSlapOSSupportRequestModule_getMonitoringUrlList(TestCRMSkinsMixin):
self
.
tic
()
self
.
assertNotEqual
(
instance_tree
.
getSuccessorList
(),
[])
class
TestSlapOSComputeNode_getTicketRelatedList
(
TestCRMSkinsMixin
):
def
test_getTicketRelatedList_support_request_related_to_allocated_instance
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
self
.
_makeComplexComputeNode
(
self
.
project
)
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
)
ticket
.
setAggregateValue
(
self
.
start_requested_software_instance
.
getSpecialiseValue
())
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
submit
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
validate
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
suspend
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
invalidate
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
def
test_getTicketRelatedList_support_request_related_to_compute_node
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
)
ticket
.
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
submit
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
validate
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
suspend
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
invalidate
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
def
test_getTicketRelatedList_cancelled_support_request_related_to_allocated_instance
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
self
.
_makeComplexComputeNode
(
self
.
project
)
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
)
ticket
.
setAggregateValue
(
self
.
start_requested_software_instance
.
getSpecialiseValue
())
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
submit
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
cancel
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
def
test_getTicketRelatedList_cancelled_support_request_related_to_compute_node
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
)
ticket
.
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
submit
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
cancel
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
def
test_getTicketRelatedList_upgrade_decision_related_to_allocated_instance
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
self
.
_makeComplexComputeNode
(
self
.
project
)
def
newUpgradeDecision
():
ticket
=
self
.
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
title
=
"Upgrade Decision Test %s"
%
self
.
new_id
,
reference
=
"TESTUD-%s"
%
self
.
new_id
)
ticket
.
immediateReindexObject
()
return
ticket
ticket
=
newUpgradeDecision
()
ticket
.
newContent
(
portal_type
=
"Upgrade Decision Line"
).
setAggregateValue
(
self
.
start_requested_software_instance
.
getSpecialiseValue
())
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
plan
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
confirm
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
start
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
stop
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
deliver
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
def
test_getTicketRelatedList_upgrade_decision_related_to_compute_node
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
def
newUpgradeDecision
():
ticket
=
self
.
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
title
=
"Upgrade Decision Test %s"
%
self
.
new_id
,
reference
=
"TESTUD-%s"
%
self
.
new_id
)
ticket
.
immediateReindexObject
()
return
ticket
ticket
=
newUpgradeDecision
()
ticket
.
newContent
(
portal_type
=
"Upgrade Decision Line"
).
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
plan
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
confirm
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
start
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
stop
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
deliver
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
def
test_getTicketRelatedList_cancelled_upgrade_decision_to_allocated_instance
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
self
.
_makeComplexComputeNode
(
self
.
project
)
def
newUpgradeDecision
():
ticket
=
self
.
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
title
=
"Upgrade Decision Test %s"
%
self
.
new_id
,
reference
=
"TESTUD-%s"
%
self
.
new_id
)
ticket
.
immediateReindexObject
()
return
ticket
ticket
=
newUpgradeDecision
()
ticket
.
newContent
(
portal_type
=
"Upgrade Decision Line"
).
setAggregateValue
(
self
.
start_requested_software_instance
.
getSpecialiseValue
())
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
cancel
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
def
test_getTicketRelatedList_cancelled_upgrade_decision_to_computer_node
(
self
):
document
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
def
newUpgradeDecision
():
ticket
=
self
.
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
title
=
"Upgrade Decision Test %s"
%
self
.
new_id
,
reference
=
"TESTUD-%s"
%
self
.
new_id
)
ticket
.
immediateReindexObject
()
return
ticket
ticket
=
newUpgradeDecision
()
ticket
.
newContent
(
portal_type
=
"Upgrade Decision Line"
).
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
cancel
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
ComputeNode_getTicketRelatedList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
class
TestSlapOSBase_getOpenRelatedTicketList
(
TestCRMSkinsMixin
):
def
test_getOpenRelatedTicketList_support_request_related_to_compute_node
(
self
):
self
.
_test_getOpenRelatedTicketList_support_request_related
(
self
.
_makeComputeNode
(
self
.
project
)[
0
])
def
test_getOpenRelatedTicketList_support_request_related_to_instance_tree
(
self
):
self
.
_test_getOpenRelatedTicketList_support_request_related
(
self
.
_makeInstanceTree
())
def
_test_getOpenRelatedTicketList_support_request_related
(
self
,
document
):
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
)
ticket
.
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
submit
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
validate
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
suspend
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
invalidate
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
def
test_getOpenRelatedTicketList_cancelled_support_request_related_to_compute_node
(
self
):
self
.
_test_getOpenRelatedTicketList_cancelled_support_request_related
(
self
.
_makeComputeNode
(
self
.
project
)[
0
])
def
test_getOpenRelatedTicketList_cancelled_support_request_related_to_instance_tree
(
self
):
self
.
_test_getOpenRelatedTicketList_cancelled_support_request_related
(
self
.
_makeInstanceTree
())
def
_test_getOpenRelatedTicketList_cancelled_support_request_related
(
self
,
document
):
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
)
ticket
.
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
submit
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
cancel
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
def
test_getOpenRelatedTicketList_upgrade_decision_related_to_compute_node
(
self
):
self
.
_test_getOpenRelatedTicketList_upgrade_decision_related
(
self
.
_makeComputeNode
(
self
.
project
)[
0
])
def
test_getOpenRelatedTicketList_upgrade_decision_related_to_instance_tree
(
self
):
self
.
_test_getOpenRelatedTicketList_upgrade_decision_related
(
self
.
_makeInstanceTree
())
def
_test_getOpenRelatedTicketList_upgrade_decision_related
(
self
,
document
):
def
newUpgradeDecision
():
ticket
=
self
.
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
title
=
"Upgrade Decision Test %s"
%
self
.
new_id
,
reference
=
"TESTUD-%s"
%
self
.
new_id
)
ticket
.
immediateReindexObject
()
return
ticket
ticket
=
newUpgradeDecision
()
ticket
.
newContent
(
portal_type
=
"Upgrade Decision Line"
).
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
plan
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
confirm
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
start
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
stop
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
ticket
.
deliver
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
1
)
self
.
assertEqual
(
open_related_ticket_list
[
0
].
getUid
(),
ticket
.
getUid
())
def
test_getOpenRelatedTicketList_cancelled_upgrade_decision_related_to_compute_node
(
self
):
self
.
_test_getOpenRelatedTicketList_cancelled_upgrade_decision_related
(
self
.
_makeComputeNode
(
self
.
project
)[
0
])
def
test_getOpenRelatedTicketList_cancelled_upgrade_decision_related_to_instance_tree
(
self
):
self
.
_test_getOpenRelatedTicketList_cancelled_upgrade_decision_related
(
self
.
_makeInstanceTree
())
def
_test_getOpenRelatedTicketList_cancelled_upgrade_decision_related
(
self
,
document
):
def
newUpgradeDecision
():
ticket
=
self
.
portal
.
upgrade_decision_module
.
newContent
(
portal_type
=
'Upgrade Decision'
,
title
=
"Upgrade Decision Test %s"
%
self
.
new_id
,
reference
=
"TESTUD-%s"
%
self
.
new_id
)
ticket
.
immediateReindexObject
()
return
ticket
ticket
=
newUpgradeDecision
()
ticket
.
newContent
(
portal_type
=
"Upgrade Decision Line"
).
setAggregateValue
(
document
)
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
# Not indexed yet
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
self
.
tic
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
ticket
.
cancel
()
ticket
.
immediateReindexObject
()
open_related_ticket_list
=
document
.
Base_getOpenRelatedTicketList
()
self
.
assertEqual
(
len
(
open_related_ticket_list
),
0
)
class
TestSlapOSComputeNode_notifyWrongAllocationScope
(
TestCRMSkinsMixin
):
def
afterSetUp
(
self
):
TestCRMSkinsMixin
.
afterSetUp
(
self
)
self
.
project
=
self
.
addProject
()
self
.
_cancelTestSupportRequestList
(
title
=
"%%TESTCOMPT-%"
)
def
_getGeneratedSupportRequest
(
self
,
compute_node
):
request_title
=
'%%We have changed allocation scope for %s'
%
\
compute_node
.
getReference
()
support_request
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
'Support Request'
,
title
=
request_title
,
simulation_state
=
'suspended'
,
default_aggregate_uid
=
compute_node
.
getUid
()
)
return
support_request
def
_makeNotificationMessage
(
self
,
reference
):
notification_message
=
self
.
portal
.
notification_message_module
.
newContent
(
portal_type
=
"Notification Message"
,
title
=
'We have changed allocation scope for %s'
%
reference
,
text_content
=
'Test NM content<br/>%s<br/>'
%
reference
,
content_type
=
'text/html'
,
)
return
notification_message
.
getRelativeUrl
()
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None'
,
'assert reference == "slapos-crm-compute_node_allocation_scope.notification"
\
n
'
\
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNodeNotAllowedAllocationScope_OpenPublic"])'
)
def
test_ComputeNodeNotAllowedAllocationScope_OpenPublic
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(self.project, user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
portal
.
REQUEST
[
'test_ComputeNodeNotAllowedAllocationScope_OpenPublic'
]
=
\
self
.
_makeNotificationMessage
(
compute_node
.
getReference
())
compute_node
.
edit
(
allocation_scope
=
'open/public'
)
ticket
=
compute_node
.
ComputeNode_checkAndUpdateAllocationScope
()
self
.
tic
()
self
.
assertEqual
(
compute_node
.
getAllocationScope
(),
'open/personal'
)
#ticket = self._getGeneratedSupportRequest(compute_node)
self
.
assertNotEqual
(
None
,
ticket
)
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'suspended'
)
event_list
=
ticket
.
getFollowUpRelatedValueList
()
self
.
assertEqual
(
len
(
event_list
),
1
)
event
=
event_list
[
0
]
self
.
assertEqual
(
event
.
getTitle
(),
'Allocation scope of %s changed to %s'
%
(
compute_node
.
getReference
(),
'open/personal'
))
self
.
assertIn
(
compute_node
.
getReference
(),
event
.
getTextContent
())
self
.
assertEqual
(
event
.
getSource
(),
person
.
getRelativeUrl
())
self
.
assertEqual
(
event
.
getDestination
(),
ticket
.
getSourceSection
())
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None'
,
'assert reference == "slapos-crm-compute_node_allocation_scope.notification"
\
n
'
\
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNodeNotAllowedAllocationScope_OpenFriend"])'
)
def
test_ComputeNodeNotAllowedAllocationScope_OpenFriend
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(self.project, user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
portal
.
REQUEST
[
'test_ComputeNodeNotAllowedAllocationScope_OpenFriend'
]
=
\
self
.
_makeNotificationMessage
(
compute_node
.
getReference
())
friend_person
=
self
.
makePerson
(
self
.
project
)
compute_node
.
edit
(
allocation_scope
=
'open/friend'
,
destination_section
=
friend_person
.
getRelativeUrl
())
ticket
=
compute_node
.
ComputeNode_checkAndUpdateAllocationScope
()
self
.
tic
()
self
.
assertEqual
(
compute_node
.
getAllocationScope
(),
'open/personal'
)
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'suspended'
)
event_list
=
ticket
.
getFollowUpRelatedValueList
()
self
.
assertEqual
(
len
(
event_list
),
1
)
event
=
event_list
[
0
]
self
.
assertEqual
(
event
.
getTitle
(),
'Allocation scope of %s changed to %s'
%
(
compute_node
.
getReference
(),
'open/personal'
))
self
.
assertIn
(
compute_node
.
getReference
(),
event
.
getTextContent
())
self
.
assertEqual
(
event
.
getSource
(),
person
.
getRelativeUrl
())
self
.
assertEqual
(
event
.
getDestination
(),
ticket
.
getSourceSection
())
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
@
simulate
(
'ComputeNode_hasContactedRecently'
,
'*args, **kwargs'
,
'return False'
)
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None'
,
'assert reference == "slapos-crm-compute-node-allocation-scope-closed.notification"
\
n
'
\
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNodeToCloseAllocationScope_OpenPersonal"])'
)
def
test_ComputeNodeToCloseAllocationScope_OpenPersonal
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(self.project, user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
target_allocation_scope
=
'close/outdated'
self
.
portal
.
REQUEST
[
'test_ComputeNodeToCloseAllocationScope_OpenPersonal'
]
=
\
self
.
_makeNotificationMessage
(
compute_node
.
getReference
())
compute_node
.
edit
(
allocation_scope
=
'open/personal'
)
support_request
=
compute_node
.
ComputeNode_checkAndUpdatePersonalAllocationScope
()
self
.
tic
()
self
.
assertEqual
(
'suspended'
,
support_request
.
getSimulationState
())
self
.
assertEqual
(
compute_node
.
getAllocationScope
(),
target_allocation_scope
)
event_list
=
support_request
.
getFollowUpRelatedValueList
()
self
.
assertEqual
(
len
(
event_list
),
1
)
event
=
event_list
[
0
]
self
.
assertEqual
(
event
.
getTitle
(),
'Allocation scope of %s changed to %s'
%
\
(
compute_node
.
getReference
(),
target_allocation_scope
))
self
.
assertIn
(
compute_node
.
getReference
(),
event
.
getTextContent
())
self
.
assertEqual
(
event
.
getSource
(),
person
.
getRelativeUrl
())
self
.
assertEqual
(
event
.
getDestination
(),
support_request
.
getSourceSection
())
def
test_ComputeNodeNormalAllocationScope_OpenPersonal
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(self.project, user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
_updatePersonAssignment
(
person
,
'role/service_provider'
)
compute_node
.
edit
(
allocation_scope
=
'open/personal'
)
compute_node
.
ComputeNode_checkAndUpdateAllocationScope
()
self
.
tic
()
self
.
assertEqual
(
compute_node
.
getAllocationScope
(),
'open/personal'
)
def
test_ComputeNodeAllowedAllocationScope_OpenPublic
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(self.project, user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
_updatePersonAssignment
(
person
,
'role/service_provider'
)
compute_node
.
edit
(
allocation_scope
=
'open/public'
)
compute_node
.
ComputeNode_checkAndUpdateAllocationScope
()
self
.
tic
()
self
.
assertEqual
(
compute_node
.
getAllocationScope
(),
'open/public'
)
def
test_ComputeNodeAllowedAllocationScope_OpenFriend
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(self.project, user=0))[0]
friend_person
=
self
.
makePerson
(
self
.
project
)
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
_updatePersonAssignment
(
person
,
'role/service_provider'
)
compute_node
.
edit
(
allocation_scope
=
'open/friend'
,
destination_section
=
friend_person
.
getRelativeUrl
())
compute_node
.
ComputeNode_checkAndUpdateAllocationScope
()
self
.
tic
()
self
.
assertEqual
(
compute_node
.
getAllocationScope
(),
'open/friend'
)
class
TestComputeNode_hasContactedRecently
(
SlapOSTestCaseMixinWithAbort
):
def
createSPL
(
self
,
compute_node
):
...
...
@@ -181,14 +816,14 @@ class TestComputeNode_hasContactedRecently(SlapOSTestCaseMixinWithAbort):
return
delivery
def
test_ComputeNode_hasContactedRecently_newly_created
(
self
):
compute_node
=
self
.
_makeComputeNode
()[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
self
.
tic
()
has_contacted
=
compute_node
.
ComputeNode_hasContactedRecently
()
self
.
assertTrue
(
has_contacted
)
@
simulate
(
'ComputeNode_getCreationDate'
,
'*args, **kwargs'
,
'return DateTime() - 32'
)
def
test_ComputeNode_hasContactedRecently_no_data
(
self
):
compute_node
=
self
.
_makeComputeNode
()[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
self
.
tic
()
compute_node
.
getCreationDate
=
self
.
portal
.
ComputeNode_getCreationDate
...
...
@@ -197,7 +832,7 @@ class TestComputeNode_hasContactedRecently(SlapOSTestCaseMixinWithAbort):
@
simulate
(
'ComputeNode_getCreationDate'
,
'*args, **kwargs'
,
'return DateTime() - 32'
)
def
test_ComputeNode_hasContactedRecently_memcached
(
self
):
compute_node
=
self
.
_makeComputeNode
()[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
compute_node
.
setAccessStatus
(
""
)
self
.
tic
()
...
...
@@ -208,7 +843,7 @@ class TestComputeNode_hasContactedRecently(SlapOSTestCaseMixinWithAbort):
@
simulate
(
'ComputeNode_getCreationDate'
,
'*args, **kwargs'
,
'return DateTime() - 32'
)
def
test_ComputeNode_hasContactedRecently_memcached_oudated_no_spl
(
self
):
compute_node
=
self
.
_makeComputeNode
()[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
try
:
self
.
pinDateTime
(
DateTime
()
-
32
)
compute_node
.
setAccessStatus
(
""
)
...
...
@@ -224,7 +859,7 @@ class TestComputeNode_hasContactedRecently(SlapOSTestCaseMixinWithAbort):
@
simulate
(
'ComputeNode_getCreationDate'
,
'*args, **kwargs'
,
'return DateTime() - 32'
)
def
test_ComputeNode_hasContactedRecently_memcached_oudated_with_spl
(
self
):
compute_node
=
self
.
_makeComputeNode
()[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
try
:
self
.
pinDateTime
(
DateTime
()
-
32
)
compute_node
.
setAccessStatus
(
""
)
...
...
@@ -243,13 +878,14 @@ class TestSlapOSisSupportRequestCreationClosed(TestCRMSkinsMixin):
def
afterSetUp
(
self
):
TestCRMSkinsMixin
.
afterSetUp
(
self
)
self
.
project
=
self
.
addProject
()
self
.
_cancelTestSupportRequestList
()
self
.
clearCache
()
def
test_ERP5Site_isSupportRequestCreationClosed
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
other_person
=
self
.
makePerson
(
user
=
0
)
person
=
self
.
makePerson
(
self
.
project
,
user
=
0
)
other_person
=
self
.
makePerson
(
self
.
project
,
user
=
0
)
url
=
person
.
getRelativeUrl
()
self
.
assertFalse
(
self
.
portal
.
ERP5Site_isSupportRequestCreationClosed
(
url
))
self
.
assertFalse
(
self
.
portal
.
ERP5Site_isSupportRequestCreationClosed
())
...
...
@@ -284,7 +920,7 @@ class TestSlapOSisSupportRequestCreationClosed(TestCRMSkinsMixin):
other_person
.
getRelativeUrl
()))
def
test_ERP5Site_isSupportRequestCreationClosed_suspended_state
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
person
=
self
.
makePerson
(
self
.
project
,
user
=
0
)
url
=
person
.
getRelativeUrl
()
self
.
assertFalse
(
self
.
portal
.
ERP5Site_isSupportRequestCreationClosed
(
url
))
self
.
assertFalse
(
self
.
portal
.
ERP5Site_isSupportRequestCreationClosed
())
...
...
@@ -308,7 +944,7 @@ class TestSlapOSisSupportRequestCreationClosed(TestCRMSkinsMixin):
def
test_ERP5Site_isSupportRequestCreationClosed_nonmonitoring
(
self
):
person
=
self
.
makePerson
(
user
=
0
)
person
=
self
.
makePerson
(
self
.
project
,
user
=
0
)
url
=
person
.
getRelativeUrl
()
self
.
assertFalse
(
self
.
portal
.
ERP5Site_isSupportRequestCreationClosed
(
url
))
self
.
assertFalse
(
self
.
portal
.
ERP5Site_isSupportRequestCreationClosed
())
...
...
@@ -339,6 +975,7 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
def
afterSetUp
(
self
):
TestCRMSkinsMixin
.
afterSetUp
(
self
)
self
.
project
=
self
.
addProject
()
self
.
_cancelTestSupportRequestList
(
"% TESTCOMPT-%"
)
def
_makeNotificationMessage
(
self
,
reference
):
...
...
@@ -362,7 +999,7 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
def
test_ComputeNode_checkState_call_support_request
(
self
):
compute_node
=
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#,
owner=self.makePerson(user=0))[0]
try
:
d
=
DateTime
()
-
1.1
self
.
pinDateTime
(
d
)
...
...
@@ -381,7 +1018,7 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
def
test_ComputeNode_checkState_empty_cache
(
self
):
compute_node
=
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#,
owner=self.makePerson(user=0))[0]
compute_node_support_request
=
compute_node
.
ComputeNode_checkState
()
compute_node_support_request
=
compute_node
.
ComputeNode_checkState
()
...
...
@@ -398,7 +1035,7 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNode_checkState_notify"])'
)
def
test_ComputeNode_checkState_notify
(
self
):
compute_node
=
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#,
owner=self.makePerson(user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
try
:
...
...
@@ -434,7 +1071,7 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNode_checkState_empty_cache_notify"])'
)
def
test_ComputeNode_checkState_empty_cache_notify
(
self
):
compute_node
=
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
]
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#,
owner=self.makePerson(user=0))[0]
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
portal
.
REQUEST
[
'test_ComputeNode_checkState_empty_cache_notify'
]
=
\
...
...
@@ -462,8 +1099,8 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNode_checkState_stalled_instance"])'
)
def
test_ComputeNode_checkState_stalled_instance
(
self
):
compute_node
=
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
]
self
.
_makeComplexComputeNode
()
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#,
owner=self.makePerson(user=0))[0]
self
.
_makeComplexComputeNode
(
self
.
project
)
person
=
compute_node
.
getSourceAdministrationValue
()
...
...
@@ -495,6 +1132,48 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
self
.
assertEqual
(
event
.
getSource
(),
person
.
getRelativeUrl
())
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None'
,
'assert reference == "slapos-crm-compute_node_check_stalled_software_state.notification", reference
\
n
'
\
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNode_checkState_stalled_software"])'
)
def
test_ComputeNode_checkState_stalled_software
(
self
):
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#, owner=self.makePerson(user=0))[0]
self
.
_makeComplexComputeNode
(
self
.
project
)
person
=
compute_node
.
getSourceAdministrationValue
()
self
.
portal
.
REQUEST
[
'test_ComputeNode_checkState_stalled_software'
]
=
\
self
.
_makeNotificationMessage
(
compute_node
.
getReference
())
# Computer is getting access, also internal instance
compute_node
.
setAccessStatus
(
""
)
self
.
start_requested_software_instance
.
setAccessStatus
(
""
)
try
:
self
.
pinDateTime
(
DateTime
()
-
1.1
)
self
.
start_requested_software_installation
.
setAccessStatus
(
""
)
finally
:
self
.
unpinDateTime
()
compute_node
.
ComputeNode_checkState
()
self
.
tic
()
ticket_title
=
"[MONITORING] Compute Node %s has a stalled software process"
%
compute_node
.
getReference
()
ticket
=
self
.
_getGeneratedSupportRequest
(
compute_node
.
getUid
(),
ticket_title
)
self
.
assertNotEqual
(
ticket
,
None
)
event_list
=
ticket
.
getFollowUpRelatedValueList
()
self
.
assertEqual
(
len
(
event_list
),
1
)
event
=
event_list
[
0
]
self
.
assertEqual
(
event
.
getTitle
(),
ticket
.
getTitle
())
self
.
assertIn
(
compute_node
.
getReference
(),
event
.
getTextContent
())
self
.
assertEqual
(
event
.
getDestination
(),
ticket
.
getSourceSection
())
self
.
assertEqual
(
event
.
getSource
(),
person
.
getRelativeUrl
())
@
simulate
(
'ERP5Site_isSupportRequestCreationClosed'
,
'*args, **kwargs'
,
'return 0'
)
@
simulate
(
'NotificationTool_getDocumentValue'
,
'reference=None'
,
...
...
@@ -502,8 +1181,8 @@ class TestSlapOSComputeNode_CheckState(TestCRMSkinsMixin):
'return context.restrictedTraverse('
\
'context.REQUEST["test_ComputeNode_checkState_stalled_instance"])'
)
def
test_ComputeNode_checkState_stalled_instance_single
(
self
):
compute_node
=
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
]
self
.
_makeComplexComputeNode
()
compute_node
=
self
.
_makeComputeNode
(
self
.
project
)[
0
]
#,
owner=self.makePerson(user=0))[0]
self
.
_makeComplexComputeNode
(
self
.
project
)
person
=
compute_node
.
getSourceAdministrationValue
()
...
...
@@ -548,7 +1227,7 @@ class TestSlapOSInstanceTree_createSupportRequestEvent(SlapOSTestCaseMixin):
return
notification_message
.
getRelativeUrl
()
def
_makeInstanceTree
(
self
):
person
=
self
.
makePerson
(
user
=
1
)
person
=
self
.
makePerson
(
self
.
project
,
user
=
1
)
instance_tree
=
self
.
portal
\
.
instance_tree_module
.
template_instance_tree
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
...
...
@@ -635,7 +1314,7 @@ class TestSlapOSInstanceTree_createSupportRequestEvent(SlapOSTestCaseMixin):
class
TestSlapOSHasError
(
SlapOSTestCaseMixin
):
def
_
makeSoftwareRelease
(
self
,
software_release_url
=
None
):
def
makeSoftwareRelease
(
self
,
software_release_url
=
None
):
software_release
=
self
.
portal
.
software_release_module
\
.
template_software_release
.
Base_createCloneDocument
(
batch_mode
=
1
)
...
...
@@ -714,7 +1393,7 @@ class TestSlapOSHasError(SlapOSTestCaseMixin):
self
.
generateNewSoftwareReleaseUrl
())
instance
=
instance_tree
.
getSuccessorValue
()
self
.
_makeComputeNode
()
self
.
_makeComputeNode
(
self
.
project
)
self
.
_makeComputePartitionList
()
instance
.
setErrorStatus
(
""
)
...
...
@@ -729,8 +1408,8 @@ class TestSlapOSHasError(SlapOSTestCaseMixin):
self
.
assertEqual
(
instance
.
SoftwareInstance_hasReportedError
(),
None
)
def
test_SoftwareInstallation_hasReportedError
(
self
):
software_release
=
self
.
_
makeSoftwareRelease
()
self
.
_makeComputeNode
()
software_release
=
self
.
makeSoftwareRelease
()
self
.
_makeComputeNode
(
self
.
project
)
installation
=
self
.
_makeSoftwareInstallation
(
software_release
.
getUrlString
()
)
...
...
@@ -776,7 +1455,7 @@ class TestSlapOSHasError(SlapOSTestCaseMixin):
self
.
assertEqual
(
instance
.
getCreationDate
(),
date
-
2
)
self
.
_makeComputeNode
()
self
.
_makeComputeNode
(
self
.
project
)
self
.
_makeComputePartitionList
()
instance
.
setAggregateValue
(
self
.
compute_node
.
partition1
)
...
...
@@ -832,7 +1511,7 @@ class TestSlapOSHasError(SlapOSTestCaseMixin):
self
.
assertEqual
(
instance
.
getCreationDate
(),
date
-
2
)
self
.
_makeComputeNode
()
self
.
_makeComputeNode
(
self
.
project
)
self
.
_makeComputePartitionList
()
instance
.
setAggregateValue
(
self
.
compute_node
.
partition1
)
...
...
@@ -881,7 +1560,7 @@ class TestSlapOSHasError(SlapOSTestCaseMixin):
self
.
assertEqual
(
instance
.
getCreationDate
(),
date
-
2
)
self
.
_makeComputeNode
()
self
.
_makeComputeNode
(
self
.
project
)
self
.
_makeComputePartitionList
()
instance
.
setAggregateValue
(
self
.
compute_node
.
partition1
)
...
...
@@ -928,7 +1607,7 @@ class TestSlapOSHasError(SlapOSTestCaseMixin):
instance
=
instance_tree
.
getSuccessorValue
()
self
.
_makeComputeNode
()
self
.
_makeComputeNode
(
self
.
project
)
self
.
_makeComputePartitionList
()
instance
.
setAggregateValue
(
self
.
compute_node
.
partition1
)
...
...
@@ -943,10 +1622,11 @@ class TestCRMPropertySheetConstraint(SlapOSTestCaseMixin):
def
afterSetUp
(
self
):
SlapOSTestCaseMixin
.
afterSetUp
(
self
)
portal
=
self
.
getPortalObject
()
self
.
project
=
self
.
addProject
()
self
.
ticket_trade_condition
=
portal
.
sale_trade_condition_module
.
slapos_ticket_trade_condition
person_user
=
self
.
makePerson
()
person_user
=
self
.
makePerson
(
self
.
project
)
self
.
tic
()
# Login as new user
...
...
@@ -1012,7 +1692,7 @@ class TestCRMPropertySheetConstraint(SlapOSTestCaseMixin):
self
.
assertFalse
(
event
.
checkConsistency
())
self
.
assertFalse
(
self
.
support_request
.
checkConsistency
())
person_user
=
self
.
makePerson
()
person_user
=
self
.
makePerson
(
self
.
project
)
self
.
tic
()
event
.
setSource
(
person_user
.
getRelativeUrl
())
...
...
@@ -1084,8 +1764,8 @@ class TestSupportRequestUpdateMonitoringState(SlapOSTestCaseMixin):
support_request
.
SupportRequest_updateMonitoringDestroyRequestedState
())
support_request
.
setAggregateValue
(
self
.
_makeComputeNode
(
owner
=
self
.
makePerson
(
user
=
0
))[
0
])
support_request
.
setDestinationDecisionValue
(
self
.
makePerson
(
user
=
0
))
self
.
_makeComputeNode
(
self
.
project
)[
0
])
#,
owner=self.makePerson(user=0))[0])
support_request
.
setDestinationDecisionValue
(
self
.
makePerson
(
self
.
project
,
user
=
0
))
self
.
assertEqual
(
None
,
support_request
.
SupportRequest_updateMonitoringDestroyRequestedState
())
...
...
@@ -1117,7 +1797,7 @@ class TestSlapOSFolder_getTicketFeedUrl(TestCRMSkinsMixin):
def
_test
(
self
,
module
):
self
.
assertRaises
(
ValueError
,
module
.
Folder_getTicketFeedUrl
)
person
=
self
.
makePerson
(
user
=
1
)
person
=
self
.
makePerson
(
self
.
project
,
user
=
1
)
self
.
tic
()
self
.
login
(
person
.
getUserId
())
...
...
@@ -1145,7 +1825,7 @@ class TestSlapOSFolder_getTicketFeedUrl(TestCRMSkinsMixin):
class
TestSlapOSPerson_getSlapOSPendingTicket
(
TestCRMSkinsMixin
):
def
test_getSlapOSPendingTicket_support_request
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
,
destination_decision
=
person
.
getRelativeUrl
())
...
...
@@ -1181,7 +1861,7 @@ class TestSlapOSPerson_getSlapOSPendingTicket(TestCRMSkinsMixin):
self
.
assertEqual
(
len
(
pending_ticket_list
),
0
)
def
test_getSlapOSPendingTicket_support_request_cancelled
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
ticket
=
self
.
portal
.
support_request_module
.
newContent
(
\
title
=
"Test Support Request %s"
%
self
.
new_id
,
destination_decision
=
person
.
getRelativeUrl
())
...
...
@@ -1215,7 +1895,7 @@ class TestSlapOSPerson_getSlapOSPendingTicket(TestCRMSkinsMixin):
ticket
.
immediateReindexObject
()
return
ticket
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
ticket
=
newUpgradeDecision
()
ticket
.
setDestinationDecisionValue
(
person
)
...
...
@@ -1268,7 +1948,7 @@ class TestSlapOSPerson_getSlapOSPendingTicket(TestCRMSkinsMixin):
ticket
.
immediateReindexObject
()
return
ticket
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
ticket
=
newUpgradeDecision
()
ticket
.
setDestinationDecisionValue
(
person
)
...
...
@@ -1304,7 +1984,7 @@ class TestSlapOSPerson_getSlapOSPendingTicketMessageTemplate(TestCRMSkinsMixin):
'return None'
)
@
simulate
(
'Person_getSlapOSPendingTicket'
,
'*args, **kwargs'
,
'return range(99)'
)
def
test_getSlapOSPendingTicketMessageTemplate
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
# Test without notification message
title
,
message
=
person
.
Person_getSlapOSPendingTicketMessageTemplate
()
self
.
assertEqual
(
""" You have 99 pending tickets """
,
title
)
...
...
@@ -1328,7 +2008,7 @@ class TestSlapOSPerson_getSlapOSPendingTicketMessageTemplate(TestCRMSkinsMixin):
'return context.restrictedTraverse('
\
'context.REQUEST["test_getSlapOSPendingTicketMessageTemplate"])'
)
def
test_getSlapOSPendingTicketMessageTemplate_with_notification_message
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
self
.
portal
.
REQUEST
[
'test_getSlapOSPendingTicketMessageTemplate'
]
=
\
self
.
_makeNotificationMessage
()
...
...
@@ -1344,7 +2024,7 @@ class TestSlapOSPerson_sendPendingTicketReminder(TestCRMSkinsMixin):
@
simulate
(
'Person_getSlapOSPendingTicket'
,
'*args, **kwargs'
,
'return []'
)
@
simulate
(
'Person_sendSlapOSPendingTicketNotification'
,
'*args, **kwargs'
,
'assert False'
)
def
test_sendPendingTicketReminder
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
# Script Person_sendSlapOSPendingTicketNotification not called
person
.
Person_sendPendingTicketReminder
()
...
...
@@ -1352,7 +2032,7 @@ class TestSlapOSPerson_sendPendingTicketReminder(TestCRMSkinsMixin):
@
simulate
(
'Person_sendSlapOSPendingTicketNotification'
,
'*args, **kwargs'
,
'context.REQUEST.set("test_getSlapOSPendingTicketMessageTemplate", "called")'
)
def
test_sendPendingTicketReminder_positive_amount
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
person
.
Person_sendPendingTicketReminder
()
self
.
assertEqual
(
self
.
portal
.
REQUEST
[
"test_getSlapOSPendingTicketMessageTemplate"
],
...
...
@@ -1361,7 +2041,7 @@ class TestSlapOSPerson_sendPendingTicketReminder(TestCRMSkinsMixin):
class
TestSlapOSPerson_sendSlapOSPendingTicketNotification
(
TestCRMSkinsMixin
):
def
test_sendSlapOSPendingTicketNotification
(
self
):
person
=
self
.
makePerson
()
person
=
self
.
makePerson
(
self
.
project
)
event
=
person
.
Person_sendSlapOSPendingTicketNotification
(
"TEST TITLE"
,
"TEST CONTENT"
,
...
...
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