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
ccbf6e16
Commit
ccbf6e16
authored
Mar 23, 2024
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
Improve code for stable assertions
See merge request
nexedi/slapos.core!615
parents
90f756ea
926841f6
Changes
25
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
508 additions
and
471 deletions
+508
-471
master/bt5/slapos_abyss/TestTemplateItem/portal_components/test.erp5.testSlapOSAbyss.py
...mplateItem/portal_components/test.erp5.testSlapOSAbyss.py
+100
-100
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingBuilder.py
...ortal_components/test.erp5.testSlapOSAccountingBuilder.py
+2
-2
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingConstraint.py
...al_components/test.erp5.testSlapOSAccountingConstraint.py
+72
-72
master/bt5/slapos_cloud/MixinTemplateItem/portal_components/mixin.erp5.SlapOSCacheMixin.py
...lateItem/portal_components/mixin.erp5.SlapOSCacheMixin.py
+1
-1
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.SlapOSTestCaseDefaultScenarioMixin.py
...omponents/test.erp5.SlapOSTestCaseDefaultScenarioMixin.py
+1
-1
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloud.py
...mplateItem/portal_components/test.erp5.testSlapOSCloud.py
+12
-4
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudAlarm.py
...eItem/portal_components/test.erp5.testSlapOSCloudAlarm.py
+8
-8
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudComputeNodeSlapInterfaceWorkflow.py
...t.erp5.testSlapOSCloudComputeNodeSlapInterfaceWorkflow.py
+21
-21
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudConstraint.py
.../portal_components/test.erp5.testSlapOSCloudConstraint.py
+64
-64
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudInstanceSlapInterfaceWorkflow.py
...test.erp5.testSlapOSCloudInstanceSlapInterfaceWorkflow.py
+2
-2
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudSecurityGroup.py
...rtal_components/test.erp5.testSlapOSCloudSecurityGroup.py
+8
-8
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudShadow.py
...Item/portal_components/test.erp5.testSlapOSCloudShadow.py
+3
-3
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudUpgrader.py
...em/portal_components/test.erp5.testSlapOSCloudUpgrader.py
+22
-22
master/bt5/slapos_jio/TestTemplateItem/portal_components/test.erp5.testSlapOSHalJsonStyleSkins.py
...ortal_components/test.erp5.testSlapOSHalJsonStyleSkins.py
+59
-15
master/bt5/slapos_jio_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalSlapOSRenderJSOSSUIHalStyle.py
...ts/test.erp5.testFunctionalSlapOSRenderJSOSSUIHalStyle.py
+3
-1
master/bt5/slapos_jio_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalSlapOSUIZHHalStyle.py
..._components/test.erp5.testFunctionalSlapOSUIZHHalStyle.py
+3
-1
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm.py
...oySoftwareInstallationWithArchivedSoftwareReleaseAlarm.py
+6
-6
master/bt5/slapos_rss_style/TestTemplateItem/portal_components/test.erp5.testSlapOSRSSStyleSkins.py
...em/portal_components/test.erp5.testSlapOSRSSStyleSkins.py
+1
-1
master/bt5/slapos_slap_tool/TestTemplateItem/portal_components/test.erp5.testSlapOSSlapTool.py
...ateItem/portal_components/test.erp5.testSlapOSSlapTool.py
+71
-95
master/bt5/slapos_slap_tool/TestTemplateItem/portal_components/test.erp5.testSlapOSSlapToolComputeNodeUpdateFromDict.py
.../test.erp5.testSlapOSSlapToolComputeNodeUpdateFromDict.py
+1
-1
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionCondition_renderKVMClusterParameter.py
...equest/SubscriptionCondition_renderKVMClusterParameter.py
+6
-1
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionScenario.py
...al_components/test.erp5.testSlapOSSubscriptionScenario.py
+6
-6
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
...ortal_components/test.erp5.testSlapOSSubscriptionSkins.py
+25
-25
slapos/tests/test_promise.py
slapos/tests/test_promise.py
+9
-9
slapos/tests/test_slapgrid.py
slapos/tests/test_slapgrid.py
+2
-2
No files found.
master/bt5/slapos_abyss/TestTemplateItem/portal_components/test.erp5.testSlapOSAbyss.py
View file @
ccbf6e16
...
...
@@ -246,7 +246,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
new_array
in
new_array_list
:
if
'file_system_image/process_state/converted'
in
new_array
.
getPublicationSectionList
():
break
self
.
assert
True
(
'file_system_image/process_state/converted'
in
new_array
.
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/process_state/converted'
,
new_array
.
getPublicationSectionList
())
self
.
assertEquals
(
len
(
new_array
.
getArray
()),
0
)
...
...
@@ -295,7 +295,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
1
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
wendelin_handle_analysis
.
activeSense
()
self
.
tic
()
...
...
@@ -304,7 +304,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
1
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
0
].
getPublicationSectionList
())
# process data array
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
...
...
@@ -315,7 +315,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
wendelin_handle_analysis
.
activeSense
()
...
...
@@ -324,7 +324,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
...
...
@@ -384,28 +384,28 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/archived"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/archived"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian11'
])
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/archived"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/archived"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
'file_system_image/diff_end/identical'
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/identical'
,
data_array_list
[
1
].
getPublicationSectionList
())
# now ingest different data for node_debian10
request_dict
=
{
...
...
@@ -421,24 +421,24 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
3
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
# This is the new one with different value
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
2
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
4
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
2
].
getPublicationSectionList
())
# array 3 is the result of array 0 and array 2, Note: array 0 is the first access data
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
3
].
getPublicationSectionList
())
predecessor_list
=
[
x
.
getRelativeUrl
()
for
x
in
data_array_list
[
3
].
getPredecessorValueList
(
portal_type
=
'Data Array'
)]
self
.
assert
True
(
data_array_list
[
0
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
True
(
data_array_list
[
2
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
In
(
data_array_list
[
0
].
getRelativeUrl
(),
predecessor_list
)
self
.
assert
In
(
data_array_list
[
2
].
getRelativeUrl
(),
predecessor_list
)
# only have one diff
self
.
assertTrue
(
len
(
data_array_list
[
3
].
getArray
()),
1
)
...
...
@@ -447,17 +447,17 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
# array 3 compare with database_debian10
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
5
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
3
].
getPublicationSectionList
())
# array 4 is result of array 3 and database_debian10
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
4
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
4
].
getPublicationSectionList
())
predecessor_list
=
[
x
.
getRelativeUrl
()
for
x
in
data_array_list
[
4
].
getPredecessorValueList
(
portal_type
=
'Data Array'
)]
last_detabase_debian10
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian10'
])[
-
1
]
self
.
assert
True
(
last_detabase_debian10
.
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
True
(
data_array_list
[
3
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
In
(
last_detabase_debian10
.
getRelativeUrl
(),
predecessor_list
)
self
.
assert
In
(
data_array_list
[
3
].
getRelativeUrl
(),
predecessor_list
)
self
.
assertTrue
(
len
(
data_array_list
[
4
].
getArray
()),
1
)
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
...
...
@@ -465,25 +465,25 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
# array 4 compare with database_debian11
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
6
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
4
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
4
].
getPublicationSectionList
())
# array 5 is result of array 4 and database_debian11
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
5
].
getPublicationSectionList
())
predecessor_list
=
[
x
.
getRelativeUrl
()
for
x
in
data_array_list
[
5
].
getPredecessorValueList
(
portal_type
=
'Data Array'
)]
last_detabase_debian11
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian11'
])[
-
1
]
self
.
assert
True
(
last_detabase_debian11
.
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
True
(
data_array_list
[
4
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
In
(
last_detabase_debian11
.
getRelativeUrl
(),
predecessor_list
)
self
.
assert
In
(
data_array_list
[
4
].
getRelativeUrl
(),
predecessor_list
)
self
.
assertTrue
(
len
(
data_array_list
[
5
].
getArray
()),
1
)
# no more database to compare
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
True
(
'file_system_image/diff_end/different'
in
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/different'
,
data_array_list
[
5
].
getPublicationSectionList
())
def
test_data_processing_for_multi_data_ingestion
(
self
):
# almost same as test_data_processing_for_sequence_data_ingestion
...
...
@@ -516,7 +516,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
1
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
0
].
getPublicationSectionList
())
# process data array
...
...
@@ -524,17 +524,17 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
1
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian11'
])
self
.
assertEqual
(
len
(
data_array_list
),
1
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
1
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
wendelin_handle_analysis
.
activeSense
()
...
...
@@ -543,49 +543,49 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
for
compute_node
in
self
.
compute_node_list
:
data_array_list
=
self
.
_getRelatedDataArrayList
(
compute_node
)
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
-
1
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/archived"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/archived"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian11'
])
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/archived"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/archived"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
2
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
'file_system_image/diff_end/identical'
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/identical'
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
portal
.
ERP5Site_createDataAnalysisList
()
self
.
portal
.
ERP5Site_executeDataAnalysisList
()
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
3
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
# This is the new one with different value
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
2
].
getPublicationSectionList
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
4
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
2
].
getPublicationSectionList
())
# array 3 is the result of array 0 and array 2, Note: array 0 is the first access data
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
3
].
getPublicationSectionList
())
predecessor_list
=
[
x
.
getRelativeUrl
()
for
x
in
data_array_list
[
3
].
getPredecessorValueList
(
portal_type
=
'Data Array'
)]
self
.
assert
True
(
data_array_list
[
0
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
True
(
data_array_list
[
2
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
In
(
data_array_list
[
0
].
getRelativeUrl
(),
predecessor_list
)
self
.
assert
In
(
data_array_list
[
2
].
getRelativeUrl
(),
predecessor_list
)
# only have one diff
self
.
assertTrue
(
len
(
data_array_list
[
3
].
getArray
()),
1
)
...
...
@@ -594,16 +594,16 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
# array 3 compare with database_debian10
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
5
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
3
].
getPublicationSectionList
())
# array 4 is result of array 3 and database_debian10
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
4
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
4
].
getPublicationSectionList
())
predecessor_list
=
[
x
.
getRelativeUrl
()
for
x
in
data_array_list
[
4
].
getPredecessorValueList
(
portal_type
=
'Data Array'
)]
last_detabase_debian10
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian10'
])[
-
1
]
self
.
assert
True
(
last_detabase_debian10
.
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
True
(
data_array_list
[
3
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
In
(
last_detabase_debian10
.
getRelativeUrl
(),
predecessor_list
)
self
.
assert
In
(
data_array_list
[
3
].
getRelativeUrl
(),
predecessor_list
)
self
.
assertTrue
(
len
(
data_array_list
[
4
].
getArray
()),
1
)
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
...
...
@@ -611,25 +611,25 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
# array 4 compare with database_debian11
data_array_list
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])
self
.
assertEqual
(
len
(
data_array_list
),
6
)
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
4
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
0
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
1
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
2
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
3
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
4
].
getPublicationSectionList
())
# array 5 is result of array 4 and database_debian11
self
.
assert
True
(
"file_system_image/process_state/converted"
in
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
data_array_list
[
5
].
getPublicationSectionList
())
predecessor_list
=
[
x
.
getRelativeUrl
()
for
x
in
data_array_list
[
5
].
getPredecessorValueList
(
portal_type
=
'Data Array'
)]
last_detabase_debian11
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'database_debian11'
])[
-
1
]
self
.
assert
True
(
last_detabase_debian11
.
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
True
(
data_array_list
[
4
].
getRelativeUrl
()
in
predecessor_list
)
self
.
assert
In
(
last_detabase_debian11
.
getRelativeUrl
(),
predecessor_list
)
self
.
assert
In
(
data_array_list
[
4
].
getRelativeUrl
(),
predecessor_list
)
self
.
assertTrue
(
len
(
data_array_list
[
5
].
getArray
()),
1
)
# no more database to compare
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
self
.
assert
True
(
"file_system_image/process_state/processed"
in
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
True
(
'file_system_image/diff_end/different'
in
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
data_array_list
[
5
].
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/different'
,
data_array_list
[
5
].
getPublicationSectionList
())
def
test_data_processing_check_copmute_node_state
(
self
):
...
...
@@ -666,8 +666,8 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
last_diff_array
=
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])[
-
1
]
self
.
assert
True
(
modified_array
.
getReference
()
in
last_diff_array
.
getReference
())
self
.
assert
True
(
default_array
.
getReference
()
in
last_diff_array
.
getReference
())
self
.
assert
In
(
modified_array
.
getReference
(),
last_diff_array
.
getReference
())
self
.
assert
In
(
default_array
.
getReference
(),
last_diff_array
.
getReference
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
...
...
@@ -696,7 +696,7 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
self
.
tic
()
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
self
.
assert
True
(
'file_system_image/diff_end/identical'
in
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])[
-
1
].
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/identical'
,
self
.
_getRelatedDataArrayList
(
self
.
portal
.
compute_node_module
[
'node_debian10'
])[
-
1
].
getPublicationSectionList
())
self
.
assertTrue
(
self
.
portal
.
compute_node_module
[
'node_debian10'
].
ComputeNode_hasModifiedFile
()
is
None
)
...
...
@@ -782,42 +782,42 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
diff_server_data_array_list
=
[]
for
i
in
server_data_array_list
:
self
.
assert
True
(
"file_system_image/process_state/processed"
in
i
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/processed"
,
i
.
getPublicationSectionList
())
diff_server_data_array_list
.
append
(
i
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
))
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
self
.
assert
True
(
diff_server_data_array_list
[
0
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
0
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_server_data_array_list
[
0
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
0
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_1
=
diff_server_data_array_list
[
0
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_1
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_1
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_1
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_1
.
getArray
()
==
[
7
,
9
,
10
,
11
,
15
,
17
,
18
]).
all
())
self
.
assert
True
(
diff_server_data_array_list
[
1
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
0
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_server_data_array_list
[
1
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
0
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_2
=
diff_server_data_array_list
[
1
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_2
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_2
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_2
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_2
.
getArray
()
==
[
2
,
8
,
14
]).
all
())
self
.
assert
True
(
diff_server_data_array_list
[
2
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
0
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_server_data_array_list
[
2
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
0
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_3
=
diff_server_data_array_list
[
2
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_3
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_3
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_3
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_3
.
getArray
()
==
[
11
,
17
,
31
]).
all
())
self
.
assert
True
(
diff_server_data_array_list
[
3
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_server_data_array_list
[
3
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_4
=
diff_server_data_array_list
[
3
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_4
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_4
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_4
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_4
.
getArray
()
==
[
2
,
24
]).
all
())
self
.
assert
True
(
diff_server_data_array_list
[
4
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_server_data_array_list
[
4
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_5
=
diff_server_data_array_list
[
4
].
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_5
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_5
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_5
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_5
.
getArray
()
==
[
17
,
28
,
31
]).
all
(),
diff_5
.
getRelativeUrl
())
...
...
@@ -826,30 +826,30 @@ class testSlapOSAbyss(SlapOSTestCaseMixin):
self
.
assert
True
(
'file_system_image/diff_end/different'
in
diff_4
.
getPublicationSectionList
())
self
.
assert
True
(
'file_system_image/diff_end/different'
in
diff_5
.
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/different'
,
diff_4
.
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/different'
,
diff_5
.
getPublicationSectionList
())
self
.
assert
True
(
diff_1
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_1
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_6
=
diff_1
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_6
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_6
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_6
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_6
.
getArray
()
==
[
15
,
17
,
18
]).
all
(),
diff_6
.
getRelativeUrl
())
self
.
assert
True
(
diff_2
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_2
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_7
=
diff_2
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_7
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_7
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_7
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_7
.
getArray
()
==
[
2
]).
all
(),
diff_7
.
getRelativeUrl
())
self
.
assert
True
(
diff_3
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
in
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
self
.
assert
In
(
diff_3
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
),
reference_data_array_list
[
1
].
getPredecessorRelatedValueList
(
portal_type
=
'Data Array'
))
diff_8
=
diff_3
.
getPredecessorRelatedValue
(
portal_type
=
'Data Array'
)
self
.
assertEqual
(
len
(
diff_8
.
getPredecessorValueList
(
portal_type
=
'Data Array'
)),
2
)
self
.
assert
True
(
"file_system_image/process_state/converted"
in
diff_8
.
getPublicationSectionList
())
self
.
assert
In
(
"file_system_image/process_state/converted"
,
diff_8
.
getPublicationSectionList
())
self
.
assertTrue
((
diff_8
.
getArray
()
==
[
17
,
31
]).
all
(),
diff_8
.
getRelativeUrl
())
self
.
portal
.
portal_alarms
.
slapos_process_data_array
.
activeSense
()
self
.
tic
()
for
i
in
[
diff_6
,
diff_7
,
diff_8
]:
self
.
assert
True
(
'file_system_image/diff_end/different'
in
i
.
getPublicationSectionList
())
self
.
assert
In
(
'file_system_image/diff_end/different'
,
i
.
getPublicationSectionList
())
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingBuilder.py
View file @
ccbf6e16
...
...
@@ -1403,7 +1403,7 @@ class TestSlapOSSaleInvoiceTransactionBuilder(TestSlapOSSalePackingListBuilder):
self
.
assertFalse
(
transaction_line
.
hasStopDate
())
self
.
assertEqual
([],
transaction_line
.
contentValues
(
portal_type
=
'Delivery Cell'
))
self
.
assert
True
(
simulation_movement
.
getRelativeUrl
()
in
self
.
assert
In
(
simulation_movement
.
getRelativeUrl
(),
transaction_line
.
getDeliveryRelatedList
(
portal_type
=
'Simulation Movement'
))
...
...
@@ -1741,7 +1741,7 @@ class TestSlapOSSaleInvoiceTransactionTradeModelBuilder(TestSlapOSSalePackingLis
self
.
assertFalse
(
transaction_line
.
hasStopDate
())
self
.
assertEqual
([],
transaction_line
.
contentValues
(
portal_type
=
'Delivery Cell'
))
self
.
assert
True
(
simulation_movement
.
getRelativeUrl
()
in
self
.
assert
In
(
simulation_movement
.
getRelativeUrl
(),
transaction_line
.
getDeliveryRelatedList
(
portal_type
=
'Simulation Movement'
))
...
...
master/bt5/slapos_accounting/TestTemplateItem/portal_components/test.erp5.testSlapOSAccountingConstraint.py
View file @
ccbf6e16
...
...
@@ -30,10 +30,10 @@ class TestInstanceTree(TestSlapOSConstraintMixin):
def
test_periodicity_hour_list_value
(
self
):
value
=
7
message
=
'Attribute periodicity_hour_list value is [7] but should be [0]'
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityHour
(
value
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityHour
(
0
)
...
...
@@ -44,10 +44,10 @@ class TestInstanceTree(TestSlapOSConstraintMixin):
def
test_periodicity_minute_list_value
(
self
):
value
=
7
message
=
'Attribute periodicity_minute_list value is [7] but should be [0]'
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMinute
(
value
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMinute
(
0
)
...
...
@@ -57,36 +57,36 @@ class TestInstanceTree(TestSlapOSConstraintMixin):
def
test_periodicity_month_day_list_lenght
(
self
):
message
=
'There was too many objects in periodicity_month_day_list'
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDayList
([
1
,
2
])
self
.
assert
True
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDayList
([
1
])
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
def
test_periodicity_month_day_value_range
(
self
):
message
=
'The periodicity_month_day value is not between 1 and 28 '
\
'inclusive'
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDay
(
0
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDay
(
29
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDay
(
28
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDay
(
1
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDay
(
15
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
self
.
subscription
.
setPeriodicityMonthDay
(
None
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
self
.
subscription
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
self
.
subscription
))
def
test_periodicity_property
(
self
):
template
=
'Property existence error for property %s, this '
\
...
...
@@ -101,16 +101,16 @@ class TestInstanceTree(TestSlapOSConstraintMixin):
class
TestSaleInvoiceTransaction
(
TestSlapOSConstraintMixin
):
@
withAbort
def
_test_currency
(
self
,
invoice
,
setter
,
message
):
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
currency
=
self
.
portal
.
currency_module
.
newContent
(
portal_type
=
'Currency'
)
setter
(
currency
.
getRelativeUrl
())
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
resource
=
self
.
portal
.
service_module
.
newContent
(
portal_type
=
'Service'
)
setter
(
resource
.
getRelativeUrl
())
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
def
test_price_currency
(
self
):
invoice
=
self
.
portal
.
accounting_module
.
newContent
(
...
...
@@ -133,34 +133,34 @@ class TestSaleInvoiceTransaction(TestSlapOSConstraintMixin):
setter
=
invoice
.
setSpecialise
message
=
"Arity Error for Relation ['specialise'] and Type "
\
"('Sale Trade Condition',), arity is equal to 0 but should be at least 1"
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
sale_condition
=
self
.
portal
.
sale_trade_condition_module
.
newContent
(
portal_type
=
'Sale Trade Condition'
)
setter
(
sale_condition
.
getRelativeUrl
())
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
purchase_condition
=
self
.
portal
.
purchase_trade_condition_module
.
newContent
(
portal_type
=
'Purchase Trade Condition'
)
setter
(
purchase_condition
.
getRelativeUrl
())
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
@
withAbort
def
test_specialise_value
(
self
):
invoice
=
self
.
portal
.
accounting_module
.
newContent
(
portal_type
=
'Sale Invoice Transaction'
)
message
=
"Only SlapOS trade condition is allowed"
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
sale_condition
=
self
.
portal
.
sale_trade_condition_module
.
newContent
(
portal_type
=
'Sale Trade Condition'
)
invoice
.
setSpecialise
(
sale_condition
.
getRelativeUrl
())
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
invoice
.
setSpecialise
(
'sale_trade_condition_module/slapos_aggregated_trade_condition'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
@
withAbort
def
test_total_price_equal_accounting
(
self
):
...
...
@@ -170,13 +170,13 @@ class TestSaleInvoiceTransaction(TestSlapOSConstraintMixin):
price_currency
=
'currency_module/EUR'
)
invoice
.
newContent
(
portal_type
=
'Invoice Line'
,
quantity
=
1.
,
price
=
1.
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
invoice
,
'confirmed'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
invoice
.
receivable
.
setQuantity
(
-
1.0
)
invoice
.
income
.
setQuantity
(
1.0
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
@
withAbort
def
test_trade_model_match_lines
(
self
):
...
...
@@ -188,14 +188,14 @@ class TestSaleInvoiceTransaction(TestSlapOSConstraintMixin):
invoice
.
newContent
(
portal_type
=
'Invoice Line'
,
quantity
=
1.
,
price
=
1.
,
base_contribution
=
'base_amount/invoicing/taxable'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
invoice
,
'confirmed'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
invoice
.
newContent
(
portal_type
=
'Invoice Line'
,
quantity
=
1.
,
price
=
.
196
,
use
=
'trade/tax'
,
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
@
withAbort
def
test_use_trade_sale_total_price_matches_delivery_constraint
(
self
):
...
...
@@ -210,16 +210,16 @@ class TestSaleInvoiceTransaction(TestSlapOSConstraintMixin):
invoice_line
=
invoice
.
newContent
(
portal_type
=
'Invoice Line'
,
quantity
=
2.
,
price
=
1.
,
use
=
'trade/sale'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
invoice
,
'confirmed'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
invoice
.
setSpecialise
(
'sale_trade_condition_module/slapos_aggregated_trade_condition'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
invoice
))
invoice_line
.
setQuantity
(
1.
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
invoice
.
newContent
(
portal_type
=
'Invoice Line'
,
quantity
=
2.
,
price
=
1.
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
invoice
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
invoice
))
class
TestSalePackingList
(
TestSlapOSConstraintMixin
):
@
withAbort
...
...
@@ -228,9 +228,9 @@ class TestSalePackingList(TestSlapOSConstraintMixin):
delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
newContent
(
portal_type
=
'Sale Packing List Line'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
@
withAbort
def
test_reference_not_empty
(
self
):
...
...
@@ -238,29 +238,29 @@ class TestSalePackingList(TestSlapOSConstraintMixin):
delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
setReference
(
None
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
@
withAbort
def
test_price_currency
(
self
):
message
=
'Exactly one Currency shall be selected'
delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
resource
=
self
.
portal
.
service_module
.
newContent
(
portal_type
=
'Service'
)
delivery
.
setPriceCurrency
(
resource
.
getRelativeUrl
())
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
currency_1
=
self
.
portal
.
currency_module
.
newContent
(
portal_type
=
'Currency'
)
currency_2
=
self
.
portal
.
currency_module
.
newContent
(
portal_type
=
'Currency'
)
delivery
.
setPriceCurrencyList
([
currency_1
.
getRelativeUrl
(),
currency_2
.
getRelativeUrl
()])
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
setPriceCurrency
(
currency_1
.
getRelativeUrl
())
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
@
withAbort
def
_test_category_arrow
(
self
,
category
):
...
...
@@ -278,17 +278,17 @@ class TestSalePackingList(TestSlapOSConstraintMixin):
portal_type
=
'Organisation'
).
getRelativeUrl
()
key
=
'%s_list'
%
category
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
resource
]})
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
person
,
organisation
]})
self
.
assert
True
(
message_2
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message_2
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
person
]})
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
False
(
message_2
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message_2
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
organisation
]})
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
False
(
message_2
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message_2
,
self
.
getMessageList
(
delivery
))
def
test_destination
(
self
):
self
.
_test_category_arrow
(
'destination'
)
...
...
@@ -322,23 +322,23 @@ class TestSalePackingList(TestSlapOSConstraintMixin):
portal_type
=
'Sale Trade Condition'
).
getRelativeUrl
()
key
=
'%s_list'
%
category
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
resource
]})
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
stc_1
,
stc_2
]})
self
.
assert
True
(
message_2
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message_2
,
self
.
getMessageList
(
delivery
))
delivery
.
edit
(
**
{
key
:
[
stc_1
]})
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
False
(
message_2
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message_2
,
self
.
getMessageList
(
delivery
))
@
withAbort
def
test_start_date
(
self
):
message
=
'Property start_date must be defined'
delivery
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery
))
delivery
.
setStartDate
(
'2012/01/01'
)
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery
))
class
TestSalePackingListLine
(
TestSlapOSConstraintMixin
):
@
withAbort
...
...
@@ -350,14 +350,14 @@ class TestSalePackingListLine(TestSlapOSConstraintMixin):
delivery_line
=
self
.
portal
.
sale_packing_list_module
.
newContent
(
portal_type
=
'Sale Packing List'
).
newContent
(
portal_type
=
'Sale Packing List Line'
)
self
.
assert
True
(
message_price
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
True
(
message_quantity
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message_price
,
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message_quantity
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
setQuantity
(
1.0
)
self
.
assert
True
(
message_price
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
False
(
message_quantity
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message_price
,
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message_quantity
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
setPrice
(
1.0
)
self
.
assert
False
(
message_price
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
False
(
message_quantity
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message_price
,
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message_quantity
,
self
.
getMessageList
(
delivery_line
))
@
withAbort
def
test_resource_arity
(
self
):
...
...
@@ -377,14 +377,14 @@ class TestSalePackingListLine(TestSlapOSConstraintMixin):
portal_type
=
'Service'
).
getRelativeUrl
()
key
=
'%s_list'
%
category
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
edit
(
**
{
key
:
[
product
]})
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
edit
(
**
{
key
:
[
service_1
,
service_2
]})
self
.
assert
True
(
message_2
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message_2
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
edit
(
**
{
key
:
[
service_1
]})
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
False
(
message_2
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message_2
,
self
.
getMessageList
(
delivery_line
))
class
TestSalePackingListLineConsumption
(
TestSlapOSConstraintMixin
):
@
withAbort
...
...
@@ -397,15 +397,15 @@ class TestSalePackingListLineConsumption(TestSlapOSConstraintMixin):
portal_type
=
'Product'
).
getRelativeUrl
()
key
=
'%s_list'
%
category
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery_line
))
delivery
.
edit
(
specialise
=
'sale_trade_condition_module/slapos_consumption_trade_condition'
)
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
edit
(
**
{
key
:
[
product
]})
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
edit
(
**
{
key
:
[
aggregate_1
,
aggregate_2
]})
self
.
assert
True
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
In
(
message
,
self
.
getMessageList
(
delivery_line
))
delivery_line
.
edit
(
**
{
key
:
[
aggregate_1
]})
self
.
assert
False
(
message
in
self
.
getMessageList
(
delivery_line
))
self
.
assert
NotIn
(
message
,
self
.
getMessageList
(
delivery_line
))
def
test_aggregate_instance_tree
(
self
):
self
.
_test_aggregate
(
"There should be one Instance Tree related"
,
...
...
master/bt5/slapos_cloud/MixinTemplateItem/portal_components/mixin.erp5.SlapOSCacheMixin.py
View file @
ccbf6e16
...
...
@@ -138,7 +138,7 @@ class SlapOSCacheMixin:
'state'
:
state
,
'reference'
:
self
.
getReference
(),
'portal_type'
:
self
.
getPortalType
()
})
}
,
sort_keys
=
True
)
cache_duration
=
self
.
_getAccessStatusCacheFactory
().
cache_duration
self
.
_getAccessStatusPlugin
().
set
(
self
.
_getAccessStatusCacheKey
(),
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.SlapOSTestCaseDefaultScenarioMixin.py
View file @
ccbf6e16
...
...
@@ -125,7 +125,7 @@ class DefaultScenarioMixin(TestSlapOSSecurityMixin):
def
requestComputeNode
(
self
,
title
):
requestXml
=
self
.
portal
.
portal_slap
.
requestComputer
(
title
)
self
.
tic
()
self
.
assert
True
(
'marshal'
in
requestXml
)
self
.
assert
In
(
'marshal'
,
requestXml
)
compute_node
=
xml_marshaller
.
xml_marshaller
.
loads
(
requestXml
)
compute_node_id
=
getattr
(
compute_node
,
'_computer_id'
,
None
)
self
.
assertNotEqual
(
None
,
compute_node_id
)
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloud.py
View file @
ccbf6e16
...
...
@@ -115,7 +115,9 @@ class TestSlapOSCloudSlapOSCacheMixin(
'since'
:
'%s'
%
since
,
'state'
:
""
,
"text"
:
"#access TEST123 %s"
%
doc
.
getUid
()
})
},
sort_keys
=
True
,
)
def
getBaseExpectedDict
(
doc
):
return
_decode_with_json
({
"portal_type"
:
doc
.
getPortalType
(),
...
...
@@ -187,7 +189,9 @@ class TestSlapOSCloudSlapOSCacheMixin(
'since'
:
'%s'
%
since
,
'state'
:
""
,
"text"
:
"#access TEST123 %s"
%
doc
.
getUid
()
})
},
sort_keys
=
True
,
)
def
getBaseExpectedDict
(
doc
):
return
_decode_with_json
({
"portal_type"
:
doc
.
getPortalType
(),
...
...
@@ -267,7 +271,9 @@ class TestSlapOSCloudSlapOSCacheMixin(
'since'
:
'%s'
%
since
,
'state'
:
""
,
"text"
:
"#error TEST123 %s"
%
doc
.
getUid
()
})
},
sort_keys
=
True
,
)
def
getBaseExpectedDict
(
doc
):
return
_decode_with_json
({
"portal_type"
:
doc
.
getPortalType
(),
...
...
@@ -338,7 +344,9 @@ class TestSlapOSCloudSlapOSCacheMixin(
'since'
:
'%s'
%
since
,
'state'
:
""
,
"text"
:
"#building TEST123 %s"
%
doc
.
getUid
()
})
},
sort_keys
=
True
,
)
def
getBaseExpectedDict
(
doc
):
return
_decode_with_json
({
"portal_type"
:
doc
.
getPortalType
(),
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudAlarm.py
View file @
ccbf6e16
...
...
@@ -17,11 +17,11 @@ class TestSlapOSCoreSlapOSAssertInstanceTreeSuccessorAlarm(
self
.
tic
()
# check that no interaction has recreated the instance
self
.
assert
False
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
NotIn
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
self
.
instance_tree
.
InstanceTree_assertSuccessor
()
self
.
assert
True
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
In
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
def
test_InstanceTree_assertSuccessor_stop_requested
(
self
):
...
...
@@ -31,11 +31,11 @@ class TestSlapOSCoreSlapOSAssertInstanceTreeSuccessorAlarm(
self
.
tic
()
# check that no interaction has recreated the instance
self
.
assert
False
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
NotIn
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
self
.
instance_tree
.
InstanceTree_assertSuccessor
()
self
.
assert
True
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
In
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
def
test_InstanceTree_assertSuccessor_destroy_requested
(
self
):
...
...
@@ -45,11 +45,11 @@ class TestSlapOSCoreSlapOSAssertInstanceTreeSuccessorAlarm(
self
.
tic
()
# check that no interaction has recreated the instance
self
.
assert
False
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
NotIn
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
self
.
instance_tree
.
InstanceTree_assertSuccessor
()
self
.
assert
False
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
NotIn
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
def
test_InstanceTree_assertSuccessor_archived
(
self
):
...
...
@@ -58,11 +58,11 @@ class TestSlapOSCoreSlapOSAssertInstanceTreeSuccessorAlarm(
self
.
tic
()
# check that no interaction has recreated the instance
self
.
assert
False
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
NotIn
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
self
.
instance_tree
.
InstanceTree_assertSuccessor
()
self
.
assert
False
(
self
.
instance_tree
.
getTitle
()
in
self
.
assert
NotIn
(
self
.
instance_tree
.
getTitle
(),
self
.
instance_tree
.
getSuccessorTitleList
())
def
test_alarm_renamed
(
self
):
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudComputeNodeSlapInterfaceWorkflow.py
View file @
ccbf6e16
...
...
@@ -59,8 +59,8 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
def
test_generateCertificate_twice
(
self
):
self
.
login
(
self
.
compute_node
.
getUserId
())
...
...
@@ -78,8 +78,8 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertRaises
(
ValueError
,
self
.
compute_node
.
generateCertificate
)
self
.
assertEqual
(
None
,
self
.
portal
.
REQUEST
.
get
(
'compute_node_key'
))
...
...
@@ -271,8 +271,8 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
...
...
@@ -305,8 +305,8 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
...
...
@@ -340,8 +340,8 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
self
.
assertNotEqual
(
None
,
destination_reference
)
...
...
@@ -375,9 +375,9 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
serial
=
'0x%x'
%
int
(
new_certificate_login
.
getDestinationReference
(),
16
)
compute_node_certificate
=
self
.
portal
.
REQUEST
.
get
(
'compute_node_certificate'
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
new_certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
False
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
new_certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
NotIn
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
...
...
@@ -399,8 +399,8 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
self
.
assertNotEqual
(
None
,
destination_reference
)
...
...
@@ -434,9 +434,9 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
serial
=
'0x%x'
%
int
(
new_certificate_login
.
getDestinationReference
(),
16
)
compute_node_certificate
=
self
.
portal
.
REQUEST
.
get
(
'compute_node_certificate'
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
new_certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
False
(
certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
new_certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
NotIn
(
certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
...
...
@@ -471,9 +471,9 @@ class TestSlapOSCoreComputeNodeSlapInterfaceWorkflow(SlapOSTestCaseMixin):
serial
=
'0x%x'
%
int
(
third_certificate_login
.
getDestinationReference
(),
16
)
compute_node_certificate
=
self
.
portal
.
REQUEST
.
get
(
'compute_node_certificate'
)
self
.
assert
True
(
serial
in
compute_node_certificate
)
self
.
assert
True
(
third_certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
False
(
new_certificate_login
.
getReference
()
in
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
In
(
serial
,
compute_node_certificate
)
self
.
assert
In
(
third_certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assert
NotIn
(
new_certificate_login
.
getReference
(),
compute_node_certificate
.
decode
(
'string_escape'
))
self
.
assertNotEqual
(
third_certificate_login
.
getReference
(),
self
.
compute_node
.
getReference
())
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudConstraint.py
View file @
ccbf6e16
...
...
@@ -21,7 +21,7 @@ class TestSlapOSConstraintMixin(SlapOSTestCaseMixin):
current_message_list
=
self
.
getMessageList
(
obj
)
# test the test: no expected message found
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# required
...
...
@@ -33,14 +33,14 @@ class TestSlapOSConstraintMixin(SlapOSTestCaseMixin):
# ...but in case of magic ones (reference->default_reference)
# use setter to set it to None
obj
.
edit
(
**
{
property_id
:
None
})
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
obj
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
obj
))
if
empty_string
:
obj
.
edit
(
**
{
property_id
:
''
})
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
obj
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
obj
))
obj
.
edit
(
**
{
property_id
:
value
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
obj
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
obj
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
obj
))
class
TestSlapOSComputePartitionConstraint
(
TestSlapOSConstraintMixin
):
...
...
@@ -63,14 +63,14 @@ class TestSlapOSComputePartitionConstraint(TestSlapOSConstraintMixin):
# test the test: no expected message found
current_message_list
=
self
.
getMessageList
(
partition
)
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# check case for Software Instance
software_instance
.
setAggregate
(
partition
.
getRelativeUrl
())
software_instance
.
immediateReindexObject
()
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
partition
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
partition
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
partition
,
'busy'
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
partition
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
partition
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
partition
,
'free'
)
software_instance
.
setAggregate
(
None
)
software_instance
.
immediateReindexObject
()
...
...
@@ -78,9 +78,9 @@ class TestSlapOSComputePartitionConstraint(TestSlapOSConstraintMixin):
# check case fo Slave Instance
slave_instance
.
setAggregate
(
partition
.
getRelativeUrl
())
slave_instance
.
immediateReindexObject
()
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
partition
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
partition
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
partition
,
'busy'
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
partition
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
partition
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
partition
,
'free'
)
def
test_busy_partition_has_one_related_instance
(
self
):
...
...
@@ -110,12 +110,12 @@ class TestSlapOSComputePartitionConstraint(TestSlapOSConstraintMixin):
# test the test: no expected message found
current_message_list
=
self
.
getMessageList
(
partition
)
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# check case for Software Instance
software_instance
.
edit
(
aggregate
=
None
)
software_instance
.
immediateReindexObject
()
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
partition
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
partition
))
# check case for many Software Instance
software_instance
.
edit
(
aggregate
=
partition
.
getRelativeUrl
())
...
...
@@ -125,7 +125,7 @@ class TestSlapOSComputePartitionConstraint(TestSlapOSConstraintMixin):
consistency_message_2
=
"Arity Error for Relation ['default_aggregate'] and"
\
" Type ('Software Instance',), arity is equal to 2 but should be "
\
"between 1 and 1"
self
.
assert
True
(
consistency_message_2
in
self
.
getMessageList
(
partition
))
self
.
assert
In
(
consistency_message_2
,
self
.
getMessageList
(
partition
))
# check case for many Slave Instane
software_instance_2
.
edit
(
aggregate
=
None
)
...
...
@@ -134,8 +134,8 @@ class TestSlapOSComputePartitionConstraint(TestSlapOSConstraintMixin):
slave_instance_2
.
edit
(
aggregate
=
partition
.
getRelativeUrl
())
slave_instance
.
immediateReindexObject
()
slave_instance_2
.
immediateReindexObject
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
partition
))
self
.
assert
False
(
consistency_message_2
in
self
.
getMessageList
(
partition
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
partition
))
self
.
assert
NotIn
(
consistency_message_2
,
self
.
getMessageList
(
partition
))
class
TestSlapOSSoftwareInstanceConstraint
(
TestSlapOSConstraintMixin
):
def
afterSetUp
(
self
):
...
...
@@ -153,16 +153,16 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
"found, line 1, column 1 (line 1)"
# test the test: no expected message found
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# connection_xml is optional
self
.
software_instance
.
edit
(
connection_xml
=
None
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
connection_xml
=
''
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
# if available shall be correct XML
...
...
@@ -172,7 +172,7 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
self
.
getMessageList
(
self
.
software_instance
)))
self
.
software_instance
.
edit
(
connection_xml
=
self
.
generateEmptyXml
())
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
def
test_property_existence_source_reference
(
self
):
...
...
@@ -182,10 +182,10 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
'has never been set'
# not required in draft state
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'start_requested'
)
...
...
@@ -208,10 +208,10 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'destroy_requested'
)
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
def
test_property_existence_ssl_key
(
self
):
property_id
=
'ssl_key'
...
...
@@ -224,10 +224,10 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'destroy_requested'
)
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
def
test_successor_related
(
self
):
software_instance2
=
self
.
portal
.
software_instance_module
.
newContent
(
...
...
@@ -243,24 +243,24 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
consistency_message
=
"There is more then one related successor"
# test the test: no expected message found
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# if too many, it shall cry
software_instance2
.
edit
(
successor
=
self
.
software_instance
.
getRelativeUrl
())
software_instance3
.
edit
(
successor
=
self
.
software_instance
.
getRelativeUrl
())
self
.
tic
()
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
# one is good
software_instance2
.
edit
(
successor
=
None
)
self
.
tic
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
# none is good
software_instance3
.
edit
(
successor
=
None
)
self
.
tic
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
def
test_sla_xml
(
self
):
...
...
@@ -271,16 +271,16 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
"found, line 1, column 1 (line 1)"
# test the test: no expected message found
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# sla_xml is optional
self
.
software_instance
.
edit
(
sla_xml
=
None
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
sla_xml
=
''
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
# if available shall be correct XML
...
...
@@ -290,7 +290,7 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
self
.
getMessageList
(
self
.
software_instance
)))
self
.
software_instance
.
edit
(
sla_xml
=
self
.
generateEmptyXml
())
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
def
test_text_content
(
self
):
...
...
@@ -301,16 +301,16 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
"found, line 1, column 1 (line 1)"
# test the test: no expected message found
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# text_content is optional
self
.
software_instance
.
edit
(
text_content
=
None
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
text_content
=
''
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
# if available shall be correct XML
...
...
@@ -320,7 +320,7 @@ class TestSlapOSSoftwareInstanceConstraint(TestSlapOSConstraintMixin):
self
.
getMessageList
(
self
.
software_instance
)))
self
.
software_instance
.
edit
(
text_content
=
self
.
generateEmptyXml
())
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
class
TestSlapOSSlaveInstanceConstraint
(
TestSlapOSConstraintMixin
):
...
...
@@ -338,10 +338,10 @@ class TestSlapOSSlaveInstanceConstraint(TestSlapOSConstraintMixin):
property_id
=
'source_reference'
# not required in draft state
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'start_requested'
)
...
...
@@ -355,10 +355,10 @@ class TestSlapOSSlaveInstanceConstraint(TestSlapOSConstraintMixin):
property_id
=
'text_content'
# not required in draft state
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'start_requested'
)
...
...
@@ -384,24 +384,24 @@ class TestSlapOSSlaveInstanceConstraint(TestSlapOSConstraintMixin):
consistency_message
=
"There is more then one related successor"
# test the test: no expected message found
self
.
assert
False
(
consistency_message
in
current_message_list
)
self
.
assert
NotIn
(
consistency_message
,
current_message_list
)
# if too many, it shall cry
software_instance2
.
edit
(
successor
=
self
.
software_instance
.
getRelativeUrl
())
software_instance3
.
edit
(
successor
=
self
.
software_instance
.
getRelativeUrl
())
self
.
tic
()
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
# one is good
software_instance2
.
edit
(
successor
=
None
)
self
.
tic
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
# none is good
software_instance3
.
edit
(
successor
=
None
)
self
.
tic
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
assertSameSet
(
current_message_list
,
self
.
getMessageList
(
self
.
software_instance
))
class
TestSlapOSInstanceTreeConstraint
(
TestSlapOSConstraintMixin
):
...
...
@@ -429,10 +429,10 @@ class TestSlapOSInstanceTreeConstraint(TestSlapOSConstraintMixin):
'has never been set'
# not required in draft state
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'start_requested'
)
...
...
@@ -446,10 +446,10 @@ class TestSlapOSInstanceTreeConstraint(TestSlapOSConstraintMixin):
'has never been set'
# not required in draft state
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'start_requested'
)
...
...
@@ -463,10 +463,10 @@ class TestSlapOSInstanceTreeConstraint(TestSlapOSConstraintMixin):
'has never been set'
# not required in draft state
self
.
software_instance
.
edit
(
**
{
property_id
:
None
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
software_instance
.
edit
(
**
{
property_id
:
''
})
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
self
.
software_instance
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
self
.
software_instance
))
self
.
portal
.
portal_workflow
.
_jumpToStateFor
(
self
.
software_instance
,
'start_requested'
)
...
...
@@ -478,17 +478,17 @@ class TestSlapOSPersonConstraint(TestSlapOSConstraintMixin):
def
test_role
(
self
):
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
)
consistency_message
=
'One role should be defined'
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
person
))
role_id_list
=
list
(
self
.
portal
.
portal_categories
.
role
.
objectIds
())
self
.
assertTrue
(
len
(
role_id_list
)
>=
2
)
person
.
setRole
(
role_id_list
[
0
])
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
person
))
person
.
setRoleList
(
role_id_list
)
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
person
))
person
.
setRole
(
role_id_list
[
0
])
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
person
))
def
test_subordination_state
(
self
):
organisation
=
self
.
portal
.
organisation_module
.
newContent
(
...
...
@@ -497,21 +497,21 @@ class TestSlapOSPersonConstraint(TestSlapOSConstraintMixin):
subordination
=
organisation
.
getRelativeUrl
())
consistency_message
=
'The Organisation is not validated'
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
person
))
organisation
.
validate
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
person
))
def
test_email
(
self
):
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
)
consistency_message
=
'Person have to contain an Email'
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
person
))
person
.
newContent
(
portal_type
=
'Email'
)
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
person
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
person
))
class
TestSlapOSAssignmentConstraint
(
TestSlapOSConstraintMixin
):
def
test_parent_person_validated
(
self
):
...
...
@@ -520,11 +520,11 @@ class TestSlapOSAssignmentConstraint(TestSlapOSConstraintMixin):
consistency_message
=
'The person document has to be validated to start '
\
'assignment'
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
assignment
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
assignment
))
person
.
validate
()
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
assignment
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
assignment
))
class
TestSlapOSEmailConstraint
(
TestSlapOSConstraintMixin
):
def
test_url_string_not_empty
(
self
):
...
...
@@ -532,20 +532,20 @@ class TestSlapOSEmailConstraint(TestSlapOSConstraintMixin):
).
newContent
(
portal_type
=
'Email'
)
consistency_message
=
'Email must be defined'
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
email
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
email
))
email
.
setUrlString
(
self
.
generateNewId
())
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
email
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
email
))
class
TestSlapOSComputeNodeConstraint
(
TestSlapOSConstraintMixin
):
def
test_title_not_empty
(
self
):
compute_node
=
self
.
portal
.
compute_node_module
.
newContent
(
portal_type
=
'Compute Node'
)
consistency_message
=
'Title must be defined'
self
.
assert
True
(
consistency_message
in
self
.
getMessageList
(
compute_node
))
self
.
assert
In
(
consistency_message
,
self
.
getMessageList
(
compute_node
))
compute_node
.
setTitle
(
self
.
generateNewId
())
self
.
assert
False
(
consistency_message
in
self
.
getMessageList
(
compute_node
))
self
.
assert
NotIn
(
consistency_message
,
self
.
getMessageList
(
compute_node
))
class
TestSlapOSReferenceConstraint
(
TestSlapOSConstraintMixin
):
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudInstanceSlapInterfaceWorkflow.py
View file @
ccbf6e16
...
...
@@ -1337,8 +1337,8 @@ class TestSlapOSCoreInstanceSlapInterfaceWorkflowTransfer(SlapOSTestCaseMixin):
self
.
assertNotEqual
(
certificate_login
.
getReference
(),
None
)
self
.
assertNotEqual
(
certificate_login
.
getDestinationReference
(),
None
)
serial
=
'0x%x'
%
int
(
certificate_login
.
getDestinationReference
(),
16
)
self
.
assert
True
(
serial
in
self
.
software_instance
.
getSslCertificate
())
self
.
assert
True
(
certificate_login
.
getReference
()
in
\
self
.
assert
In
(
serial
,
self
.
software_instance
.
getSslCertificate
())
self
.
assert
In
(
certificate_login
.
getReference
(),
\
self
.
software_instance
.
getSslCertificate
().
decode
(
'string_escape'
))
self
.
assertRaises
(
ValueError
,
self
.
software_instance
.
generateCertificate
)
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudSecurityGroup.py
View file @
ccbf6e16
...
...
@@ -100,7 +100,7 @@ class TestSlapOSComputeNodeSecurity(TestSlapOSSecurityMixin):
self
.
login
(
user_id
)
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-COMPUTER'
],
user
.
getGroups
())
...
...
@@ -136,7 +136,7 @@ class TestSlapOSSoftwareInstanceSecurity(TestSlapOSSecurityMixin):
# instance w/o subscription is loggable and it has some roles
self
.
login
(
user_id
)
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-INSTANCE'
],
user
.
getGroups
())
...
...
@@ -154,7 +154,7 @@ class TestSlapOSSoftwareInstanceSecurity(TestSlapOSSecurityMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
login
(
user_id
)
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-INSTANCE'
,
subscription_reference
],
user
.
getGroups
())
...
...
@@ -196,7 +196,7 @@ class TestSlapOSPersonSecurity(TestSlapOSSecurityMixin):
self
.
login
(
person
.
getUserId
())
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([],
user
.
getGroups
())
...
...
@@ -209,7 +209,7 @@ class TestSlapOSPersonSecurity(TestSlapOSSecurityMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
login
(
person
.
getUserId
())
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'G-COMPANY'
],
user
.
getGroups
())
# add to role category
...
...
@@ -220,7 +220,7 @@ class TestSlapOSPersonSecurity(TestSlapOSSecurityMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
login
(
person
.
getUserId
())
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-MEMBER'
,
'G-COMPANY'
],
user
.
getGroups
())
# add to role for project
...
...
@@ -236,7 +236,7 @@ class TestSlapOSPersonSecurity(TestSlapOSSecurityMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
login
(
person
.
getUserId
())
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-MEMBER'
,
'G-COMPANY'
,
project
.
getReference
()],
user
.
getGroups
())
# add to role for project
...
...
@@ -253,7 +253,7 @@ class TestSlapOSPersonSecurity(TestSlapOSSecurityMixin):
self
.
portal
.
portal_caches
.
clearAllCache
()
self
.
login
(
person
.
getUserId
())
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-MEMBER'
,
'G-COMPANY'
,
organisation
.
getReference
(),
project
.
getReference
()],
user
.
getGroups
())
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudShadow.py
View file @
ccbf6e16
...
...
@@ -54,7 +54,7 @@ class TestSlapOSShadowPerson(TestSlapOSSecurityMixin):
self
.
login
(
shadow_user_id
)
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-SHADOW-PERSON'
,
'SHADOW-%s'
%
user_id
],
user
.
getGroups
())
...
...
@@ -95,7 +95,7 @@ class TestSlapOSShadowComputeNode(TestSlapOSSecurityMixin):
self
.
login
(
shadow_user_id
)
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-SHADOW-COMPUTENODE'
,
'SHADOW-%s'
%
user_id
],
user
.
getGroups
())
...
...
@@ -135,7 +135,7 @@ class TestSlapOSShadowSoftwareInstance(TestSlapOSSecurityMixin):
self
.
login
(
shadow_user_id
)
user
=
getSecurityManager
().
getUser
()
self
.
assert
True
(
'Authenticated'
in
user
.
getRoles
())
self
.
assert
In
(
'Authenticated'
,
user
.
getRoles
())
self
.
assertSameSet
([
'R-SHADOW-SOFTWAREINSTANCE'
,
'SHADOW-%s'
%
user_id
],
user
.
getGroups
())
...
...
master/bt5/slapos_cloud/TestTemplateItem/portal_components/test.erp5.testSlapOSCloudUpgrader.py
View file @
ccbf6e16
...
...
@@ -32,29 +32,29 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
)
# Nothing to migrate
self
.
assert
False
(
migration_message
in
getMessageList
(
instance_nothing_to_migrate
))
self
.
assert
False
(
error_message
in
getMessageList
(
instance_nothing_to_migrate
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
instance_nothing_to_migrate
))
self
.
assert
NotIn
(
error_message
,
getMessageList
(
instance_nothing_to_migrate
))
# Migrate
self
.
assert
True
(
migration_message
in
getMessageList
(
instance_to_migrate
))
self
.
assert
False
(
error_message
in
getMessageList
(
instance_to_migrate
))
self
.
assert
In
(
migration_message
,
getMessageList
(
instance_to_migrate
))
self
.
assert
NotIn
(
error_message
,
getMessageList
(
instance_to_migrate
))
instance_to_migrate
.
fixConsistency
()
self
.
assertEqual
(
None
,
instance_to_migrate
.
getPredecessor
())
self
.
assertEqual
(
instance_nothing_to_migrate
.
getRelativeUrl
(),
instance_to_migrate
.
getSuccessor
())
self
.
assert
False
(
migration_message
in
getMessageList
(
instance_to_migrate
))
self
.
assert
False
(
error_message
in
getMessageList
(
instance_to_migrate
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
instance_to_migrate
))
self
.
assert
NotIn
(
error_message
,
getMessageList
(
instance_to_migrate
))
# Error
self
.
assert
False
(
migration_message
in
getMessageList
(
instance_badly_migrated
))
self
.
assert
True
(
error_message
in
getMessageList
(
instance_badly_migrated
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
instance_badly_migrated
))
self
.
assert
In
(
error_message
,
getMessageList
(
instance_badly_migrated
))
instance_badly_migrated
.
fixConsistency
()
self
.
assertEqual
(
instance_nothing_to_migrate
.
getRelativeUrl
(),
instance_badly_migrated
.
getPredecessor
())
self
.
assertEqual
(
instance_nothing_to_migrate
.
getRelativeUrl
(),
instance_badly_migrated
.
getSuccessor
())
self
.
assert
False
(
migration_message
in
getMessageList
(
instance_badly_migrated
))
self
.
assert
True
(
error_message
in
getMessageList
(
instance_badly_migrated
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
instance_badly_migrated
))
self
.
assert
In
(
error_message
,
getMessageList
(
instance_badly_migrated
))
def
test_upgrade_software_instance_predecessor
(
self
):
return
self
.
check_upgrade_instance_predecessor
(
'Software Instance'
)
...
...
@@ -107,10 +107,10 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
self
.
tic
()
# Nothing to migrate
self
.
assert
False
(
migration_message
in
getMessageList
(
hosting_subscription_nothing_to_migrate
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
hosting_subscription_nothing_to_migrate
))
# To migrate
self
.
assert
True
(
migration_message
in
getMessageList
(
hosting_subscription_to_migrate
))
self
.
assert
In
(
migration_message
,
getMessageList
(
hosting_subscription_to_migrate
))
hosting_subscription_to_migrate
.
fixConsistency
()
self
.
commit
()
...
...
@@ -145,8 +145,8 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
migrated_instance_tree
.
getCreationDate
())
# self.assertEqual(modification_date,
# migrated_instance_tree.getModificationDate())
self
.
assert
False
(
'hosting_subscription_workflow'
in
migrated_instance_tree
.
workflow_history
)
self
.
assert
False
(
migration_message
in
getMessageList
(
migrated_instance_tree
))
self
.
assert
NotIn
(
'hosting_subscription_workflow'
,
migrated_instance_tree
.
workflow_history
)
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
migrated_instance_tree
))
self
.
assertEqual
(
migrated_instance_tree
.
getRelativeUrl
(),
software_instance
.
getAggregate
())
self
.
assertEqual
(
1
,
len
(
self
.
portal
.
portal_catalog
(
uid
=
migrated_instance_tree
.
getUid
())))
...
...
@@ -213,10 +213,10 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
self
.
tic
()
# Nothing to migrate
self
.
assert
False
(
migration_message
in
getMessageList
(
computer_nothing_to_migrate
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
computer_nothing_to_migrate
))
# To migrate
self
.
assert
True
(
migration_message
in
getMessageList
(
computer_to_migrate
))
self
.
assert
In
(
migration_message
,
getMessageList
(
computer_to_migrate
))
computer_to_migrate
.
fixConsistency
()
self
.
commit
()
...
...
@@ -258,9 +258,9 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
migrated_compute_node
.
getCreationDate
())
# self.assertEqual(modification_date,
# migrated_compute_node.getModificationDate())
self
.
assert
False
(
'computer_slap_interface_workflow'
in
migrated_compute_node
.
workflow_history
)
self
.
assert
NotIn
(
'computer_slap_interface_workflow'
,
migrated_compute_node
.
workflow_history
)
self
.
assert
False
(
migration_message
in
getMessageList
(
migrated_compute_node
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
migrated_compute_node
))
self
.
assertEqual
(
migrated_compute_node
.
getRelativeUrl
(),
software_installation
.
getAggregate
())
self
.
assertEqual
(
migrated_computer_partition
.
getRelativeUrl
(),
...
...
@@ -318,10 +318,10 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
self
.
tic
()
# Nothing to migrate
self
.
assert
False
(
migration_message
in
getMessageList
(
computer_nothing_to_migrate
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
computer_nothing_to_migrate
))
# To migrate
self
.
assert
True
(
migration_message
in
getMessageList
(
computer_partition_to_migrate
))
self
.
assert
In
(
migration_message
,
getMessageList
(
computer_partition_to_migrate
))
computer_partition_to_migrate
.
fixConsistency
()
self
.
commit
()
...
...
@@ -344,8 +344,8 @@ class TestSlapOSCloudUpgrader(SlapOSTestCaseMixin):
migrated_computer_partition
.
getCreationDate
())
# self.assertEqual(modification_date,
# migrated_compute_node.getModificationDate())
self
.
assert
False
(
'computer_partition_slap_interface_workflow'
in
migrated_computer_partition
.
workflow_history
)
self
.
assert
NotIn
(
'computer_partition_slap_interface_workflow'
,
migrated_computer_partition
.
workflow_history
)
self
.
assert
False
(
migration_message
in
getMessageList
(
computer_partition_to_migrate
))
self
.
assert
NotIn
(
migration_message
,
getMessageList
(
computer_partition_to_migrate
))
self
.
assertEqual
(
1
,
len
(
self
.
portal
.
portal_catalog
(
uid
=
migrated_computer_partition
.
getUid
())))
master/bt5/slapos_jio/TestTemplateItem/portal_components/test.erp5.testSlapOSHalJsonStyleSkins.py
View file @
ccbf6e16
...
...
@@ -28,6 +28,8 @@ from Products.ERP5Type.Cache import DEFAULT_CACHE_SCOPE
from
DateTime
import
DateTime
import
json
import
transaction
from
six.moves
import
urllib
def
_decode_with_json
(
value
):
# Ensure value is serisalisable as json
...
...
@@ -62,6 +64,18 @@ class TestSlapOSHalJsonStyleMixin(SlapOSTestCaseMixinWithAbort):
return
'https://monitor.app.officejs.com/#/?username=testuser&url=softinst-monitored/public/feeds&password=testpass&page=ojsm_dispatch&query=portal_type%3A%22Instance%20Tree%22%20AND%20title%3A%22Template%20Instance%20Tree%22'
return
''
def
assertMonitorURLEqual
(
self
,
first
,
second
):
first_url_parsed
=
urllib
.
parse
.
urlparse
(
first
)
second_url_parsed
=
urllib
.
parse
.
urlparse
(
second
)
self
.
assertEqual
(
first_url_parsed
.
_replace
(
fragment
=
''
),
second_url_parsed
.
_replace
(
fragment
=
''
))
self
.
assertEqual
(
first_url_parsed
.
fragment
[:
2
],
second_url_parsed
.
fragment
[:
2
])
if
first_url_parsed
.
fragment
:
# in monitoring url, the fragment is /? and the parameters encoded like a query string
self
.
assertEqual
(
first_url_parsed
.
fragment
[:
2
],
'/?'
)
self
.
assertEqual
(
urllib
.
parse
.
parse_qs
(
first_url_parsed
.
fragment
[
2
:]),
urllib
.
parse
.
parse_qs
(
second_url_parsed
.
fragment
[
2
:]))
maxDiff
=
None
def
afterSetUp
(
self
):
SlapOSTestCaseMixinWithAbort
.
afterSetUp
(
self
)
...
...
@@ -182,12 +196,14 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
def
test
(
self
):
instance_tree
=
self
.
_makeInstanceTree
()
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
expected_news_dict
=
{
'instance'
:
[],
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
)
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
_decode_with_json
(
expected_news_dict
))
...
...
@@ -196,11 +212,13 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance_tree
=
self
.
_makeInstanceTree
()
instance_tree
.
setRootSlave
(
1
)
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
expected_news_dict
=
{
'instance'
:
[],
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
),
'is_slave'
:
1
}
self
.
assertEqual
(
news_dict
,
...
...
@@ -210,11 +228,13 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance_tree
=
self
.
_makeInstanceTree
()
instance_tree
.
getSlapState
=
fakeStopRequestedSlapState
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
expected_news_dict
=
{
'instance'
:
[],
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
),
'is_stopped'
:
1
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
...
...
@@ -224,11 +244,13 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance_tree
=
self
.
_makeInstanceTree
()
instance_tree
.
getSlapState
=
fakeDestroyRequestedSlapState
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
expected_news_dict
=
{
'instance'
:
[],
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
),
'is_destroyed'
:
1
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
...
...
@@ -242,17 +264,21 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
self
.
tic
()
self
.
changeSkin
(
'Hal'
)
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
self
.
assertMonitorURLEqual
(
news_dict
[
'instance'
][
0
].
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance
))
expected_news_dict
=
{
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
),
'instance'
:
[{
'created_at'
:
self
.
created_at
,
'no_data'
:
1
,
'portal_type'
:
instance
.
getPortalType
(),
'reference'
:
instance
.
getReference
(),
'since'
:
self
.
created_at
,
'monitor_url'
:
self
.
getMonitorUrl
(
instance
),
'state'
:
''
,
'text'
:
'#error no data found for %s'
%
instance
.
getReference
(),
'user'
:
'SlapOS Master'
}]
...
...
@@ -268,12 +294,14 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
self
.
tic
()
self
.
changeSkin
(
'Hal'
)
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
expected_news_dict
=
{
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'instance'
:
[],
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
)
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
_decode_with_json
(
expected_news_dict
))
...
...
@@ -288,18 +316,25 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
self
.
tic
()
self
.
changeSkin
(
'Hal'
)
news_dict
=
instance_tree
.
InstanceTree_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance_tree
))
self
.
assertMonitorURLEqual
(
news_dict
[
'instance'
][
0
].
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance0
))
self
.
assertMonitorURLEqual
(
news_dict
[
'instance'
][
1
].
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance
))
expected_news_dict
=
{
'portal_type'
:
instance_tree
.
getPortalType
(),
'reference'
:
instance_tree
.
getReference
(),
'title'
:
instance_tree
.
getTitle
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance_tree
),
'instance'
:
[
{
'created_at'
:
self
.
created_at
,
'no_data'
:
1
,
'portal_type'
:
instance0
.
getPortalType
(),
'reference'
:
instance0
.
getReference
(),
'since'
:
self
.
created_at
,
'monitor_url'
:
self
.
getMonitorUrl
(
instance0
),
'state'
:
''
,
'text'
:
'#error no data found for %s'
%
instance0
.
getReference
(),
'user'
:
'SlapOS Master'
},
...
...
@@ -308,7 +343,6 @@ class TestInstanceTree_getNewsDict(TestSlapOSHalJsonStyleMixin):
'portal_type'
:
instance
.
getPortalType
(),
'reference'
:
instance
.
getReference
(),
'since'
:
self
.
created_at
,
'monitor_url'
:
self
.
getMonitorUrl
(
instance
),
'state'
:
''
,
'text'
:
'#error no data found for %s'
%
instance
.
getReference
(),
'user'
:
'SlapOS Master'
}]}
...
...
@@ -325,12 +359,14 @@ class TestSoftwareInstance_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance_tree
.
edit
(
successor_value
=
instance
)
self
.
_logFakeAccess
(
instance
)
news_dict
=
instance
.
SoftwareInstance_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance
))
expected_news_dict
=
{
'created_at'
:
self
.
created_at
,
'no_data_since_15_minutes'
:
0
,
'no_data_since_5_minutes'
:
0
,
'portal_type'
:
instance
.
getPortalType
(),
'reference'
:
instance
.
getReference
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance
),
'since'
:
self
.
created_at
,
'state'
:
'start_requested'
,
'text'
:
'#access OK'
,
...
...
@@ -347,6 +383,9 @@ class TestSoftwareInstance_getNewsDict(TestSlapOSHalJsonStyleMixin):
self
.
changeSkin
(
'Hal'
)
news_dict
=
instance
.
SoftwareInstance_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance
))
expected_news_dict
=
{
'created_at'
:
self
.
created_at
,
'no_data'
:
1
,
'portal_type'
:
instance
.
getPortalType
(),
...
...
@@ -354,7 +393,6 @@ class TestSoftwareInstance_getNewsDict(TestSlapOSHalJsonStyleMixin):
'since'
:
self
.
created_at
,
'state'
:
''
,
'text'
:
'#error no data found for %s'
%
instance
.
getReference
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance
),
'user'
:
'SlapOS Master'
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
...
...
@@ -366,12 +404,14 @@ class TestSoftwareInstance_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance
.
edit
(
specialise_value
=
instance_tree
)
instance_tree
.
edit
(
successor_value
=
instance
)
news_dict
=
instance
.
SoftwareInstance_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
'https://monitor.app.officejs.com/#/?username=testuser&url=softinst-monitored/public/feeds&password=testpass&page=ojsm_dispatch&query=portal_type%3A%22Software%20Instance%22%20AND%20title%3A%22Template%20Slave%20Instance%22%20AND%20specialise_title%3A%22Template%20Instance%20Tree%22'
)
expected_news_dict
=
{
'portal_type'
:
instance
.
getPortalType
(),
'reference'
:
instance
.
getReference
(),
'is_slave'
:
1
,
'text'
:
'#nodata is a slave %s'
%
instance
.
getReference
(),
'monitor_url'
:
'https://monitor.app.officejs.com/#/?username=testuser&url=softinst-monitored/public/feeds&password=testpass&page=ojsm_dispatch&query=portal_type%3A%22Software%20Instance%22%20AND%20title%3A%22Template%20Slave%20Instance%22%20AND%20specialise_title%3A%22Template%20Instance%20Tree%22'
,
'user'
:
'SlapOS Master'
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
_decode_with_json
(
expected_news_dict
))
...
...
@@ -383,12 +423,14 @@ class TestSoftwareInstance_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance_tree
.
edit
(
successor_value
=
instance
)
instance
.
getSlapState
=
fakeStopRequestedSlapState
news_dict
=
instance
.
SoftwareInstance_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance
))
expected_news_dict
=
{
"portal_type"
:
instance
.
getPortalType
(),
"reference"
:
instance
.
getReference
(),
"user"
:
"SlapOS Master"
,
"text"
:
"#nodata is an stopped instance %s"
%
instance
.
getReference
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance
),
"is_stopped"
:
1
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
...
...
@@ -400,12 +442,14 @@ class TestSoftwareInstance_getNewsDict(TestSlapOSHalJsonStyleMixin):
instance
.
edit
(
specialise_value
=
instance_tree
)
instance
.
getSlapState
=
fakeDestroyRequestedSlapState
news_dict
=
instance
.
SoftwareInstance_getNewsDict
()
self
.
assertMonitorURLEqual
(
news_dict
.
pop
(
'monitor_url'
),
self
.
getMonitorUrl
(
instance
))
expected_news_dict
=
{
"portal_type"
:
instance
.
getPortalType
(),
"reference"
:
instance
.
getReference
(),
"user"
:
"SlapOS Master"
,
"text"
:
"#nodata is an destroyed instance %s"
%
instance
.
getReference
(),
'monitor_url'
:
self
.
getMonitorUrl
(
instance
),
"is_destroyed"
:
1
}
self
.
assertEqual
(
_decode_with_json
(
news_dict
),
...
...
master/bt5/slapos_jio_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalSlapOSRenderJSOSSUIHalStyle.py
View file @
ccbf6e16
...
...
@@ -37,7 +37,9 @@ class TestSlapOSRenderJSOSSUIHalStyle(SlapOSTestCaseMixin, ERP5TypeFunctionalTes
ERP5TypeFunctionalTestCase
.
afterSetUp
(
self
)
SlapOSTestCaseMixin
.
afterSetUp
(
self
)
# Ensuring the default available language is "en" for English UI test
self
.
getPortalObject
().
web_site_module
.
renderjs_oss
.
setDefaultAvailableLanguage
(
'en'
)
self
.
portal
.
web_site_module
.
renderjs_oss
.
setDefaultAvailableLanguage
(
'en'
)
# fix consistency to update translation
self
.
portal
.
web_site_module
.
renderjs_oss
.
fixConsistency
()
self
.
tic
()
def
test_suite
():
...
...
master/bt5/slapos_jio_ui_test/TestTemplateItem/portal_components/test.erp5.testFunctionalSlapOSUIZHHalStyle.py
View file @
ccbf6e16
...
...
@@ -37,7 +37,9 @@ class TestSlapOSUIZHHalStyle(SlapOSTestCaseMixin, ERP5TypeFunctionalTestCase):
ERP5TypeFunctionalTestCase
.
afterSetUp
(
self
)
SlapOSTestCaseMixin
.
afterSetUp
(
self
)
# set default available language as "zh" for Chinese UI test
self
.
getPortalObject
().
web_site_module
.
hostingjs
.
setDefaultAvailableLanguage
(
'zh'
)
self
.
portal
.
web_site_module
.
hostingjs
.
setDefaultAvailableLanguage
(
'zh'
)
# fix consistency to update translation
self
.
portal
.
web_site_module
.
hostingjs
.
fixConsistency
()
self
.
tic
()
def
getBusinessTemplateList
(
self
):
...
...
master/bt5/slapos_pdm/TestTemplateItem/portal_components/test.erp5.testSlapOSPDMDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm.py
View file @
ccbf6e16
...
...
@@ -241,11 +241,11 @@ class TestSlapOSDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm(Slap
self
.
tic
()
v
=
'Visited by SoftwareRelease_findAndDestroySoftwareInstallation'
self
.
assert
False
(
v
in
self
.
assert
NotIn
(
v
,
[
q
[
'comment'
]
for
q
in
published_software_release
.
workflow_history
[
'edit_workflow'
]])
self
.
assert
True
(
v
in
self
.
assert
In
(
v
,
[
q
[
'comment'
]
for
q
in
archived_cleaned_software_release
.
workflow_history
[
'edit_workflow'
]])
self
.
assert
True
(
v
in
self
.
assert
In
(
v
,
[
q
[
'comment'
]
for
q
in
archived_software_release
.
workflow_history
[
'edit_workflow'
]])
@
simulateByEditWorkflowMark
(
'SoftwareInstallation_destroyWithSoftwareReleaseArchived'
)
...
...
@@ -304,9 +304,9 @@ class TestSlapOSDestroySoftwareInstallationWithArchivedSoftwareReleaseAlarm(Slap
self
.
tic
()
v
=
'Visited by SoftwareInstallation_destroyWithSoftwareReleaseArchived'
self
.
assert
True
(
v
in
self
.
assert
In
(
v
,
[
q
[
'comment'
]
for
q
in
software_installation_validated_request_start
.
workflow_history
[
'edit_workflow'
]])
self
.
assert
False
(
v
in
self
.
assert
NotIn
(
v
,
[
q
[
'comment'
]
for
q
in
software_installation_validated_request_destroy
.
workflow_history
[
'edit_workflow'
]])
self
.
assert
False
(
v
in
self
.
assert
NotIn
(
v
,
[
q
[
'comment'
]
for
q
in
software_installation_invalidated_request_destroy
.
workflow_history
[
'edit_workflow'
]])
\ No newline at end of file
master/bt5/slapos_rss_style/TestTemplateItem/portal_components/test.erp5.testSlapOSRSSStyleSkins.py
View file @
ccbf6e16
...
...
@@ -127,7 +127,7 @@ class TestSlapOSEvent_getRSSTextContent(TestRSSSyleSkinsMixin):
self
.
portal
.
portal_skins
.
changeSkin
(
'RSS'
)
text_content
=
event
.
Event_getRSSTextContent
()
self
.
assert
True
(
event
.
getTextContent
()
in
text_content
)
self
.
assert
In
(
event
.
getTextContent
(),
text_content
)
self
.
assertTrue
(
"Sender: "
in
text_content
,
"Sender: not in %s"
%
text_content
)
self
.
assertTrue
(
"Recipient: "
in
text_content
,
"Recipient: not in %s"
%
text_content
)
self
.
assertTrue
(
"Content:"
in
text_content
,
"Content: not in %s"
%
text_content
)
...
...
master/bt5/slapos_slap_tool/TestTemplateItem/portal_components/test.erp5.testSlapOSSlapTool.py
View file @
ccbf6e16
...
...
@@ -12,7 +12,6 @@ import time
# blurb to make nice XML comparisions
from
lxml
import
etree
import
difflib
import
hashlib
import
json
from
binascii
import
hexlify
...
...
@@ -38,7 +37,16 @@ class Simulator:
l
.
append
({
'recmethod'
:
self
.
method
,
'recargs'
:
args
,
'reckwargs'
:
kwargs
})
open
(
self
.
outfile
,
'w'
).
write
(
repr
(
l
))
with
open
(
self
.
outfile
,
'w'
)
as
f
:
f
.
write
(
repr
(
l
))
def
canonical_xml
(
xml
):
return
etree
.
tostring
(
etree
.
fromstring
(
xml
),
method
=
"c14n"
,
).
decode
(
'utf-8'
)
class
TestSlapOSSlapToolMixin
(
SlapOSTestCaseMixin
):
def
afterSetUp
(
self
):
...
...
@@ -69,6 +77,9 @@ class TestSlapOSSlapToolMixin(SlapOSTestCaseMixin):
self
.
unpinDateTime
()
self
.
_cleaupREQUEST
()
def
assertXMLEqual
(
self
,
first
,
second
):
self
.
assertEqual
(
canonical_xml
(
first
),
canonical_xml
(
second
))
class
TestSlapOSSlapToolgetFullComputerInformation
(
TestSlapOSSlapToolMixin
):
def
test_activate_getFullComputerInformation_first_access
(
self
):
...
...
@@ -92,7 +103,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
)
)
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
first_etag
,
response
.
headers
.
get
(
'etag'
))
self
.
assertEqual
(
first_body_fingerprint
,
hashData
(
response
.
body
))
self
.
assertEqual
(
0
,
len
(
self
.
portal
.
portal_activities
.
getMessageList
()))
...
...
@@ -108,7 +119,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
first_etag
,
response
.
headers
.
get
(
'etag'
))
self
.
assertEqual
(
first_body_fingerprint
,
hashData
(
response
.
body
))
self
.
assertEqual
(
current_activity_count
,
len
(
self
.
portal
.
portal_activities
.
getMessageList
()))
...
...
@@ -121,7 +132,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
second_etag
=
self
.
compute_node
.
_calculateRefreshEtag
()
second_body_fingerprint
=
hashData
(
self
.
portal_slap
.
_getSlapComputeNodeXMLFromDict
(
...
...
@@ -143,7 +154,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
second_etag
,
response
.
headers
.
get
(
'etag'
))
self
.
assertEqual
(
first_body_fingerprint
,
hashData
(
response
.
body
))
self
.
assertEqual
(
0
,
len
(
self
.
portal
.
portal_activities
.
getMessageList
()))
...
...
@@ -168,7 +179,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
second_etag
,
response
.
headers
.
get
(
'etag'
))
self
.
assertEqual
(
first_body_fingerprint
,
hashData
(
response
.
body
))
self
.
assertEqual
(
current_activity_count
,
len
(
self
.
portal
.
portal_activities
.
getMessageList
()))
...
...
@@ -182,7 +193,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
third_etag
=
self
.
compute_node
.
_calculateRefreshEtag
()
self
.
assertNotEqual
(
second_etag
,
third_etag
)
self
.
assertEqual
(
third_etag
,
response
.
headers
.
get
(
'etag'
))
...
...
@@ -209,7 +220,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
third_etag
,
response
.
headers
.
get
(
'etag'
))
self
.
assertEqual
(
third_body_fingerprint
,
hashData
(
response
.
body
))
self
.
assertEqual
(
current_activity_count
,
len
(
self
.
portal
.
portal_activities
.
getMessageList
()))
...
...
@@ -225,7 +236,7 @@ class TestSlapOSSlapToolgetFullComputerInformation(TestSlapOSSlapToolMixin):
response
=
self
.
portal_slap
.
getFullComputerInformation
(
self
.
compute_node_id
)
self
.
commit
()
self
.
assertEqual
(
200
,
response
.
status
)
self
.
assert
True
(
'last-modified'
not
in
response
.
headers
)
self
.
assert
NotIn
(
'last-modified'
,
response
.
headers
)
fourth_etag
=
self
.
compute_node
.
_calculateRefreshEtag
()
fourth_body_fingerprint
=
hashData
(
self
.
portal_slap
.
_getSlapComputeNodeXMLFromDict
(
...
...
@@ -258,7 +269,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
False
(
'etag'
in
response
.
headers
)
self
.
assert
NotIn
(
'etag'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
...
...
@@ -618,8 +629,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
start_requested_url
=
self
.
start_requested_software_installation
.
getUrlString
(),
access_status
=
"#error no data found!"
,
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getComputeNodeInformation
(
self
):
self
.
assertEqual
(
'getFullComputerInformation'
,
...
...
@@ -635,7 +645,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -669,8 +679,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
since
=
since
,
compute_node_id
=
self
.
compute_node_id
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_accessed_getComputerStatus
(
self
):
self
.
login
(
self
.
compute_node_user_id
)
...
...
@@ -684,7 +693,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
...
...
@@ -721,8 +730,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
since
=
since
,
compute_node_id
=
self
.
compute_node_id
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
assertComputeNodeBangSimulator
(
self
,
args
,
kwargs
):
stored
=
eval
(
open
(
self
.
compute_node_bang_simulator
).
read
())
#pylint: disable=eval-used
...
...
@@ -799,7 +807,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -833,8 +841,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
since
=
since
,
reference
=
software_installation
.
getReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_destroyedSoftwareRelease_noSoftwareInstallation
(
self
):
...
...
@@ -907,8 +914,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
compute_node_id
=
self
.
compute_node_id
,
reference
=
software_installation
.
getReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_buildingSoftwareRelease
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -957,8 +963,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
compute_node_id
=
self
.
compute_node_id
,
reference
=
software_installation
.
getReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_softwareReleaseError
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -1007,8 +1012,7 @@ class TestSlapOSSlapToolComputeNodeAccess(TestSlapOSSlapToolMixin):
compute_node_id
=
self
.
compute_node_id
,
reference
=
software_installation
.
getReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_useComputer_wrong_xml
(
self
):
self
.
login
(
self
.
compute_node_user_id
)
...
...
@@ -1126,7 +1130,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -1146,8 +1150,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
instance_certificate
=
self
.
start_requested_software_instance
.
getSslCertificate
(),
instance_key
=
self
.
start_requested_software_instance
.
getSslKey
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getFullComputerInformation
(
self
):
self
.
_makeComplexComputeNode
(
with_slave
=
True
)
...
...
@@ -1158,7 +1161,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
False
(
'etag'
in
response
.
headers
)
self
.
assert
NotIn
(
'etag'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -1288,8 +1291,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
slave_1_title
=
self
.
start_requested_slave_instance
.
getTitle
(),
access_status
=
"#error no data found for %s"
%
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getComputerPartitionStatus
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -1305,7 +1307,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -1338,8 +1340,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getComputerPartitionStatus_visited
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -1356,7 +1357,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -1391,8 +1392,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
compute_node_id
=
self
.
compute_node_id
,
partition_id
=
partition_id
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_registerComputerPartition_withSlave
(
self
):
self
.
_makeComplexComputeNode
(
with_slave
=
True
)
...
...
@@ -1405,7 +1405,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -1522,8 +1522,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
slave_1_instance_guid
=
self
.
start_requested_slave_instance
.
getReference
(),
slave_1_title
=
self
.
start_requested_slave_instance
.
getTitle
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_registerComputerPartition
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -1536,7 +1535,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -1634,8 +1633,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
root_instance_title
=
self
.
start_requested_software_instance
.
getSpecialiseValue
().
getTitle
(),
software_type
=
self
.
start_requested_software_instance
.
getSourceReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
assertInstanceUpdateConnectionSimulator
(
self
,
args
,
kwargs
):
stored
=
eval
(
open
(
self
.
instance_update_connection_simulator
).
read
())
#pylint: disable=eval-used
...
...
@@ -1757,8 +1755,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_softwareInstanceError_twice
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -1805,8 +1802,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
self
.
unpinDateTime
()
time
.
sleep
(
1
)
...
...
@@ -1855,8 +1851,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
assertInstanceBangSimulator
(
self
,
args
,
kwargs
):
stored
=
eval
(
open
(
self
.
instance_bang_simulator
).
read
())
#pylint: disable=eval-used
...
...
@@ -1915,8 +1910,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
self
.
assertInstanceBangSimulator
((),
{
'comment'
:
error_log
,
'bang_tree'
:
True
})
finally
:
if
os
.
path
.
exists
(
self
.
instance_bang_simulator
):
...
...
@@ -2254,8 +2248,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_startedComputePartition
(
self
):
self
.
_makeComplexComputeNode
()
...
...
@@ -2301,8 +2294,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getSoftwareReleaseListFromSoftwareProduct
(
self
):
new_id
=
self
.
generateNewId
()
...
...
@@ -2344,8 +2336,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
</list>
</marshal>
"""
%
(
software_release2
.
getUrlString
(),
software_release1
.
getUrlString
())
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getSoftwareReleaseListFromSoftwareProduct_effectiveDate
(
self
):
new_id
=
self
.
generateNewId
()
...
...
@@ -2391,8 +2382,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
</marshal>
"""
%
(
software_release3
.
getUrlString
(),
software_release1
.
getUrlString
(),
software_release2
.
getUrlString
())
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getSoftwareReleaseListFromSoftwareProduct_emptySoftwareProduct
(
self
):
new_id
=
self
.
generateNewId
()
...
...
@@ -2408,8 +2398,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
<list id="i2"/>
</marshal>
"""
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getSoftwareReleaseListFromSoftwareProduct_NoSoftwareProduct
(
self
):
response
=
self
.
portal_slap
.
getSoftwareReleaseListFromSoftwareProduct
(
...
...
@@ -2422,8 +2411,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
<list id="i2"/>
</marshal>
"""
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getSoftwareReleaseListFromSoftwareProduct_fromUrl
(
self
):
new_id
=
self
.
generateNewId
()
...
...
@@ -2464,8 +2452,7 @@ class TestSlapOSSlapToolInstanceAccess(TestSlapOSSlapToolMixin):
</list>
</marshal>
"""
%
(
software_release2
.
getUrlString
(),
software_release1
.
getUrlString
())
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
class
TestSlapOSSlapToolPersonAccess
(
TestSlapOSSlapToolMixin
):
...
...
@@ -2495,7 +2482,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -2529,8 +2516,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
since
=
since
,
compute_node_id
=
self
.
compute_node_id
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_accessed_getComputerStatus
(
self
):
self
.
login
(
self
.
compute_node_user_id
)
...
...
@@ -2544,7 +2530,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
...
...
@@ -2581,8 +2567,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
since
=
since
,
compute_node_id
=
self
.
compute_node_id
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
assertComputeNodeBangSimulator
(
self
,
args
,
kwargs
):
stored
=
eval
(
open
(
self
.
compute_node_bang_simulator
).
read
())
#pylint: disable=eval-used
...
...
@@ -2625,7 +2610,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -2658,8 +2643,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
since
=
since
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_getComputerPartitionStatus_visited
(
self
):
self
.
_makeComplexComputeNode
(
person
=
self
.
person
)
...
...
@@ -2678,7 +2662,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -2713,8 +2697,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
compute_node_id
=
self
.
compute_node_id
,
partition_id
=
partition_id
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_registerComputerPartition_withSlave
(
self
):
self
.
_makeComplexComputeNode
(
person
=
self
.
person
,
with_slave
=
True
)
...
...
@@ -2727,7 +2710,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -2844,8 +2827,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
slave_1_instance_guid
=
self
.
start_requested_slave_instance
.
getReference
(),
slave_1_title
=
self
.
start_requested_slave_instance
.
getTitle
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
test_registerComputerPartition
(
self
):
self
.
_makeComplexComputeNode
(
person
=
self
.
person
)
...
...
@@ -2858,7 +2840,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
response
.
headers
.
get
(
'cache-control'
))
self
.
assertEqual
(
'REMOTE_USER'
,
response
.
headers
.
get
(
'vary'
))
self
.
assert
True
(
'last-modified'
in
response
.
headers
)
self
.
assert
In
(
'last-modified'
,
response
.
headers
)
self
.
assertEqual
(
'text/xml; charset=utf-8'
,
response
.
headers
.
get
(
'content-type'
))
# check returned XML
...
...
@@ -2956,8 +2938,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
root_instance_title
=
self
.
start_requested_software_instance
.
getSpecialiseValue
().
getTitle
(),
software_type
=
self
.
start_requested_software_instance
.
getSourceReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
assertInstanceBangSimulator
(
self
,
args
,
kwargs
):
stored
=
eval
(
open
(
self
.
instance_bang_simulator
).
read
())
#pylint: disable=eval-used
...
...
@@ -3018,8 +2999,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
person_reference
=
self
.
person_reference
,
instance_guid
=
self
.
start_requested_software_instance
.
getReference
()
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
self
.
assertInstanceBangSimulator
((),
{
'comment'
:
error_log
,
'bang_tree'
:
True
})
finally
:
if
os
.
path
.
exists
(
self
.
instance_bang_simulator
):
...
...
@@ -3201,9 +3181,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
ip
=
self
.
start_requested_software_instance
.
getAggregateValue
()
\
.
getDefaultNetworkAddressIpAddress
(),
)
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
def
assertSupplySimulator
(
self
,
args
,
kwargs
):
stored
=
eval
(
open
(
self
.
compute_node_supply_simulator
).
read
())
#pylint: disable=eval-used
...
...
@@ -3269,8 +3247,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
</marshal>
"""
%
{
'compute_node_id'
:
compute_node_reference
}
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
self
.
assertRequestComputeNodeSimulator
((),
{
'compute_node_title'
:
compute_node_id
})
finally
:
if
os
.
path
.
exists
(
self
.
compute_node_request_compute_node_simulator
):
...
...
@@ -3310,8 +3287,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
</marshal>
"""
%
{
'compute_node_key'
:
compute_node_key
,
'compute_node_certificate'
:
compute_node_certificate
}
self
.
assertEqual
(
expected_xml
,
got_xml
,
'
\
n
'
.
join
([
q
for
q
in
difflib
.
unified_diff
(
expected_xml
.
split
(
'
\
n
'
),
got_xml
.
split
(
'
\
n
'
))]))
self
.
assertXMLEqual
(
expected_xml
,
got_xml
)
self
.
assertGenerateComputeNodeCertificateSimulator
((),
{})
finally
:
if
os
.
path
.
exists
(
self
.
generate_compute_node_certificate_simulator
):
...
...
master/bt5/slapos_slap_tool/TestTemplateItem/portal_components/test.erp5.testSlapOSSlapToolComputeNodeUpdateFromDict.py
View file @
ccbf6e16
...
...
@@ -88,7 +88,7 @@ class TestSlapOSCoreComputeNodeUpdateFromDict(SlapOSTestCaseMixinWithAbort):
self
.
assertEqual
(
address
.
getIpAddress
(),
'e'
)
self
.
assertEqual
(
address
.
getNetmask
(),
'f'
)
# Existing document should be edited if possible
self
.
assert
True
(
address
.
getId
()
in
(
'foo'
,
'bar'
))
self
.
assert
In
(
address
.
getId
(),
(
'foo'
,
'bar'
))
#############################################
# Compute Partition network information
...
...
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/SubscriptionCondition_renderKVMClusterParameter.py
View file @
ccbf6e16
...
...
@@ -35,6 +35,11 @@ for i in range(amount):
xml_parameter
=
"""<?xml version="1.0" encoding="utf-8"?>
<instance>
<parameter id="_">%s</parameter>
</instance>"""
%
json
.
dumps
(
json_parameter
,
indent
=
2
)
</instance>"""
%
json
.
dumps
(
json_parameter
,
indent
=
2
,
sort_keys
=
True
,
# BBB PY2 https://github.com/python/cpython/issues/60537#issuecomment-1093598422
separators
=
(
','
,
': '
),
)
return
xml_parameter
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionScenario.py
View file @
ccbf6e16
...
...
@@ -966,9 +966,9 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
"TestSubscriptionSkins Notification Message %s %s"
%
(
subscription_request
.
getLanguage
(),
notification_message
),
mail_message
.
getTitle
())
self
.
assert
True
(
subscription_request
.
getDefaultEmailText
()
in
\
self
.
assert
In
(
subscription_request
.
getDefaultEmailText
(),
\
mail_message
.
getTextContent
())
self
.
assert
True
(
subscription_request
.
getDestinationSectionTitle
()
in
\
self
.
assert
In
(
subscription_request
.
getDestinationSectionTitle
(),
\
mail_message
.
getTextContent
())
def
checkEmailPaymentNotification
(
self
,
subscription_request
,
...
...
@@ -984,9 +984,9 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
mail_message
.
getTitle
())
invoice
=
subscription_request
.
SubscriptionRequest_verifyPaymentBalanceIsReady
()
self
.
assertEqual
(
invoice
.
getSimulationState
(),
'stopped'
)
self
.
assert
True
(
invoice
.
getRelativeUrl
()
in
\
self
.
assert
In
(
invoice
.
getRelativeUrl
(),
\
mail_message
.
getTextContent
())
self
.
assert
True
(
subscription_request
.
getDestinationSectionTitle
()
in
\
self
.
assert
In
(
subscription_request
.
getDestinationSectionTitle
(),
\
mail_message
.
getTextContent
())
def
checkEmailInstanceNotification
(
self
,
subscription_request
,
...
...
@@ -1002,9 +1002,9 @@ return dict(vads_url_already_registered="%s/already_registered" % (payment_trans
mail_message
.
getTitle
())
instance_tree
=
subscription_request
.
getAggregateValue
()
self
.
assertEqual
(
instance_tree
.
getSlapState
(),
'start_requested'
)
self
.
assert
True
(
instance_tree
.
getRelativeUrl
()
in
\
self
.
assert
In
(
instance_tree
.
getRelativeUrl
(),
\
mail_message
.
getTextContent
())
self
.
assert
True
(
subscription_request
.
getDestinationSectionTitle
()
in
\
self
.
assert
In
(
subscription_request
.
getDestinationSectionTitle
(),
\
mail_message
.
getTextContent
())
def
checkRelatedInstance
(
self
,
subscription_request
):
...
...
master/bt5/slapos_subscription_request/TestTemplateItem/portal_components/test.erp5.testSlapOSSubscriptionSkins.py
View file @
ccbf6e16
...
...
@@ -122,11 +122,11 @@ class TestSubscriptionCondition_renderKVMClusterParameter(TestSubscriptionSkinsM
"KVM0": {
"cpu-count": 40,
"cpu-max-count": 41,
"ram-size": 245760,
"ram-max-size": 245761,
"disable-ansible-promise": true,
"disk-device-path": "/dev/sdb",
"project-guid": "PROJ-XXXX",
"disable-ansible-promise": true
"ram-max-size": 245761,
"ram-size": 245760
}
}
}</parameter>
...
...
@@ -144,13 +144,13 @@ class TestSubscriptionCondition_renderKVMClusterParameter(TestSubscriptionSkinsM
<parameter id="_">{
"kvm-partition-dict": {
"KVM0": {
"cpu-count": 40,
"cpu-max-count": 41,
"disable-ansible-promise": true,
"disk-device-path": "/dev/sdb",
"
cpu-count": 40,
"
project-guid": "PROJ-XXXX",
"ram-max-size": 245761,
"ram-size": 245760,
"project-guid": "PROJ-XXXX",
"cpu-max-count": 41,
"sticky-computer": true
}
}
...
...
@@ -163,23 +163,23 @@ class TestSubscriptionCondition_renderKVMClusterParameter(TestSubscriptionSkinsM
<parameter id="_">{
"kvm-partition-dict": {
"KVM0": {
"cpu-count": 40,
"cpu-max-count": 41,
"disable-ansible-promise": true,
"disk-device-path": "/dev/sdb",
"
cpu-count": 40,
"
project-guid": "PROJ-XXXX",
"ram-max-size": 245761,
"ram-size": 245760,
"project-guid": "PROJ-XXXX",
"cpu-max-count": 41,
"sticky-computer": true
},
"KVM1": {
"disk-device-path": "/dev/sdb",
"cpu-count": 40,
"ram-max-size": 245761,
"cpu-max-count": 41,
"disable-ansible-promise": true,
"ram-size": 245760,
"project-guid": "PROJ-XXXX"
"disk-device-path": "/dev/sdb",
"project-guid": "PROJ-XXXX",
"ram-max-size": 245761,
"ram-size": 245760
}
}
}</parameter>
...
...
slapos/tests/test_promise.py
View file @
ccbf6e16
...
...
@@ -664,7 +664,7 @@ class RunPromise(GenericPromise):
def
test_method
(
result
):
self
.
assertTrue
(
isinstance
(
result
,
PromiseQueueResult
))
self
.
assertTrue
(
isinstance
(
result
.
item
,
TestResult
))
self
.
assert
True
(
result
.
name
in
[
promise_failed
,
promise_name
])
self
.
assert
In
(
result
.
name
,
[
promise_failed
,
promise_name
])
if
result
.
name
==
promise_failed
:
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
True
)
self
.
assertEqual
(
result
.
item
.
message
,
"failed"
)
...
...
@@ -705,7 +705,7 @@ class RunPromise(GenericPromise):
def
test_method
(
result
):
self
.
assertTrue
(
isinstance
(
result
,
PromiseQueueResult
))
self
.
assertTrue
(
isinstance
(
result
.
item
,
TestResult
))
self
.
assert
True
(
result
.
name
in
[
first_promise
,
second_promise
,
third_promise
])
self
.
assert
In
(
result
.
name
,
[
first_promise
,
second_promise
,
third_promise
])
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
False
)
self
.
assertEqual
(
result
.
item
.
message
,
"success"
)
self
.
counter
+=
1
...
...
@@ -771,7 +771,7 @@ class RunPromise(GenericPromise):
self
.
counter
=
0
def
test_method_first
(
result
):
self
.
assert
True
(
result
.
name
in
[
first_promise
,
second_promise
])
self
.
assert
In
(
result
.
name
,
[
first_promise
,
second_promise
])
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
False
)
self
.
assertEqual
(
result
.
item
.
message
,
"success"
)
self
.
counter
+=
1
...
...
@@ -809,7 +809,7 @@ class RunPromise(GenericPromise):
self
.
counter
=
0
def
test_method
(
result
):
self
.
assert
True
(
result
.
name
in
[
first_promise
,
second_promise
])
self
.
assert
In
(
result
.
name
,
[
first_promise
,
second_promise
])
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
False
)
self
.
assertEqual
(
result
.
item
.
message
,
"success"
)
self
.
counter
+=
1
...
...
@@ -956,7 +956,7 @@ class RunPromise(GenericPromise):
self
.
counter
=
0
def
test_method
(
result
):
self
.
assert
True
(
result
.
name
in
[
first_promise
,
second_promise
])
self
.
assert
In
(
result
.
name
,
[
first_promise
,
second_promise
])
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
False
)
self
.
assertEqual
(
result
.
item
.
message
,
"success"
)
self
.
counter
+=
1
...
...
@@ -1082,7 +1082,7 @@ exit 0
self
.
counter
=
0
self
.
check_list
=
[
first_promise
,
second_promise
,
third_promise
]
def
test_method
(
result
):
self
.
assert
True
(
result
.
name
in
self
.
check_list
)
self
.
assert
In
(
result
.
name
,
self
.
check_list
)
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
False
)
self
.
assertEqual
(
result
.
item
.
message
,
"success"
)
self
.
counter
+=
1
...
...
@@ -1110,7 +1110,7 @@ exit 0
self
.
counter
=
0
self
.
check_list
=
[
first_promise
,
second_promise
,
third_promise
]
def
test_method
(
result
):
self
.
assert
True
(
result
.
name
in
self
.
check_list
)
self
.
assert
In
(
result
.
name
,
self
.
check_list
)
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
False
)
self
.
assertEqual
(
result
.
item
.
message
,
"success"
)
self
.
counter
+=
1
...
...
@@ -1186,7 +1186,7 @@ exit 0
self
.
assertTrue
(
result
.
execution_time
>=
1
)
self
.
assertEqual
(
result
.
title
,
'my_promise'
)
self
.
assertEqual
(
result
.
name
,
promise_name
)
self
.
assert
True
(
"Promise timed out after"
in
result
.
item
.
message
)
self
.
assert
In
(
"Promise timed out after"
,
result
.
item
.
message
)
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
True
)
self
.
configureLauncher
(
save_method
=
test_method
,
enable_anomaly
=
True
,
timeout
=
1
)
...
...
@@ -1218,7 +1218,7 @@ echo "success"
self
.
assertEqual
(
result
.
title
,
promise_name
)
self
.
assertEqual
(
result
.
name
,
promise_name
)
self
.
assertEqual
(
result
.
path
,
promise_path
)
self
.
assert
True
(
"Promise timed out after"
in
result
.
item
.
message
)
self
.
assert
In
(
"Promise timed out after"
,
result
.
item
.
message
)
self
.
assertEqual
(
result
.
item
.
hasFailed
(),
True
)
self
.
assertTrue
(
isinstance
(
result
.
item
.
date
,
datetime
))
...
...
slapos/tests/test_slapgrid.py
View file @
ccbf6e16
...
...
@@ -2392,7 +2392,7 @@ class TestSlapgridCPWithMasterPromise(MasterMixin, unittest.TestCase):
log_file
=
'%s/.slapgrid/log/instance.log'
%
instance
.
partition_path
with
open
(
log_file
)
as
f
:
self
.
assert
True
(
'Error Promise 254554802'
in
f
.
read
())
self
.
assert
In
(
'Error Promise 254554802'
,
f
.
read
())
self
.
assertTrue
(
instance
.
error
)
self
.
assertIsNone
(
instance
.
state
)
...
...
@@ -3135,7 +3135,7 @@ exit 0
self
.
_wait_prerm_script_finished
(
partition
.
partition_path
)
with
open
(
os
.
path
.
join
(
partition
.
partition_path
,
'.0-prerm_slapos_pre_delete.log'
))
as
f
:
# the script is well finished...
self
.
assert
True
(
"finished prerm script."
in
f
.
read
())
self
.
assert
In
(
"finished prerm script."
,
f
.
read
())
self
.
assertEqual
(
self
.
grid
.
agregateAndSendUsage
(),
slapgrid
.
SLAPGRID_SUCCESS
)
# Assert partition directory is empty
...
...
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