Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
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
erp5
Commits
1393d7ad
Commit
1393d7ad
authored
Feb 11, 2023
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
scalability_test: script to create some sales order
parent
2ac1f9f6
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
206 additions
and
0 deletions
+206
-0
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/Delivery_tryToCancel.py
...ortal_skins/erp5_scalability_test/Delivery_tryToCancel.py
+2
-0
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/Delivery_tryToCancel.xml
...rtal_skins/erp5_scalability_test/Delivery_tryToCancel.xml
+62
-0
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/ERP5Site_createScalabilityTestSaleOrderBatch.py
...lity_test/ERP5Site_createScalabilityTestSaleOrderBatch.py
+80
-0
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/ERP5Site_createScalabilityTestSaleOrderBatch.xml
...ity_test/ERP5Site_createScalabilityTestSaleOrderBatch.xml
+62
-0
No files found.
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/Delivery_tryToCancel.py
0 → 100644
View file @
1393d7ad
if
context
.
getSimulationState
()
==
'confirmed'
:
context
.
cancel
()
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/Delivery_tryToCancel.xml
0 → 100644
View file @
1393d7ad
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</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>
Delivery_tryToCancel
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/ERP5Site_createScalabilityTestSaleOrderBatch.py
0 → 100644
View file @
1393d7ad
"""Create test data for sales order / sales packing list build benchmark.
"""
import
random
rng
=
random
.
Random
(
random_seed
)
portal
=
context
.
getPortalObject
()
sale_trade_condition
,
=
portal
.
portal_catalog
(
portal_type
=
"Sale Trade Condition"
,
reference
=
'STC-General'
,
)
sale_trade_condition
=
sale_trade_condition
.
getObject
()
resources
=
[]
for
_
in
range
(
10
):
resource
=
portal
.
product_module
.
newContent
(
title
=
'Scalability Test Resource %s %s'
%
(
random_seed
,
rng
.
randint
(
0
,
10000
)),
)
resource
.
validate
()
resources
.
append
(
resource
)
customers
=
[]
for
_
in
range
(
10
):
customer
=
portal
.
organisation_module
.
newContent
(
title
=
'Scalability Test Organisation %s %s'
%
(
random_seed
,
rng
.
randint
(
0
,
10000
)),
)
customer
.
validate
()
customers
.
append
(
customer
)
def
makeSaleOrder
():
sale_order
=
portal
.
sale_order_module
.
newContent
(
portal_type
=
'Sale Order'
,
title
=
'Scalability Test Sale Order %s %s'
%
(
random_seed
,
rng
.
randrange
(
10000
)),
start_date
=
DateTime
()
+
(
rng
.
random
()
*
100.
),
specialise_value
=
sale_trade_condition
,
)
# note: we use "edit" to have multiple entries in edit_workflow, like when
# a real user inputs data.
sale_order
.
edit
(
stop_date
=
sale_order
.
getStopDate
()
+
(
rng
.
random
()
*
100.
))
sale_order
.
edit
(
destination_section_value
=
rng
.
choice
(
customers
))
sale_order
.
edit
(
destination_value
=
rng
.
choice
(
customers
))
sale_order
.
SaleOrder_applySaleTradeCondition
()
for
i
in
range
(
rng
.
randint
(
1
,
10
)):
sale_order
.
newContent
(
portal_type
=
'Sale Order Line'
,
resource_value
=
rng
.
choice
(
resources
),
quantity
=
1
+
rng
.
random
()
*
20
,
price
=
rng
.
random
()
*
100
,
).
edit
(
int_index
=
i
,
)
sale_order
.
Base_checkConsistency
()
sale_order
.
confirm
()
return
sale_order
for
_
in
range
(
order_count
):
order
=
makeSaleOrder
()
# build packing lists one by one, because we create a lot and don't want the
# global builder to try to build them all in one big transaction
expand_tag
=
'build:%s'
%
order
.
getPath
()
order
.
reindexObject
(
activate_kw
=
{
'tag'
:
expand_tag
})
portal
.
portal_deliveries
.
sale_packing_list_builder
.
activate
(
activity
=
'SQLQueue'
,
after_tag
=
expand_tag
,
).
build
(
explanation_uid
=
order
.
getUid
())
# cancel packing lists, so that they are not selected by
# DeliveryBuilder_selectConfirmedDeliveryList
portal
.
portal_catalog
.
searchAndActivate
(
portal_type
=
'Sale Packing List'
,
simulation_state
=
'confirmed'
,
method_id
=
'Delivery_tryToCancel'
,
)
# undo redirect from SaleOrder_applySaleTradeCondition
container
.
REQUEST
.
RESPONSE
.
setStatus
(
200
)
return
"Done"
bt5/erp5_scalability_test/SkinTemplateItem/portal_skins/erp5_scalability_test/ERP5Site_createScalabilityTestSaleOrderBatch.xml
0 → 100644
View file @
1393d7ad
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"PythonScript"
module=
"Products.PythonScripts.PythonScript"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"_reconstructor"
module=
"copy_reg"
/>
</klass>
<tuple>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
<global
name=
"object"
module=
"__builtin__"
/>
<none/>
</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>
random_seed, order_count=50
</string>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
ERP5Site_createScalabilityTestSaleOrderBatch
</string>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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