Commit 9f8753a1 authored by Rafael Monnerat's avatar Rafael Monnerat

Upgrade decision ui tests

See merge request nexedi/slapos.core!411
parents 7b4b6708 93f2fcb9
Pipeline #23057 failed with stage
in 0 seconds
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
"Ticket Type", "Ticket Type",
"Related Compute Node or Service", "Related Compute Node or Service",
"State", "State",
"Upgrade Decision :", "Upgrade Decision:",
"The Status", "The Status",
"Status", "Status",
"Data Updated", "Data Updated",
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
}) })
.push(function (url_list) { .push(function (url_list) {
var header_dict = { var header_dict = {
page_title: gadget.page_title_translation + gadget.state.doc.title, page_title: gadget.page_title_translation + " " + gadget.state.doc.title,
selection_url: url_list[3] selection_url: url_list[3]
}; };
if (gadget.state.doc.simulation_state_title === "Open") { if (gadget.state.doc.simulation_state_title === "Open") {
......
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>986.45437.22132.61764</string> </value> <value> <string>1002.24419.16361.61064</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1602254232.58</float> <float>1660923207.94</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -160,5 +160,19 @@ def ERP5Site_createFakeRegularisationRequest(self): ...@@ -160,5 +160,19 @@ def ERP5Site_createFakeRegularisationRequest(self):
finally: finally:
setSecurityManager(sm) setSecurityManager(sm)
def ERP5Site_createFakeUpgradeDecision(self, new_software_release, compute_node):
portal = self.getPortalObject()
sm = getSecurityManager()
try:
newSecurityManager(None, portal.acl_users.getUser(SUPER_USER))
# Direct creation
upgrade_decision = new_software_release.SoftwareRelease_createUpgradeDecision(
source_url=compute_node.getRelativeUrl(),
title='A new version of %s is available for %s' % \
(new_software_release.getAggregateTitle(), compute_node.getTitle()))
upgrade_decision.approveRegistration(upgrade_scope="ask_confirmation")
upgrade_decision.UpgradeDecision_notify()
return 'Done.'
finally:
setSecurityManager(sm)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testSlapOSJSServerUpgradeDecision</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testSlapOSJSServiceUpgradeDecision</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_function</string> </key>
<value> <string>ERP5Site_createFakeUpgradeDecision</string> </value>
</item>
<item>
<key> <string>_module</string> </key>
<value> <string>SlapOSUiTest</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_createFakeUpgradeDecision</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject()
person = portal.portal_membership.getAuthenticatedMember().getUserValue()
# Find user Software installation
software_installation = portal.portal_catalog.getResultValue(
portal_type='Software Installation',
validation_state='validated',
default_destination_section_uid=person.getUid()
)
software_release = portal.portal_catalog.getResultValue(
portal_type='Software Release',
url_string=software_installation.getUrlString(),
validation_state=['validated', 'published', 'published_alive']
)
new_software_release = portal.software_release_module.newContent(
portal_type='Software Release',
url_string=software_release.getUrlString() + ".newerversion",
reference="test-1.99.9999",
version="1.99.9999",
language="en",
effective_date=DateTime())
new_software_release.publishAlive()
compute_node = software_installation.getAggregateValue()
compute_node.setUpgradeScope("ask_confirmation")
return portal.ERP5Site_createFakeUpgradeDecision(
new_software_release, compute_node)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_createUpgradeDecisionForComputeNode</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
portal = context.getPortalObject()
person = portal.portal_membership.getAuthenticatedMember().getUserValue()
# Find user Software installation
instance_tree = portal.portal_catalog.getResultValue(
portal_type='Instance Tree',
validation_state='validated',
default_destination_section_uid=person.getUid()
)
software_release = portal.portal_catalog.getResultValue(
portal_type='Software Release',
url_string=instance_tree.getUrlString(),
validation_state=['validated', 'published', 'published_alive']
)
new_software_release = portal.software_release_module.newContent(
portal_type='Software Release',
url_string=software_release.getUrlString() + ".newerversion",
reference="test-1.99.9999",
version="1.99.9999",
language="en",
destination_section=person.getRelativeUrl(),
effective_date=DateTime())
new_software_release.publishAlive()
instance_tree.setUpgradeScope("ask_confirmation")
return portal.ERP5Site_createFakeUpgradeDecision(
new_software_release, instance_tree)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5Site_createUpgradeDecisionForInstanceTree</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -87,4 +87,18 @@ kw = {'portal_type': ('Authentication Event', 'Passoword Event')} ...@@ -87,4 +87,18 @@ kw = {'portal_type': ('Authentication Event', 'Passoword Event')}
for authentication_event in portal.portal_catalog(**kw): for authentication_event in portal.portal_catalog(**kw):
portal.system_event_module.manage_delObjects(ids=[authentication_event.getId()]) portal.system_event_module.manage_delObjects(ids=[authentication_event.getId()])
notification_message_to_enable = [
'slapos-upgrade-instance-tree.notification',
'slapos-upgrade-delivered-instance-tree.notification',
'slapos-upgrade-compute-node.notification',
'slapos-upgrade-delivered-compute-node.notification',
]
for reference in notification_message_to_enable:
search_kw = dict(portal_type='Notification Message',
reference=reference)
if not len(portal.portal_catalog(validation_state='validated', **search_kw)):
portal.portal_catalog.getResultValue(validation_state='draft',
**search_kw).validate()
return "Done." return "Done."
portal = context.getPortalObject()
portal.portal_alarms.slapos_pdm_upgrade_decision_process_started.activeSense()
portal.portal_alarms.slapos_pdm_upgrade_decision_process_stopped.activeSense()
return "Done."
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>ERP5_invokeUpgradeDecisionAlarm</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -62,3 +62,6 @@ msgstr "免费获取CDN" ...@@ -62,3 +62,6 @@ msgstr "免费获取CDN"
msgid "Get Free Chinese CDN!" msgid "Get Free Chinese CDN!"
msgstr "免费获取中国CDN" msgstr "免费获取中国CDN"
msgid "Accept Upgrade Decision: ${title}"
msgstr "接受升级决定: ${title}"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment