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
Rafael Monnerat
slapos.core
Commits
4b660520
Commit
4b660520
authored
Oct 08, 2021
by
Rafael Monnerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_mysql_innodb_catalog: Fixup and add test for catalog consistency
parent
eca9bff4
Pipeline
#17762
failed with stage
in 0 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
343 additions
and
2 deletions
+343
-2
master/bt5/slapos_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_consistency.sql
...ortal_catalog/erp5_mysql_innodb/z_catalog_consistency.sql
+13
-2
master/bt5/slapos_mysql_innodb_catalog/TestTemplateItem/portal_components/test.erp5.testSlapOSCatalogConsistency.py
...rtal_components/test.erp5.testSlapOSCatalogConsistency.py
+196
-0
master/bt5/slapos_mysql_innodb_catalog/TestTemplateItem/portal_components/test.erp5.testSlapOSCatalogConsistency.xml
...tal_components/test.erp5.testSlapOSCatalogConsistency.xml
+133
-0
master/bt5/slapos_mysql_innodb_catalog/bt/template_test_id_list
.../bt5/slapos_mysql_innodb_catalog/bt/template_test_id_list
+1
-0
No files found.
master/bt5/slapos_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_catalog_consistency.sql
View file @
4b660520
REPLACE
INTO
consistency
(
uid
,
consistency_error
)
DELETE
FROM
consistency
WHERE
<
dtml
-
in
uid
>
uid
=<
dtml
-
sqlvar
sequence
-
item
type
=
"int"
><
dtml
-
if
sequence
-
end
><
dtml
-
else
>
OR
</
dtml
-
if
>
</
dtml
-
in
>
;
<
dtml
-
var
"'
\0
'"
>
INSERT
INTO
consistency
VALUES
<
dtml
-
in
prefix
=
"loop"
expr
=
"_.range(_.len(uid))"
>
(
...
...
master/bt5/slapos_mysql_innodb_catalog/TestTemplateItem/portal_components/test.erp5.testSlapOSCatalogConsistency.py
0 → 100644
View file @
4b660520
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (C) 2013-2019 Nexedi SA and Contributors.
#
# This program is free software: you can Use, Study, Modify and Redistribute
# it under the terms of the GNU General Public License version 3, or (at your
# option) any later version, as published by the Free Software Foundation.
#
# You can also Link and Combine this program with other software covered by
# the terms of any of the Free Software licenses or any of the Open Source
# Initiative approved licenses and Convey the resulting work. Corresponding
# source of such a combination shall include the source code for all other
# software used.
#
# This program is distributed WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See COPYING file for full licensing terms.
# See https://www.nexedi.com/licensing for rationale and options.
#
##############################################################################
from
erp5.component.test.SlapOSTestCaseMixin
import
SlapOSTestCaseMixin
import
transaction
def
checkConsistencyWithError
(
self
,
**
kw
):
return
[
"Inconsistent"
]
def
checkConsistencyWithoutError
(
self
,
**
kw
):
return
[]
class
TestSlapOSCatalogConsistency
(
SlapOSTestCaseMixin
):
def
afterSetUp
(
self
):
SlapOSTestCaseMixin
.
afterSetUp
(
self
)
def
testSaleInvoiceTransaction
(
self
):
from
Products.ERP5Type.Base
import
Base
sale_invoice_transaction
=
self
.
portal
.
accounting_module
.
newContent
(
portal_type
=
"Sale Invoice Transaction"
)
original_checkConsistency
=
Base
.
checkConsistency
Base
.
checkConsistency
=
checkConsistencyWithoutError
try
:
transaction
.
commit
()
sale_invoice_transaction
.
immediateReindexObject
()
self
.
tic
()
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Sale Invoice Transaction"
,
consistency_error
=
0
,
uid
=
sale_invoice_transaction
.
getUid
()
)
self
.
assertEqual
(
document
,
sale_invoice_transaction
)
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Sale Invoice Transaction"
,
consistency_error
=
1
,
uid
=
sale_invoice_transaction
.
getUid
()
)
self
.
assertEqual
(
document
,
None
)
Base
.
checkConsistency
=
checkConsistencyWithError
transaction
.
commit
()
sale_invoice_transaction
.
immediateReindexObject
()
self
.
tic
()
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Sale Invoice Transaction"
,
consistency_error
=
1
,
uid
=
sale_invoice_transaction
.
getUid
()
)
self
.
assertEqual
(
document
,
sale_invoice_transaction
)
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Sale Invoice Transaction"
,
consistency_error
=
0
,
uid
=
sale_invoice_transaction
.
getUid
(),
)
self
.
assertEqual
(
document
,
None
)
finally
:
Base
.
checkConsistency
=
original_checkConsistency
def
testSubscriptionRequest
(
self
):
from
Products.ERP5Type.Base
import
Base
subscription_request
=
self
.
portal
.
subscription_request_module
.
newContent
(
portal_type
=
"Subscription Request"
)
original_checkConsistency
=
Base
.
checkConsistency
Base
.
checkConsistency
=
checkConsistencyWithoutError
try
:
transaction
.
commit
()
subscription_request
.
immediateReindexObject
()
self
.
tic
()
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Subscription Request"
,
consistency_error
=
0
,
uid
=
subscription_request
.
getUid
()
)
self
.
assertEqual
(
document
,
subscription_request
)
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Subscription Request"
,
consistency_error
=
1
,
uid
=
subscription_request
.
getUid
()
)
self
.
assertEqual
(
document
,
None
)
Base
.
checkConsistency
=
checkConsistencyWithError
transaction
.
commit
()
subscription_request
.
immediateReindexObject
()
self
.
tic
()
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Subscription Request"
,
consistency_error
=
1
,
uid
=
subscription_request
.
getUid
()
)
self
.
assertEqual
(
document
,
subscription_request
)
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Subscription Request"
,
consistency_error
=
0
,
uid
=
subscription_request
.
getUid
(),
)
self
.
assertEqual
(
document
,
None
)
finally
:
Base
.
checkConsistency
=
original_checkConsistency
def
testNotIndexedOnConsistencyTable
(
self
):
from
Products.ERP5Type.Base
import
Base
person
=
self
.
portal
.
person_module
.
newContent
(
portal_type
=
"Person"
)
original_checkConsistency
=
Base
.
checkConsistency
Base
.
checkConsistency
=
checkConsistencyWithoutError
try
:
transaction
.
commit
()
person
.
immediateReindexObject
()
self
.
tic
()
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Person"
,
consistency_error
=
0
,
uid
=
person
.
getUid
()
)
self
.
assertEqual
(
document
,
None
)
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Person"
,
consistency_error
=
1
,
uid
=
person
.
getUid
()
)
self
.
assertEqual
(
document
,
None
)
Base
.
checkConsistency
=
checkConsistencyWithError
transaction
.
commit
()
person
.
immediateReindexObject
()
self
.
tic
()
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Person"
,
consistency_error
=
1
,
uid
=
person
.
getUid
()
)
self
.
assertEqual
(
document
,
None
)
document
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Person"
,
consistency_error
=
0
,
uid
=
person
.
getUid
(),
)
self
.
assertEqual
(
document
,
None
)
finally
:
Base
.
checkConsistency
=
original_checkConsistency
\ No newline at end of file
master/bt5/slapos_mysql_innodb_catalog/TestTemplateItem/portal_components/test.erp5.testSlapOSCatalogConsistency.xml
0 → 100644
View file @
4b660520
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Test Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testSlapOSCatalogConsistency
</string>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testSlapOSCatalogConsistency
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Test Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
master/bt5/slapos_mysql_innodb_catalog/bt/template_test_id_list
0 → 100644
View file @
4b660520
test.erp5.testSlapOSCatalogConsistency
\ No newline at end of file
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