Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos.core
Commits
9f8753a1
Commit
9f8753a1
authored
Aug 23, 2022
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Plain Diff
Upgrade decision ui tests
See merge request
nexedi/slapos.core!411
parents
7b4b6708
93f2fcb9
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1552 additions
and
6 deletions
+1552
-6
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_upgrade_decision_view_js.js
...ule/rjs_gadget_erp5_page_slap_upgrade_decision_view_js.js
+2
-2
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_upgrade_decision_view_js.xml
...le/rjs_gadget_erp5_page_slap_upgrade_decision_view_js.xml
+2
-2
master/bt5/slapos_jio_ui_test/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSUiTest.py
...lateItem/portal_components/extension.erp5.SlapOSUiTest.py
+16
-2
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServerUpgradeDecision.xml
...ests/slaposjs_zuite/testSlapOSJSServerUpgradeDecision.xml
+58
-0
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServerUpgradeDecision.zpt
...ests/slaposjs_zuite/testSlapOSJSServerUpgradeDecision.zpt
+635
-0
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServiceUpgradeDecision.xml
...sts/slaposjs_zuite/testSlapOSJSServiceUpgradeDecision.xml
+58
-0
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServiceUpgradeDecision.zpt
...sts/slaposjs_zuite/testSlapOSJSServiceUpgradeDecision.zpt
+466
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createFakeUpgradeDecision.xml
...ins/slapos_ui_test/ERP5Site_createFakeUpgradeDecision.xml
+28
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForComputeNode.py
...s_ui_test/ERP5Site_createUpgradeDecisionForComputeNode.py
+31
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForComputeNode.xml
..._ui_test/ERP5Site_createUpgradeDecisionForComputeNode.xml
+70
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForInstanceTree.py
..._ui_test/ERP5Site_createUpgradeDecisionForInstanceTree.py
+31
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForInstanceTree.xml
...ui_test/ERP5Site_createUpgradeDecisionForInstanceTree.xml
+70
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_initSlapOSUITest.py
.../portal_skins/slapos_ui_test/ERP5Site_initSlapOSUITest.py
+14
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5_invokeUpgradeDecisionAlarm.py
...l_skins/slapos_ui_test/ERP5_invokeUpgradeDecisionAlarm.py
+6
-0
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5_invokeUpgradeDecisionAlarm.xml
..._skins/slapos_ui_test/ERP5_invokeUpgradeDecisionAlarm.xml
+62
-0
master/bt5/slapos_l10n_zh/MessageTranslationTemplateItem/zh/erp5_ui/translation.po
.../MessageTranslationTemplateItem/zh/erp5_ui/translation.po
+3
-0
No files found.
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_upgrade_decision_view_js.js
View file @
9f8753a1
...
...
@@ -101,7 +101,7 @@
"
Ticket Type
"
,
"
Related Compute Node or Service
"
,
"
State
"
,
"
Upgrade Decision
:
"
,
"
Upgrade Decision:
"
,
"
The Status
"
,
"
Status
"
,
"
Data Updated
"
,
...
...
@@ -245,7 +245,7 @@
})
.
push
(
function
(
url_list
)
{
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
]
};
if
(
gadget
.
state
.
doc
.
simulation_state_title
===
"
Open
"
)
{
...
...
master/bt5/slapos_jio/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_slap_upgrade_decision_view_js.xml
View file @
9f8753a1
...
...
@@ -236,7 +236,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
986.45437.22132.617
64
</string>
</value>
<value>
<string>
1002.24419.16361.610
64
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -254,7 +254,7 @@
</tuple>
<state>
<tuple>
<float>
16
02254232.58
</float>
<float>
16
60923207.94
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
master/bt5/slapos_jio_ui_test/ExtensionTemplateItem/portal_components/extension.erp5.SlapOSUiTest.py
View file @
9f8753a1
...
...
@@ -160,5 +160,19 @@ def ERP5Site_createFakeRegularisationRequest(self):
finally
:
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
)
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServerUpgradeDecision.xml
0 → 100644
View file @
9f8753a1
<?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>
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServerUpgradeDecision.zpt
0 → 100644
View file @
9f8753a1
<html
xmlns:tal=
"http://xml.zope.org/namespaces/tal"
xmlns:metal=
"http://xml.zope.org/namespaces/metal"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<title>
Test SlapOS JS Server
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr>
<td
rowspan=
"1"
colspan=
"3"
>
Test SlapOS JS Server Accept Upgrade Decision
</td>
</tr>
</thead>
<tbody>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_init"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/set_default_available_language"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_login"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_front_page"
/>
<tal:block
define=
"document_title python: 'TEST-SLAPOSJS-COMPUTER 0';"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/create_simple_compute_node"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Servers'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Compute Node: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-COMPUTER 0'}) "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td
colspan=
"3"
><b>
Supply a Software
</b></td>
</tr>
<tal:block
define=
"menu_action python: 'Supply'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tr>
<td
colspan=
"3"
><b>
Select a Software Product
</b></td>
</tr>
<tal:block
define=
"header python: '1/3 Select one Software'; "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_erp5_field_listbox.html\')]//h1[contains(text(), \'%s\')]' % (here.Base_translateString('Software Products', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_erp5_field_listbox.html\')]//h1[contains(text(), \'%s\')]' % (here.Base_translateString('Software Products', lang=lang))"
></td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/wait_for_listbox_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//td/a[text()="Frontend"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//td/a[text()="Frontend"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//td/a[text()="Frontend"]
</td>
<td></td>
</tr>
<tr>
<td
colspan=
"3"
><b>
Select a Software Release
</b></td>
</tr>
<tal:block
define=
"header python: '2/3 Select one Release'; "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_erp5_field_listbox.html\')]//h1[contains(text(), \'%s\')]' % (here.Base_translateString('Software Releases', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_erp5_field_listbox.html\')]//h1[contains(text(), \'%s\')]' % (here.Base_translateString('Software Releases', lang=lang))"
></td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/wait_for_listbox_loaded"
/>
<tr>
<td>
click
</td>
<td>
//td/a[text()="Frontend"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//label[text()=\'%s\']' % (here.Base_translateString('Software Release to be Installed', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//label[text()=\'%s\']' % (here.Base_translateString('Software Release to be Installed', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//label[text()=\'%s\']' % (here.Base_translateString('Target Compute Node Title', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//label[text()=\'%s\']' % (here.Base_translateString('Target Compute Node Title', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//p[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//p[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tal:block
tal:define=
"notification_configuration python: {'class': 'success',
'text': 'New Software Installation created.'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification"
/>
</tal:block>
<tal:block
define=
"header python: 'Software Installation : Frontend'; "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
pause
</td>
<td>
5000
</td>
<td>
5000
</td>
</tr>
<tal:block
tal:define=
"header python: 'Compute Node: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-COMPUTER 0'}) "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_call_slapgrid"
/>
<tr>
<td
colspan=
"3"
><b>
Wait for activities and create Upgrade Decision
</b></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5Site_createUpgradeDecisionForComputeNode
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Servers'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="Please Upgrade this service"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="Please Upgrade this service"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="Please Upgrade this service"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Upgrade Decision: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'A new version of None is available for TEST-SLAPOSJS-COMPUTER 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
test-1.99.9999
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
software.cfg.newerversion
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
TEST-SLAPOSJS-COMPUTER 0
</td>
<td></td>
</tr>
<tal:block
tal:define=
"menu_action python: 'Accept'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tal:block
tal:define=
"header python: 'Accept Upgrade Decision: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'A new version of None is available for TEST-SLAPOSJS-COMPUTER 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td
colspan=
"3"
><b>
Invoke the alarm to process activities
</b></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5_invokeUpgradeDecisionAlarm
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_call_slapgrid"
/>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5_invokeUpgradeDecisionAlarm
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_call_slapgrid"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Servers'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Compute Node: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-COMPUTER 0'}) "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(2)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '2'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="test-1.99.9999 (1.99.9999)"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="test-1.99.9999 (1.99.9999)"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="test-1.99.9999 (1.99.9999)"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@class, 'main-status')]//div[contains(@class, 'ui-btn-ok')]//a[contains(text(), 'Available')]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@class, 'main-status')]//div[contains(@class, 'ui-btn-ok')]//a[contains(text(), 'Available')]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td
tal:content=
"python: '//th/a[text()=\'%s\']' % (here.Base_translateString('Software Release', lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//td/a[contains(text(), "test-1.99.9999 (1.99.9999)")]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//td/a[contains(text(), "test-1.99.9999 (1.99.9999)")]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//td/a[contains(text(), "test-1.99.9999 (1.99.9999)")]
</td>
<td></td>
</tr>
<tal:block
define=
"header python: 'Software Installation : test-1.99.9999'; "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@class, 'main-status')]//div[contains(@class, 'ui-btn-ok')]//a[contains(text(), 'Available')]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@class, 'main-status')]//div[contains(@class, 'ui-btn-ok')]//a[contains(text(), 'Available')]
</td>
<td></td>
</tr>
<tal:block
define=
"menu_action python: 'Destroy'"
>
<tr>
<td
colspan=
"3"
><b
tal:content=
"python: 'Click on %s' % menu_action"
>
Menu Item
</b></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//a[@data-i18n=\'%s\']' % menu_action"
>
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//a[@data-i18n=\'%s\']' % menu_action"
>
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td
tal:content=
"python: '//div[contains(@data-gadget-url, \'gadget_slapos_header.html\')]//a[@data-i18n=\'%s\']' % menu_action"
>
</td>
<td></td>
</tr>
</tal:block>
<tal:block
define=
"header python: 'Destroy Software Installation'; "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tal:block
tal:define=
"notification_configuration python: {'class': 'success',
'text': 'You sucessfully request destruction.'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
define=
"menu_item python: 'Tickets'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="A new version of None is available for TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="A new version of None is available for TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="A new version of None is available for TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Upgrade Decision: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'A new version of None is available for TEST-SLAPOSJS-COMPUTER 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(2)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '2'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
The new version of the None has been installed on your Compute Node
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/suspend_user_tickets"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Servers'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-COMPUTER 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Compute Node: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-COMPUTER 0'}) "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td
colspan=
"3"
><b>
Update Allocation Scope
</b></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@id="allocation_scope"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//select[@id="allocation_scope"]
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@id="allocation_scope"]
</td>
<td
tal:content=
"python: '%s' % (here.Base_translateString('Closed forever', lang=lang))"
></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/save"
/>
<tal:block
define=
"menu_item python: 'Servers'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Servers'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(0)', 'footer': 'No records'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_logout"
/>
</tbody>
</table>
</body>
</html>
\ No newline at end of file
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServiceUpgradeDecision.xml
0 → 100644
View file @
9f8753a1
<?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>
master/bt5/slapos_jio_ui_test/PathTemplateItem/portal_tests/slaposjs_zuite/testSlapOSJSServiceUpgradeDecision.zpt
0 → 100644
View file @
9f8753a1
<html
xmlns:tal=
"http://xml.zope.org/namespaces/tal"
xmlns:metal=
"http://xml.zope.org/namespaces/metal"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<title>
Test SlapOS JS Service
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr>
<td
rowspan=
"1"
colspan=
"3"
>
Test SlapOS JS Service
</td>
</tr>
</thead>
<tbody>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_init"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/set_default_available_language"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_login"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_front_page"
/>
<tal:block
define=
"menu_item python: 'Services'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(0)', 'footer': 'No records'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tal:block
define=
"menu_action python: 'Add'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tr>
<td
colspan=
"3"
><b>
Request a Software
</b></td>
</tr>
<tal:block
define=
"software_product python: 'Frontend'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/select_software_product"
/>
</tal:block>
<tal:block
define=
"software_release python: 'Frontend'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/select_software_release"
/>
</tal:block>
<tr>
<td
colspan=
"3"
><b>
Fill Request form
</b></td>
</tr>
<tal:block
tal:define=
"header python: '3/3 Request Service: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'Frontend'}) "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@id="title"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//input[@id="title"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@id="title"]
</td>
<td>
TEST-SLAPOSJS-SERVICE-FRONTEND 0
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_erp5_page_slap_parameter_form.html')]//select[@name="software_type"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_erp5_page_slap_parameter_form.html')]//select[@name="software_type"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_erp5_page_slap_parameter_form.html')]//select[@name="software_type"]//option[text()="Custom Personal"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_erp5_page_slap_parameter_form.html')]//select[@name="software_type"]//option[text()="Custom Personal"]
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_erp5_page_slap_parameter_form.html')]//select[@name="software_type"]
</td>
<td>
Custom Personal
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="//domain"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//input[@name="//domain"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="//domain"]
</td>
<td>
www.erp5.com
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tal:block
tal:define=
"notification_configuration python: {'class': 'success',
'text': 'New service created.'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Services'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_slapos_panel.html')]//img[contains(@src, 'gadget_slapos_panel.png?format=png')]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_slapos_panel.html')]//img[contains(@src, 'gadget_slapos_panel.png?format=png')]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr
tal:define=
"dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"
></td>
<td></td>
</tr>
<tr
tal:define=
"dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5Site_createUpgradeDecisionForInstanceTree
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Services'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_slapos_panel.html')]//img[contains(@src, 'gadget_slapos_panel.png?format=png')]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url,
'gadget_slapos_panel.html')]//img[contains(@src, 'gadget_slapos_panel.png?format=png')]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr
tal:define=
"dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"
></td>
<td></td>
</tr>
<tr
tal:define=
"dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"
></td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="Please Upgrade this service"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="Please Upgrade this service"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="Please Upgrade this service"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Upgrade Decision: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'A new version of None is available for TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
test-1.99.9999
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
software.cfg.newerversion
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
TEST-SLAPOSJS-SERVICE-FRONTEND 0
</td>
<td></td>
</tr>
<tal:block
tal:define=
"menu_action python: 'Accept'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tal:block
tal:define=
"header python: 'Accept Upgrade Decision: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'A new version of None is available for TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td
colspan=
"3"
><b>
Invoke the alarm to process activities
</b></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5_invokeUpgradeDecisionAlarm
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_call_slapgrid"
/>
<tr>
<td>
openAndWait
</td>
<td>
${base_url}/ERP5_invokeUpgradeDecisionAlarm
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Done.
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_call_slapgrid"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Tickets'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="A new version of None is available for TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="A new version of None is available for TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="A new version of None is available for TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tal:block
tal:define=
"header python: 'Upgrade Decision: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'A new version of None is available for TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(2)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '2'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//div[contains(@data-gadget-url, 'gadget_slapos_event_discussion_entry.html')]//div[@class="slapos-event-discussion-message-header"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
Your instance TEST-SLAPOSJS-SERVICE-FRONTEND 0 has been upgraded to the newest version of None
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/suspend_user_tickets"
/>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Services'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(1)', 'footer': '${count} Records'};
dummy python: context.REQUEST.set('mapping', {'count': '1'})"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
assertElementPresent
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[text()="TEST-SLAPOSJS-SERVICE-FRONTEND 0"]
</td>
<td></td>
</tr>
<tr
tal:define=
"dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<td>
waitForElementPresent
</td>
<td
tal:content=
"python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"
></td>
<td></td>
</tr>
<tr
tal:define=
"dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'})"
>
<td>
assertElementPresent
</td>
<td
tal:content=
"python: '//a[@data-i18n= \'%s\']' % (here.Base_translateString('Instance Tree: ${title}', mapping=context.REQUEST.get('mapping', {}), lang=lang))"
></td>
<td></td>
</tr>
<tal:block
define=
"menu_action python: 'Destroy'"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_submenu_action"
/>
</tal:block>
<tal:block
tal:define=
"header python: 'Destroy Instance Tree: ${title}';
dummy python: context.REQUEST.set('mapping', {'title': 'TEST-SLAPOSJS-SERVICE-FRONTEND 0'}) "
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/assert_page_header"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/click_proceed"
/>
<tal:block
tal:define=
"notification_configuration python: {'class': 'success',
'text': 'Service is Destroyed.'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/wait_for_notification"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_wait_for_activities_and_front_page"
/>
<tal:block
define=
"menu_item python: 'Services'; header menu_item"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/access_menu_item"
/>
</tal:block>
<tal:block
tal:define=
"pagination_configuration python: {'header': '(0)', 'footer': 'No records'}"
>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/check_listbox_pagination_text"
/>
</tal:block>
<tal:block
metal:use-macro=
"here/Zuite_SlapOSCommonTemplate/macros/slapos_logout"
/>
</tbody>
</table>
</body>
</html>
\ No newline at end of file
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createFakeUpgradeDecision.xml
0 → 100644
View file @
9f8753a1
<?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>
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForComputeNode.py
0 → 100644
View file @
9f8753a1
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
)
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForComputeNode.xml
0 → 100644
View file @
9f8753a1
<?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>
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForInstanceTree.py
0 → 100644
View file @
9f8753a1
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
)
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_createUpgradeDecisionForInstanceTree.xml
0 → 100644
View file @
9f8753a1
<?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>
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5Site_initSlapOSUITest.py
View file @
9f8753a1
...
...
@@ -87,4 +87,18 @@ kw = {'portal_type': ('Authentication Event', 'Passoword Event')}
for
authentication_event
in
portal
.
portal_catalog
(
**
kw
):
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."
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5_invokeUpgradeDecisionAlarm.py
0 → 100644
View file @
9f8753a1
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."
master/bt5/slapos_jio_ui_test/SkinTemplateItem/portal_skins/slapos_ui_test/ERP5_invokeUpgradeDecisionAlarm.xml
0 → 100644
View file @
9f8753a1
<?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>
master/bt5/slapos_l10n_zh/MessageTranslationTemplateItem/zh/erp5_ui/translation.po
View file @
9f8753a1
...
...
@@ -62,3 +62,6 @@ msgstr "免费获取CDN"
msgid "Get Free Chinese CDN!"
msgstr "免费获取中国CDN"
msgid "Accept Upgrade Decision: ${title}"
msgstr "接受升级决定: ${title}"
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