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
Labels
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Rafael Monnerat
slapos.core
Commits
c477c47e
Commit
c477c47e
authored
Jul 25, 2018
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_accounting: Remove tests from removed code.
parent
8a31bd2d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
752 deletions
+10
-752
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingAlarm.py
.../portal_components/test.erp5.testSlapOSAccountingAlarm.py
+0
-606
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingAlarm.xml
...portal_components/test.erp5.testSlapOSAccountingAlarm.xml
+10
-16
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingInteractionWorkflow.py
...ents/test.erp5.testSlapOSAccountingInteractionWorkflow.py
+0
-130
No files found.
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingAlarm.py
View file @
c477c47e
...
@@ -83,612 +83,6 @@ if context.getTitle() == 'Not visited by %s':
...
@@ -83,612 +83,6 @@ if context.getTitle() == 'Not visited by %s':
return
wrapped
return
wrapped
return
wrapper
return
wrapper
class
TestInstanceInvoicingAlarm
(
SlapOSTestCaseMixin
):
@
withAbort
def
test_noSaleOrderPackingList_newSoftwareInstance
(
self
):
"""
Be sure no delivery is created synchronously (break old code behaviour)
"""
self
.
software_instance_request_kw
=
dict
(
software_release
=
self
.
generateNewSoftwareReleaseUrl
(),
software_type
=
self
.
generateNewSoftwareType
(),
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
False
,
)
instance
=
self
.
portal
.
software_instance_module
.
template_software_instance
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
instance
.
edit
(
title
=
"TESTSI-%s"
%
self
.
generateNewId
())
instance
.
requestStart
(
**
self
.
software_instance_request_kw
)
self
.
assertEqual
(
None
,
instance
.
getCausalityValue
())
@
withAbort
def
test_noSaleOrderPackingList_newSlaveInstance
(
self
):
"""
Be sure no delivery is created synchronously (break old code behaviour)
"""
self
.
slave_instance_request_kw
=
dict
(
software_release
=
self
.
generateNewSoftwareReleaseUrl
(),
software_type
=
self
.
generateNewSoftwareType
(),
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
True
,
)
instance
=
self
.
portal
.
software_instance_module
.
template_slave_instance
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
instance
.
edit
(
title
=
"TESTSI-%s"
%
self
.
generateNewId
())
instance
.
requestStart
(
**
self
.
slave_instance_request_kw
)
self
.
tic
()
self
.
assertEqual
(
None
,
instance
.
getCausalityValue
())
@
simulateByEditWorkflowMark
(
'Instance_solveInvoicingGeneration'
)
def
test_alarm_findSoftwareInstance
(
self
):
new_id
=
self
.
generateNewId
()
instance
=
self
.
portal
.
software_instance_module
.
newContent
(
portal_type
=
'Software Instance'
,
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
ssl_certificate
=
"foo"
,
ssl_key
=
"bar"
,
)
self
.
tic
()
self
.
portal
.
portal_alarms
\
.
slapos_instance_invoicing
\
.
activeSense
()
self
.
tic
()
self
.
assertEqual
(
'Visited by Instance_solveInvoicingGeneration'
,
instance
.
workflow_history
[
'edit_workflow'
][
-
1
][
'comment'
])
@
simulateByEditWorkflowMark
(
'Instance_solveInvoicingGeneration'
)
def
test_alarm_findSlaveInstance
(
self
):
new_id
=
self
.
generateNewId
()
instance
=
self
.
portal
.
software_instance_module
.
newContent
(
portal_type
=
'Slave Instance'
,
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
)
self
.
tic
()
self
.
portal
.
portal_alarms
\
.
slapos_instance_invoicing
\
.
activeSense
()
self
.
tic
()
self
.
assertEqual
(
'Visited by Instance_solveInvoicingGeneration'
,
instance
.
workflow_history
[
'edit_workflow'
][
-
1
][
'comment'
])
@
withAbort
def
test_solved_instance
(
self
):
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
)
request_time
=
DateTime
(
'2012/01/01'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Simulated request instance'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroyed'
,
'time'
:
request_time
,
'action'
:
'request_instance'
})
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'solved'
)
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertEqual
(
None
,
instance
.
getCausalityValue
())
@
withAbort
def
test_instance_in_draft_state
(
self
):
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Stay in draft'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'draft'
,
'time'
:
DateTime
(),
'action'
:
'foo_transition'
})
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertEqual
(
None
,
instance
.
getCausalityValue
())
@
withAbort
def
test_instance_in_unknown_state
(
self
):
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Stay in unknown state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'unknown_state'
,
'time'
:
DateTime
(),
'action'
:
'foo_transition'
})
self
.
assertRaises
(
AssertionError
,
instance
.
Instance_solveInvoicingGeneration
)
@
withAbort
def
test_instance_in_early_destroyed_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
start_date
=
instance
.
workflow_history
\
[
'instance_slap_interface_workflow'
][
0
][
'time'
]
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in destroyed state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
2
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
_
,
destroy_line
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
2
)
self
.
check_instance_movement
(
setup_line
,
instance
,
subscription
,
1
)
self
.
check_instance_movement
(
destroy_line
,
instance
,
subscription
,
1
)
def
check_instance_delivery
(
self
,
delivery
,
start_date
,
stop_date
,
person
,
line_count
):
packing_list_line
=
delivery
.
contentValues
(
portal_type
=
'Sale Packing List Line'
)
self
.
assertEqual
(
len
(
packing_list_line
),
line_count
)
self
.
assertEqual
(
delivery
.
getDestinationValue
(),
person
)
self
.
assertEqual
(
delivery
.
getDestinationDecisionValue
(),
person
)
self
.
assertEqual
(
delivery
.
getSpecialise
(),
'sale_trade_condition_module'
'/slapos_consumption_trade_condition'
)
self
.
assertEqual
(
delivery
.
getStopDate
(),
stop_date
)
self
.
assertEqual
(
delivery
.
getStartDate
(),
start_date
)
self
.
assertEqual
(
delivery
.
getSimulationState
(),
'delivered'
)
self
.
assertEqual
(
delivery
.
getCausalityState
(),
'building'
)
# Hardcoded, but, no idea how to not make it...
setup_line
=
([
None
]
+
[
x
for
x
in
packing_list_line
\
if
x
.
getResource
()
==
'service_module/slapos_instance_setup'
])[
-
1
]
destroy_line
=
([
None
]
+
[
x
for
x
in
packing_list_line
\
if
x
.
getResource
()
==
'service_module/slapos_instance_cleanup'
])[
-
1
]
update_line
=
([
None
]
+
[
x
for
x
in
packing_list_line
\
if
x
.
getResource
()
==
'service_module/slapos_instance_update'
])[
-
1
]
return
setup_line
,
update_line
,
destroy_line
def
check_instance_movement
(
self
,
movement
,
instance
,
subscription
,
quantity
):
self
.
assertEqual
(
movement
.
getQuantity
(),
quantity
)
self
.
assertSameSet
(
movement
.
getAggregateValueList
(),
[
instance
,
subscription
])
self
.
assertEqual
(
len
(
movement
.
contentValues
()),
0
)
@
withAbort
def
test_instance_create_non_destroyed_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
start_date
=
instance
.
workflow_history
\
[
'instance_slap_interface_workflow'
][
0
][
'time'
]
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in start state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'start_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
2
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
update_line
,
_
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
1
)
self
.
check_instance_movement
(
setup_line
,
instance
,
subscription
,
1
)
@
withAbort
def
test_instance_create_non_destroyed_with_update_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
start_date
=
instance
.
workflow_history
\
[
'instance_slap_interface_workflow'
][
0
][
'time'
]
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
1
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
2
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in start state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'start_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
4
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
update_line
,
_
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
2
)
self
.
check_instance_movement
(
setup_line
,
instance
,
subscription
,
1
)
self
.
check_instance_movement
(
update_line
,
instance
,
subscription
,
2
)
@
withAbort
def
test_instance_create_destroyed_with_update_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
start_date
=
instance
.
workflow_history
\
[
'instance_slap_interface_workflow'
][
0
][
'time'
]
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
1
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
2
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in destroy state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
4
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
update_line
,
destroy_line
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
3
)
self
.
check_instance_movement
(
setup_line
,
instance
,
subscription
,
1
)
self
.
check_instance_movement
(
update_line
,
instance
,
subscription
,
1
)
self
.
check_instance_movement
(
destroy_line
,
instance
,
subscription
,
1
)
@
withAbort
def
test_instance_update_non_destroyed_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
previous_delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
invoicing_synchronization_pointer
=
2
,
causality_value
=
previous_delivery
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
1
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
2
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in start state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'start_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
start_date
=
stop_date
-
1
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
4
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
_
,
update_line
,
destroy_line
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
1
)
self
.
check_instance_movement
(
update_line
,
instance
,
subscription
,
2
)
@
withAbort
def
test_instance_update_destroyed_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
previous_delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
invoicing_synchronization_pointer
=
2
,
causality_value
=
previous_delivery
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
1
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'foo_state'
,
'time'
:
stop_date
-
2
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in start state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
start_date
=
stop_date
-
1
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
4
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
update_line
,
destroy_line
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
2
)
self
.
check_instance_movement
(
update_line
,
instance
,
subscription
,
1
)
self
.
check_instance_movement
(
destroy_line
,
instance
,
subscription
,
1
)
@
withAbort
def
test_instance_update_already_destroyed
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
previous_delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
invoicing_synchronization_pointer
=
2
,
causality_value
=
previous_delivery
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
-
1
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Update'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
-
2
,
'action'
:
'foo_transition'
})
instance
.
workflow_history
[
'instance_slap_interface_workflow'
].
append
({
'comment'
:
'Directly in start state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
})
start_date
=
stop_date
-
1
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
4
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
update_line
,
_
=
\
self
.
check_instance_delivery
(
delivery
,
start_date
,
stop_date
,
person
,
1
)
self
.
check_instance_movement
(
update_line
,
instance
,
subscription
,
2
)
@
withAbort
def
test_instance_in_only_destroyed_state
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
=
self
.
portal
.
hosting_subscription_module
\
.
template_hosting_subscription
.
Base_createCloneDocument
(
batch_mode
=
1
)
subscription
.
edit
(
reference
=
'TESTHS-%s'
%
self
.
generateNewId
(),
destination_section_value
=
person
)
instance
=
self
.
portal
.
software_instance_module
\
.
template_slave_instance
.
Base_createCloneDocument
(
batch_mode
=
1
)
new_id
=
self
.
generateNewId
()
instance
.
edit
(
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
specialise_value
=
subscription
,
)
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
instance
,
'diverged'
)
stop_date
=
DateTime
(
'2222/11/15'
)
instance
.
workflow_history
[
'instance_slap_interface_workflow'
]
=
[{
'comment'
:
'Directly in destroyed state'
,
'error_message'
:
''
,
'actor'
:
'ERP5TypeTestCase'
,
'slap_state'
:
'destroy_requested'
,
'time'
:
stop_date
,
'action'
:
'foo_transition'
}]
instance
.
Instance_solveInvoicingGeneration
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
self
.
assertNotEqual
(
None
,
instance
.
getCausalityValue
())
self
.
assertEqual
(
1
,
instance
.
getInvoicingSynchronizationPointer
())
delivery
=
instance
.
getCausalityValue
()
setup_line
,
update_line
,
destroy_line
=
\
self
.
check_instance_delivery
(
delivery
,
stop_date
,
stop_date
,
person
,
1
)
self
.
check_instance_movement
(
update_line
,
instance
,
subscription
,
1
)
class
TestOpenSaleOrderAlarm
(
SlapOSTestCaseMixin
):
class
TestOpenSaleOrderAlarm
(
SlapOSTestCaseMixin
):
def
test_noOSO_newPerson
(
self
):
def
test_noOSO_newPerson
(
self
):
person
=
self
.
portal
.
person_module
.
template_member
\
person
=
self
.
portal
.
person_module
.
template_member
\
...
...
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingAlarm.xml
View file @
c477c47e
...
@@ -47,22 +47,16 @@
...
@@ -47,22 +47,16 @@
<value>
<value>
<tuple>
<tuple>
<string>
W: 30, 10: Use of eval (eval-used)
</string>
<string>
W: 30, 10: Use of eval (eval-used)
</string>
<string>
W:350, 16: Unused variable \'update_line\' (unused-variable)
</string>
<string>
W:758, 20: Use of eval (eval-used)
</string>
<string>
W:528, 20: Unused variable \'destroy_line\' (unused-variable)
</string>
<string>
W:759, 23: Use of eval (eval-used)
</string>
<string>
W:588, 4: Unused variable \'setup_line\' (unused-variable)
</string>
<string>
W:780, 20: Use of eval (eval-used)
</string>
<string>
W:649, 4: Unused variable \'setup_line\' (unused-variable)
</string>
<string>
W:781, 23: Use of eval (eval-used)
</string>
<string>
W:688, 29: Unused variable \'destroy_line\' (unused-variable)
</string>
<string>
W:846, 20: Use of eval (eval-used)
</string>
<string>
W:688, 4: Unused variable \'setup_line\' (unused-variable)
</string>
<string>
W:847, 23: Use of eval (eval-used)
</string>
<string>
W:1364, 20: Use of eval (eval-used)
</string>
<string>
W:856, 20: Use of eval (eval-used)
</string>
<string>
W:1365, 23: Use of eval (eval-used)
</string>
<string>
W:857, 23: Use of eval (eval-used)
</string>
<string>
W:1386, 20: Use of eval (eval-used)
</string>
<string>
W:920, 35: Use of eval (eval-used)
</string>
<string>
W:1387, 23: Use of eval (eval-used)
</string>
<string>
W:921, 31: Use of eval (eval-used)
</string>
<string>
W:1452, 20: Use of eval (eval-used)
</string>
<string>
W:1453, 23: Use of eval (eval-used)
</string>
<string>
W:1462, 20: Use of eval (eval-used)
</string>
<string>
W:1463, 23: Use of eval (eval-used)
</string>
<string>
W:1526, 35: Use of eval (eval-used)
</string>
<string>
W:1527, 31: Use of eval (eval-used)
</string>
</tuple>
</tuple>
</value>
</value>
</item>
</item>
...
...
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingInteractionWorkflow.py
View file @
c477c47e
...
@@ -9,136 +9,6 @@ class TestSlapOSAccountingInteractionWorkflow(SlapOSTestCaseMixin):
...
@@ -9,136 +9,6 @@ class TestSlapOSAccountingInteractionWorkflow(SlapOSTestCaseMixin):
def
beforeTearDown
(
self
):
def
beforeTearDown
(
self
):
transaction
.
abort
()
transaction
.
abort
()
def
test_SlaveInstance_changePromise
(
self
):
new_id
=
self
.
generateNewId
()
instance
=
self
.
portal
.
software_instance_module
.
newContent
(
portal_type
=
'Slave Instance'
,
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
)
instance
.
validate
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
request_kw
=
dict
(
software_release
=
'http://example.org'
,
software_type
=
'http://example.org'
,
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
True
,
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
requestStop
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
requestStart
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
bang
(
comment
=
'Test bang interaction'
,
bang_tree
=
False
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
requestDestroy
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
def
test_SlaveInstance_changePromiseInDivergeState
(
self
):
new_id
=
self
.
generateNewId
()
instance
=
self
.
portal
.
software_instance_module
.
newContent
(
portal_type
=
'Slave Instance'
,
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
)
instance
.
validate
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
request_kw
=
dict
(
software_release
=
'http://example.org'
,
software_type
=
'http://example.org'
,
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
True
,
)
instance
.
requestStop
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
def
test_SoftwareInstance_changePromise
(
self
):
new_id
=
self
.
generateNewId
()
instance
=
self
.
portal
.
software_instance_module
.
newContent
(
portal_type
=
'Software Instance'
,
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
ssl_certificate
=
"foo"
,
ssl_key
=
"bar"
,
)
instance
.
validate
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
request_kw
=
dict
(
software_release
=
'http://example.org'
,
software_type
=
'http://example.org'
,
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
False
,
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
requestStop
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
requestStart
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
bang
(
comment
=
'Test bang interaction'
,
bang_tree
=
False
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
instance
.
converge
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'solved'
)
instance
.
requestDestroy
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
def
test_SoftwareInstance_changePromiseInDivergedState
(
self
):
new_id
=
self
.
generateNewId
()
instance
=
self
.
portal
.
software_instance_module
.
newContent
(
portal_type
=
'Software Instance'
,
title
=
"Instance %s"
%
new_id
,
reference
=
"TESTINST-%s"
%
new_id
,
destination_reference
=
"TESTINST-%s"
%
new_id
,
ssl_certificate
=
"foo"
,
ssl_key
=
"bar"
,
)
instance
.
validate
()
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
request_kw
=
dict
(
software_release
=
'http://example.org'
,
software_type
=
'http://example.org'
,
instance_xml
=
self
.
generateSafeXml
(),
sla_xml
=
self
.
generateSafeXml
(),
shared
=
False
,
)
instance
.
requestStop
(
**
request_kw
)
self
.
assertEqual
(
instance
.
getCausalityState
(),
'diverged'
)
def
_simulateHostingSubscription_calculateSubscriptionStartDate
(
self
,
date
):
def
_simulateHostingSubscription_calculateSubscriptionStartDate
(
self
,
date
):
script_name
=
'HostingSubscription_calculateSubscriptionStartDate'
script_name
=
'HostingSubscription_calculateSubscriptionStartDate'
if
script_name
in
self
.
portal
.
portal_skins
.
custom
.
objectIds
():
if
script_name
in
self
.
portal
.
portal_skins
.
custom
.
objectIds
():
...
...
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