Commit de85c464 authored by Arnaud Fontaine's avatar Arnaud Fontaine

erp5_core_test: Migrate core tests ERP5/ERP5Type Products which have no external bt5 dependencies.

Not migrated:
  + testERP5Site: Checks Site creation and overrides setUp().
  + testERP5TypeInterfaces: Verifies that classes implements the Interfaces they claim to implement.
    => Should probably be integrated into coding style Unit Tests and done
       dynamically (MRO). Also, testERP5Interfaces imports code from that
       Unit Test and requires non-core bt5 to be installed.
  + testInvalidationBug: To-do (failing).
  + testPredicate: testDomainTool, inheriting from TestPredicateMixin, should be rewritten to not
    depend on erp5_apparel so that it can be moved to erp5_core_test.

Also, move manuallyInstallBusinessTemplate() and uninstallBusinessTemplate() from
ERP5TypeCommandLineTestCase to ERP5TypeTestCaseMixin as they are also used by
Live Unit Tests.
parent 1d5680fe
...@@ -30,14 +30,9 @@ import unittest ...@@ -30,14 +30,9 @@ import unittest
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
class TestAccessTab(ERP5TypeTestCase): class TestAccessTab(ERP5TypeTestCase):
def getTitle(self): def getTitle(self):
return "Access Tab Test" return "Access Tab Test"
def getBusinessTemplateList(self):
""" return business template list """
return ('erp5_base',)
def afterSetUp(self): def afterSetUp(self):
""" AfterSetup """ """ AfterSetup """
self.addPreferenceForAccessTab() self.addPreferenceForAccessTab()
...@@ -114,8 +109,8 @@ class TestAccessTab(ERP5TypeTestCase): ...@@ -114,8 +109,8 @@ class TestAccessTab(ERP5TypeTestCase):
self.assertEqual(len(person_menu), 2) self.assertEqual(len(person_menu), 2)
self.assertEqual(type(person_menu), tuple) self.assertEqual(type(person_menu), tuple)
(organisation_label, organisation_url) = organisation_menu (organisation_label, _) = organisation_menu
(person_label, person_url) = person_menu (person_label, _) = person_menu
self.assertEqual(organisation_label, 'Organisations') self.assertEqual(organisation_label, 'Organisations')
self.assertEqual(person_label, 'Persons') self.assertEqual(person_label, 'Persons')
...@@ -141,7 +136,7 @@ class TestAccessTab(ERP5TypeTestCase): ...@@ -141,7 +136,7 @@ class TestAccessTab(ERP5TypeTestCase):
self.assertEqual(len(view_list[0]), 2) self.assertEqual(len(view_list[0]), 2)
base = view_list[0] base = view_list[0]
(label, menu_list) = base (_, menu_list) = base
self.assertEqual(len(menu_list), 3) self.assertEqual(len(menu_list), 3)
currency_menu = menu_list[0] currency_menu = menu_list[0]
......
<?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>testAccessTab</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testAccessTab</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testAccessTab</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>
...@@ -220,7 +220,6 @@ class TestAlarm(ERP5TypeTestCase): ...@@ -220,7 +220,6 @@ class TestAlarm(ERP5TypeTestCase):
right_second_date = DateTime(self.date_format % (2006,9,29,6,00,00)) right_second_date = DateTime(self.date_format % (2006,9,29,6,00,00))
right_third_date = DateTime(self.date_format % (2006,9,29,15,00,00)) right_third_date = DateTime(self.date_format % (2006,9,29,15,00,00))
right_fourth_date = DateTime(self.date_format % (2006,10,2,6,00,00)) right_fourth_date = DateTime(self.date_format % (2006,10,2,6,00,00))
right_fifth_date = DateTime(self.date_format % (2006,10,2,15,00,00))
alarm = self.newAlarm(enabled=True) alarm = self.newAlarm(enabled=True)
self.tic() self.tic()
alarm.setPeriodicityStartDate(right_first_date) alarm.setPeriodicityStartDate(right_first_date)
......
<?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>default_reference</string> </key>
<value> <string>testAlarm</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testAlarm</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testAlarm</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testArrow</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testArrow</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testArrow</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -70,7 +70,6 @@ class TestAuoLogout(ERP5TypeTestCase): ...@@ -70,7 +70,6 @@ class TestAuoLogout(ERP5TypeTestCase):
Test auto logout feature of ERP5. Test auto logout feature of ERP5.
""" """
portal = self.getPortal() portal = self.getPortal()
request = self.app.REQUEST
stdin = urllib.urlencode({ stdin = urllib.urlencode({
'__ac_name': self.manager_username, '__ac_name': self.manager_username,
......
<?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>default_reference</string> </key>
<value> <string>testAutoLogout</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testAutoLogout</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testAutoLogout</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -87,9 +87,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -87,9 +87,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
def afterSetUp(self): def afterSetUp(self):
self.login() self.login()
portal = self.getPortal()
self.category_tool = self.getCategoryTool() self.category_tool = self.getCategoryTool()
portal_catalog = self.getCatalogTool()
#portal_catalog.manage_catalogClear() #portal_catalog.manage_catalogClear()
self.createCategories() self.createCategories()
...@@ -112,7 +110,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -112,7 +110,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
category_list = ['testGroup1', 'testGroup2'] category_list = ['testGroup1', 'testGroup2']
if 'testGroup1' not in self.category_tool.group.contentIds(): if 'testGroup1' not in self.category_tool.group.contentIds():
for category_id in category_list: for category_id in category_list:
o = self.category_tool.group.newContent(portal_type='Category', self.category_tool.group.newContent(portal_type='Category',
id=category_id) id=category_id)
def stepRemoveWorkflowsRelated(self, sequence=None, sequence_list=None, def stepRemoveWorkflowsRelated(self, sequence=None, sequence_list=None,
...@@ -937,10 +935,10 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -937,10 +935,10 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
cbt = pw._chains_by_type cbt = pw._chains_by_type
props = {} props = {}
for id, wf_ids in cbt.iteritems(): for id_, wf_ids in cbt.iteritems():
if id == portal_type: if id_ == portal_type:
wf_ids = list(wf_ids) + [dummy_worlflow_id] wf_ids = list(wf_ids) + [dummy_worlflow_id]
props['chain_%s' % id] = ','.join(wf_ids) props['chain_%s' % id_] = ','.join(wf_ids)
pw.manage_changeWorkflows('', props = props) pw.manage_changeWorkflows('', props = props)
pw.manage_delObjects([dummy_worlflow_id]) pw.manage_delObjects([dummy_worlflow_id])
...@@ -988,10 +986,10 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -988,10 +986,10 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
dummy_validation_worlflow.variables.setStateVar('validation_state') dummy_validation_worlflow.variables.setStateVar('validation_state')
cbt = pw._chains_by_type cbt = pw._chains_by_type
props = {} props = {}
for id, wf_ids in cbt.iteritems(): for id_, wf_ids in cbt.iteritems():
if id == portal_type: if id_ == portal_type:
old_wf_ids = wf_ids old_wf_ids = wf_ids
props['chain_%s' % id] = ','.join([dummy_validation_worlflow_id, dummy_simulation_worlflow_id]) props['chain_%s' % id_] = ','.join([dummy_validation_worlflow_id, dummy_simulation_worlflow_id])
pw.manage_changeWorkflows('', props=props) pw.manage_changeWorkflows('', props=props)
permission_list = list(dummy_simulation_worlflow.permissions) permission_list = list(dummy_simulation_worlflow.permissions)
manager_has_permission = {} manager_has_permission = {}
...@@ -1065,6 +1063,8 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -1065,6 +1063,8 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
self.assertEqual(None, obj.getViewPermissionOwner()) self.assertEqual(None, obj.getViewPermissionOwner())
def test_Member_Base_download(self): def test_Member_Base_download(self):
import Products.ERP5Type
# tests that members can download files # tests that members can download files
class DummyFile(file): class DummyFile(file):
def __init__(self, filename): def __init__(self, filename):
...@@ -1073,7 +1073,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -1073,7 +1073,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
portal = self.getPortal() portal = self.getPortal()
organisation = portal.organisation_module.newContent(portal_type='Organisation') organisation = portal.organisation_module.newContent(portal_type='Organisation')
file_document = organisation.newContent(portal_type='Embedded File', file_document = organisation.newContent(portal_type='Embedded File',
file=DummyFile(__file__), file=DummyFile(Products.ERP5Type.__file__),
content_type='text/plain') content_type='text/plain')
# login as a member # login as a member
...@@ -1089,7 +1089,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -1089,7 +1089,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
self.assertEqual(file_document.getData(), response.body) self.assertEqual(file_document.getData(), response.body)
self.assertEqual('text/plain', self.assertEqual('text/plain',
response.getHeader('content-type').split(';')[0]) response.getHeader('content-type').split(';')[0])
self.assertEqual('attachment; filename="%s"' % os.path.basename(__file__), self.assertEqual('attachment; filename="%s"' % os.path.basename(Products.ERP5Type.__file__),
response.getHeader('content-disposition')) response.getHeader('content-disposition'))
def test_getTypeBasedMethod(self): def test_getTypeBasedMethod(self):
...@@ -1115,12 +1115,12 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -1115,12 +1115,12 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
'scripts_params=None', 'scripts_params=None',
'# Script body\n' '# Script body\n'
'return context.getId()' ) 'return context.getId()' )
copy_container_script = createZODBPythonScript(portal.portal_skins.custom, createZODBPythonScript(portal.portal_skins.custom,
'CopyContainer_dummyFooMethod', 'CopyContainer_dummyFooMethod',
'scripts_params=None', 'scripts_params=None',
'# Script body\n' '# Script body\n'
'return context.getId()' ) 'return context.getId()' )
cmfbtree_folder_script = createZODBPythonScript(portal.portal_skins.custom, createZODBPythonScript(portal.portal_skins.custom,
'CMFBTreeFolder_dummyFoo2Method', 'CMFBTreeFolder_dummyFoo2Method',
'scripts_params=None', 'scripts_params=None',
'# Script body\n' '# Script body\n'
...@@ -1143,7 +1143,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -1143,7 +1143,7 @@ class TestBase(ERP5TypeTestCase, ZopeTestCase.Functional):
self.assertEqual(pers.getDummyTypeBaseMethod(), "Script Not Found") self.assertEqual(pers.getDummyTypeBaseMethod(), "Script Not Found")
person_dummy_script = createZODBPythonScript(portal.portal_skins.custom, createZODBPythonScript(portal.portal_skins.custom,
'Person_getDummyTypeBaseMethod', 'Person_getDummyTypeBaseMethod',
'scripts_params=None', 'scripts_params=None',
'# Script body\n' '# Script body\n'
......
<?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>default_reference</string> </key>
<value> <string>testBase</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testBase</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testBase</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>
<string>W: 82, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
<string>W:951, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1034, 10: Redefining built-in \'id\' (redefined-builtin)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -6303,11 +6303,13 @@ class TestBusinessTemplate(BusinessTemplateMixin): ...@@ -6303,11 +6303,13 @@ class TestBusinessTemplate(BusinessTemplateMixin):
obj.int_index = marker_list.pop() obj.int_index = marker_list.pop()
return obj return obj
SimpleItem_getCopy = SimpleItem._getCopy SimpleItem_getCopy = SimpleItem._getCopy
import Products.ERP5.tests
try: try:
BaseTemplateItem.removeProperties = removeProperties BaseTemplateItem.removeProperties = removeProperties
SimpleItem._getCopy = lambda *args: self.fail() SimpleItem._getCopy = lambda *args: self.fail()
template_tool = portal.portal_templates template_tool = portal.portal_templates
bt_path = os.path.join(os.path.dirname(__file__), 'test_data', bt_path = os.path.join(os.path.dirname(Products.ERP5.tests.__file__),
'test_data',
'test_167_InstanceAndRelatedClassDefinedInSameBT') 'test_167_InstanceAndRelatedClassDefinedInSameBT')
# create a previously existing instance of the overriden document type # create a previously existing instance of the overriden document type
File = portal.portal_types.getPortalTypeClass('File') File = portal.portal_types.getPortalTypeClass('File')
...@@ -6359,7 +6361,9 @@ class TestBusinessTemplate(BusinessTemplateMixin): ...@@ -6359,7 +6361,9 @@ class TestBusinessTemplate(BusinessTemplateMixin):
except AttributeError: except AttributeError:
pass pass
template_tool = self.portal.portal_templates template_tool = self.portal.portal_templates
bt_path = os.path.join(os.path.dirname(__file__), 'test_data', import Products.ERP5.tests
bt_path = os.path.join(os.path.dirname(Products.ERP5.tests.__file__),
'test_data',
'BusinessTemplate_test_168_CheckPortalTypeAndPathInSameBusinessTemplate') 'BusinessTemplate_test_168_CheckPortalTypeAndPathInSameBusinessTemplate')
bt = template_tool.download(bt_path) bt = template_tool.download(bt_path)
foo_in_bt = bt._path_item._objects["foo"] foo_in_bt = bt._path_item._objects["foo"]
...@@ -8399,22 +8403,22 @@ class TestDocumentTemplateItem(_LocalTemplateItemMixin, ...@@ -8399,22 +8403,22 @@ class TestDocumentTemplateItem(_LocalTemplateItemMixin,
_ProductMigrationTemplateItemMixin): _ProductMigrationTemplateItemMixin):
document_title = 'UnitTest' document_title = 'UnitTest'
document_portal_type = 'Unit Test' document_portal_type = 'Unit Test'
document_data = """from Products.ERP5Type.XMLObject import XMLObject document_data = """from Products.ERP5Type.Base import Base
from Products.ERP5Type.Globals import InitializeClass from Products.ERP5Type.Globals import InitializeClass
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
class UnitTest(XMLObject): class UnitTest(Base):
meta_type = 'ERP5 Unit Test' meta_type = 'ERP5 Unit Test'
portal_type = 'Unit Test' portal_type = 'Unit Test'
security = ClassSecurityInfo() security = ClassSecurityInfo()
InitializeClass(UnitTest) InitializeClass(UnitTest)
""" """
document_data_updated = """from Products.ERP5Type.XMLObject import XMLObject document_data_updated = """from Products.ERP5Type.Base import Base
from Products.ERP5Type.Globals import InitializeClass from Products.ERP5Type.Globals import InitializeClass
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
class UnitTest(XMLObject): class UnitTest(Base):
meta_type = 'ERP5 Unit Test' meta_type = 'ERP5 Unit Test'
portal_type = 'Unit Test' portal_type = 'Unit Test'
security = ClassSecurityInfo() security = ClassSecurityInfo()
......
<?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>default_reference</string> </key>
<value> <string>testBusinessTemplate</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testBusinessTemplate</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testBusinessTemplate</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>
<string>W:2834, 0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
<string>W:3153, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W: 78, 2: Arguments number differs from overridden \'_catch_log_errors\' method (arguments-differ)</string>
<string>W: 95, 2: Arguments number differs from overridden \'_ignore_log_errors\' method (arguments-differ)</string>
<string>W:145, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:437, 8: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:628, 6: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:616, 4: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:627, 8: Unused variable \'i\' (unused-variable)</string>
<string>W:652, 6: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:651, 8: Unused variable \'i\' (unused-variable)</string>
<string>W:706, 6: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:719, 6: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:1201, 8: Unused variable \'i\' (unused-variable)</string>
<string>W:1269, 8: Unused variable \'i\' (unused-variable)</string>
<string>W:1347, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1363, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1376, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1387, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1399, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1399, 14: Unused variable \'wf_ids\' (unused-variable)</string>
<string>W:1455, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:1487, 4: Redefining built-in \'bin\' (redefined-builtin)</string>
<string>W:1723, 4: Redefining built-in \'filter\' (redefined-builtin)</string>
<string>W:1740, 4: Redefining built-in \'filter\' (redefined-builtin)</string>
<string>W:1760, 6: Expression "catalog._getFilterDict()[method_id]" is assigned to nothing (expression-not-assigned)</string>
<string>W:1781, 6: Expression "catalog._getFilterDict()[method_id]" is assigned to nothing (expression-not-assigned)</string>
<string>W:2478, 4: Unreachable code (unreachable)</string>
<string>W:2753, 12: Unused variable \'key\' (unused-variable)</string>
<string>W:2869, 4: No exception type(s) specified (bare-except)</string>
<string>W:2880, 4: No exception type(s) specified (bare-except)</string>
<string>W:2974, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:3004, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:3004, 14: Unused variable \'wf_ids\' (unused-variable)</string>
<string>W:3019, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:3019, 14: Unused variable \'wf_ids\' (unused-variable)</string>
<string>W:3034, 10: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:3072, 6: Unused variable \'portal_type\' (unused-variable)</string>
<string>W:3149, 69: Unused variable \'i\' (unused-variable)</string>
<string>W:6339, 12: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:6429, 8: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:6824, 4: Unused variable \'new_object\' (unused-variable)</string>
<string>W:7004, 4: Unused variable \'bt\' (unused-variable)</string>
<string>W:7009, 4: Unused variable \'bt\' (unused-variable)</string>
<string>W:7189, 4: Unused variable \'broken\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testCache</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testCache</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testCache</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>
<string>W: 68, 29: map/filter on lambda could be replaced by comprehension (deprecated-lambda)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -56,12 +56,6 @@ class TestCacheTool(ERP5TypeTestCase): ...@@ -56,12 +56,6 @@ class TestCacheTool(ERP5TypeTestCase):
def getTitle(self): def getTitle(self):
return "Cache Tool" return "Cache Tool"
def getBusinessTemplateList(self):
"""
Return the list of business templates.
"""
return ('erp5_base',)
def afterSetUp(self): def afterSetUp(self):
self.login() self.login()
self.checkCacheTool() self.checkCacheTool()
...@@ -287,16 +281,16 @@ return result ...@@ -287,16 +281,16 @@ return result
def test_03_cachePersistentObjects(self): def test_03_cachePersistentObjects(self):
# storing persistent objects in cache is not allowed, but this check is # storing persistent objects in cache is not allowed, but this check is
# only performed in unit tests. # only performed in unit tests.
def func(): def cache_persistent_obj_func():
# return a persistent object # return a persistent object
return self.portal return self.portal
cached_func = CachingMethod(func, 'cache_persistent_obj') cached_func = CachingMethod(cache_persistent_obj_func, 'cache_persistent_obj')
self.assertRaises(TypeError, cached_func) self.assertRaises(TypeError, cached_func)
def func(): def cache_bound_method_func():
# return a method bound on a persistent object # return a method bound on a persistent object
return self.portal.getTitle return self.portal.getTitle
cached_func = CachingMethod(func, 'cache_bound_method') cached_func = CachingMethod(cache_bound_method_func, 'cache_bound_method')
self.assertRaises(TypeError, cached_func) self.assertRaises(TypeError, cached_func)
def test_04_CheckConcurrentRamCacheDict(self): def test_04_CheckConcurrentRamCacheDict(self):
...@@ -520,8 +514,8 @@ return 'a' * 1024 * 1024 * 25 ...@@ -520,8 +514,8 @@ return 'a' * 1024 * 1024 * 25
cache_bag1 = cache_factory.newContent(portal_type="Cache Bag", cache_bag1 = cache_factory.newContent(portal_type="Cache Bag",
cache_duration=3600) cache_duration=3600)
cache_bag1.setIntIndex(1) cache_bag1.setIntIndex(1)
ram_cache1 = cache_bag1.newContent(portal_type="Ram Cache") cache_bag1.newContent(portal_type="Ram Cache")
ram_cache2 = cache_bag1.newContent(portal_type="Ram Cache") cache_bag1.newContent(portal_type="Ram Cache")
self.tic() self.tic()
portal_caches.updateCache() portal_caches.updateCache()
......
<?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>default_reference</string> </key>
<value> <string>testCacheTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testCacheTool</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testCacheTool</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>
<string>W: 68, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testCachedSkinsTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testCachedSkinsTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testCachedSkinsTool</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>
<string>W: 60, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -1595,7 +1595,7 @@ class TestConstraint(PropertySheetTestCase): ...@@ -1595,7 +1595,7 @@ class TestConstraint(PropertySheetTestCase):
""" """
property_sheet = self.portal.portal_property_sheets.newContent( property_sheet = self.portal.portal_property_sheets.newContent(
id="TestConstraint", title="Test Constraint") id="TestConstraint", title="Test Constraint")
constraint = property_sheet.newContent(portal_type="TALES Constraint", property_sheet.newContent(portal_type="TALES Constraint",
id="check_title_constraint", id="check_title_constraint",
expression="python: object.setTitle(object.getTitle() + 'a')") expression="python: object.setTitle(object.getTitle() + 'a')")
portal_type = self.portal.portal_types[self.object_portal_type] portal_type = self.portal.portal_types[self.object_portal_type]
......
<?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>default_reference</string> </key>
<value> <string>testConstraint</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testConstraint</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testConstraint</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>
<string>W: 52, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
<string>W:117, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:131, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:144, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:156, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:167, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:176, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:186, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:196, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:204, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:216, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:228, 4: Redefining built-in \'file\' (redefined-builtin)</string>
<string>W:241, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:254, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:267, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:1330, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:1376, 4: Redefining built-in \'object\' (redefined-builtin)</string>
<string>W:1386, 4: Redefining built-in \'object\' (redefined-builtin)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testContributionRegistryTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testContributionRegistryTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testContributionRegistryTool</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -20,8 +20,7 @@ from OFS.DTMLMethod import DTMLMethod ...@@ -20,8 +20,7 @@ from OFS.DTMLMethod import DTMLMethod
from OFS.Folder import Folder from OFS.Folder import Folder
from AccessControl.User import UserFolder from AccessControl.User import UserFolder
from Products.CMFCore.CookieCrumbler \ from Products.CMFCore.CookieCrumbler import CookieCrumbler
import CookieCrumbler, manage_addCC, Redirect
from Products.CMFCore.tests.test_CookieCrumbler import makerequest from Products.CMFCore.tests.test_CookieCrumbler import makerequest
from Products.CMFCore.tests.test_CookieCrumbler import CookieCrumblerTests from Products.CMFCore.tests.test_CookieCrumbler import CookieCrumblerTests
......
<?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>default_reference</string> </key>
<value> <string>testCookieCrumbler</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testCookieCrumbler</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testCookieCrumbler</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testCopySupport</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testCopySupport</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testCopySupport</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
import os import os
import unittest import unittest
from unittest import expectedFailure
from DateTime import DateTime from DateTime import DateTime
from Products.ERP5Type.Utils import convertToUpperCase from Products.ERP5Type.Utils import convertToUpperCase
...@@ -76,8 +75,9 @@ class TestERP5Base(ERP5TypeTestCase): ...@@ -76,8 +75,9 @@ class TestERP5Base(ERP5TypeTestCase):
################################## ##################################
def makeImageFileUpload(self, filename): def makeImageFileUpload(self, filename):
import Products.ERP5.tests
return FileUpload( return FileUpload(
os.path.join(os.path.dirname(__file__), os.path.join(os.path.dirname(Products.ERP5.tests.__file__),
'test_data', 'images', filename)) 'test_data', 'images', filename))
def login(self): def login(self):
...@@ -399,7 +399,6 @@ class TestERP5Base(ERP5TypeTestCase): ...@@ -399,7 +399,6 @@ class TestERP5Base(ERP5TypeTestCase):
region = self.getCategoryDictList(base_category='region')[0] region = self.getCategoryDictList(base_category='region')[0]
region_path = region["category_relative_url"] region_path = region["category_relative_url"]
region_title = region["title"]
region_object = self.portal_categories.resolveCategory('region/'+region_path) region_object = self.portal_categories.resolveCategory('region/'+region_path)
organisation.setDefaultAddressCity('Lille') organisation.setDefaultAddressCity('Lille')
organisation.setDefaultAddressRegion(region_path) organisation.setDefaultAddressRegion(region_path)
...@@ -624,7 +623,6 @@ class TestERP5Base(ERP5TypeTestCase): ...@@ -624,7 +623,6 @@ class TestERP5Base(ERP5TypeTestCase):
def stepCheckCareerSubordination (self, sequence=None, **kw) : def stepCheckCareerSubordination (self, sequence=None, **kw) :
"""checks that setting subordination on a career does not conflict """checks that setting subordination on a career does not conflict
with acquisition.""" with acquisition."""
person = sequence.get('person')
old_career_step = sequence.get('old_career_step') old_career_step = sequence.get('old_career_step')
new_career_step = sequence.get('new_career_step') new_career_step = sequence.get('new_career_step')
new_organisation = sequence.get('new_organisation') new_organisation = sequence.get('new_organisation')
...@@ -958,12 +956,10 @@ class TestERP5Base(ERP5TypeTestCase): ...@@ -958,12 +956,10 @@ class TestERP5Base(ERP5TypeTestCase):
default_career_subordination_value=first_organisation) default_career_subordination_value=first_organisation)
current_career = person.getDefaultCareerValue() current_career = person.getDefaultCareerValue()
current_career.setStartDate(DateTime(2002, 1, 1)) current_career.setStartDate(DateTime(2002, 1, 1))
previous_career = person.newContent( person.newContent(portal_type='Career',
portal_type='Career',
subordination_value=first_organisation, subordination_value=first_organisation,
start_date=DateTime(2001, 1, 1)) start_date=DateTime(2001, 1, 1))
other_organisation_career= person.newContent( person.newContent(portal_type='Career',
portal_type='Career',
subordination_value=second_organisation, subordination_value=second_organisation,
start_date=DateTime(1999, 9, 9)) start_date=DateTime(1999, 9, 9))
self.assertEqual(DateTime(2001, 1, 1), self.assertEqual(DateTime(2001, 1, 1),
......
<?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>default_reference</string> </key>
<value> <string>testERP5Base</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testERP5Base</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testERP5Base</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>
<string>W: 82, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testERP5Category</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testERP5Category</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testERP5Category</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>
<string>W:158, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testERP5Coordinate</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testERP5Coordinate</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testERP5Coordinate</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -27,7 +27,6 @@ ...@@ -27,7 +27,6 @@
# #
############################################################################## ##############################################################################
import unittest
import pprint import pprint
import httplib import httplib
import urlparse import urlparse
...@@ -74,7 +73,12 @@ if 1: # BBB ...@@ -74,7 +73,12 @@ if 1: # BBB
# class # class
sm = zope.component.getSiteManager() sm = zope.component.getSiteManager()
portal = Acquisition.aq_parent(sm) portal = Acquisition.aq_parent(sm)
from zope.component.interfaces import ComponentLookupError
try:
ui_domain = sm.getUtility(ITranslationDomain, name='ui') ui_domain = sm.getUtility(ITranslationDomain, name='ui')
except ComponentLookupError:
pass
else:
# store in a list to avoid acquisition wrapping # store in a list to avoid acquisition wrapping
portal._save_ui_domain = [ui_domain] portal._save_ui_domain = [ui_domain]
sm.unregisterUtility(provided=ITranslationDomain, name='ui') sm.unregisterUtility(provided=ITranslationDomain, name='ui')
...@@ -107,11 +111,6 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -107,11 +111,6 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional):
def getTitle(self): def getTitle(self):
return "ERP5Core" return "ERP5Core"
def getBusinessTemplateList(self):
"""
"""
return ('erp5_base', )
def login(self, quiet=0, run=run_all_test): def login(self, quiet=0, run=run_all_test):
uf = self.getPortal().acl_users uf = self.getPortal().acl_users
uf._doAddUser(self.manager_username, self.manager_password, ['Manager'], []) uf._doAddUser(self.manager_username, self.manager_password, ['Manager'], [])
...@@ -237,6 +236,8 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -237,6 +236,8 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional):
{'title': 'Undo', 'id': 'undo'}], {'title': 'Undo', 'id': 'undo'}],
'object': [], 'object': [],
'object_action': [{'id': 'diff_object_action', 'title': 'Diff Object'}], 'object_action': [{'id': 'diff_object_action', 'title': 'Diff Object'}],
'object_exchange': [{'id': 'csv_export', 'title': 'Export Csv File'}, # erp5_csv_style
{'id': 'csv_import', 'title': 'Import Csv File'}], # erp5_csv_style
'object_hidden': [{'id': 'view_historical_comparison', 'object_hidden': [{'id': 'view_historical_comparison',
'title': 'View Historical Comparison'}, 'title': 'View Historical Comparison'},
{'id': 'view_historical_diff', {'id': 'view_historical_diff',
...@@ -264,6 +265,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -264,6 +265,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional):
'global': [], 'global': [],
'object': [], 'object': [],
'object_action': [{'id': 'diff_object_action', 'title': 'Diff Object'}], 'object_action': [{'id': 'diff_object_action', 'title': 'Diff Object'}],
'object_exchange': [{'id': 'csv_export', 'title': 'Export Csv File'}], # erp5_csv_style
'object_hidden': [{'id': 'view_historical_comparison', 'object_hidden': [{'id': 'view_historical_comparison',
'title': 'View Historical Comparison'}, 'title': 'View Historical Comparison'},
{'id': 'view_historical_diff', {'id': 'view_historical_diff',
...@@ -285,6 +287,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -285,6 +287,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional):
'global': [], 'global': [],
'object': [], 'object': [],
'object_action': [{'id': 'diff_object_action', 'title': 'Diff Object'}], 'object_action': [{'id': 'diff_object_action', 'title': 'Diff Object'}],
'object_exchange': [{'id': 'csv_export', 'title': 'Export Csv File'}], # erp5_csv_style
'object_hidden': [{'id': 'view_historical_comparison', 'object_hidden': [{'id': 'view_historical_comparison',
'title': 'View Historical Comparison'}, 'title': 'View Historical Comparison'},
{'id': 'view_historical_diff', {'id': 'view_historical_diff',
...@@ -626,8 +629,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional): ...@@ -626,8 +629,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional):
self.commit() self.commit()
self.tic() self.tic()
api_scheme, api_netloc, api_path, api_query, \ _, api_netloc, _, _, _ = urlparse.urlsplit(self.portal.absolute_url())
api_fragment = urlparse.urlsplit(self.portal.absolute_url())
connection = httplib.HTTPConnection(api_netloc) connection = httplib.HTTPConnection(api_netloc)
connection.request( connection.request(
......
<?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>default_reference</string> </key>
<value> <string>testERP5Core</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testERP5Core</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testERP5Core</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>
<string>W: 67, 4: Using the global statement (global-statement)</string>
<string>W:578, 4: Redefining name \'ITranslationDomain\' from outer scope (line 53) (redefined-outer-name)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testFolder</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testFolder</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testFolder</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>
<string>W: 45, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 46, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 48, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 49, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 52, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 54, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 55, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 58, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 59, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 61, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 64, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 65, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 68, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 70, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 71, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 73, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 74, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 77, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 79, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 80, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 84, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 87, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 88, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 93, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 94, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 95, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 96, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 97, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 98, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:100, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:101, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:104, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:105, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:106, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:109, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:110, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:111, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:112, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W:113, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W:114, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W:116, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:117, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:118, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:119, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:121, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:122, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:123, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:127, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:128, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:130, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:133, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:134, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:135, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:136, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:138, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:139, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:140, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:141, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:143, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:144, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:146, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:148, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:149, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:150, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:151, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:152, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:154, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:155, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:157, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:158, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:159, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:162, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:163, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:164, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:165, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:166, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:167, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:169, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:171, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:172, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:173, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:176, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:179, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:180, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:181, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:182, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:183, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:184, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:185, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:186, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:187, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:189, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:190, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:191, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:192, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:194, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:195, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:196, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:197, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:198, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:199, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:200, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:201, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:202, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:204, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:205, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:206, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:207, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:209, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:210, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:211, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:212, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:213, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:214, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:215, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:216, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:217, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:218, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:220, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:221, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:222, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:223, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:225, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:226, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:227, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:228, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:229, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:230, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:231, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:232, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:233, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:234, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:236, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:237, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:238, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:239, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:240, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:241, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:243, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:244, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:245, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:246, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:247, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:248, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:249, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:250, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:251, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:252, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:253, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:255, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:256, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:257, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:258, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:260, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:261, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:262, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:263, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:264, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:265, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:266, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:268, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:269, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:271, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:272, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:273, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:274, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:275, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:276, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:277, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:278, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:279, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:280, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:281, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:282, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W:283, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:284, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:287, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:288, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:289, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:290, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:291, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:292, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:293, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:294, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:295, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:296, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:297, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:163, 6: Unused variable \'edit\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testFolderMigration</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testFolderMigration</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testFolderMigration</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>
<string>W: 41, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 42, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 44, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 45, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 48, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 50, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 51, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 54, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 55, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 58, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 59, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 62, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 63, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 64, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 65, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 67, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 68, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 71, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 73, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 74, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 77, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 78, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 79, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 81, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 82, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 86, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 87, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 88, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 89, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 90, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 91, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 92, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 93, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 94, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 96, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 98, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:100, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:101, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:102, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:103, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:105, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:106, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:107, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:109, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:110, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:111, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:112, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:113, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:114, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:116, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:117, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:119, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:120, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:123, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:124, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:125, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:127, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:128, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:131, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:132, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:133, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:134, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:136, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:137, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:141, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:142, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:143, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:145, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:147, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:149, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:150, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:151, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:153, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:154, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:155, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:156, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:157, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:159, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:160, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:161, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:163, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:164, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:168, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:169, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:170, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:171, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:172, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:173, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:174, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:175, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:176, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:179, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:180, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:182, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:183, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:184, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:185, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:187, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:188, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:189, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:191, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:192, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:193, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:195, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:196, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:198, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:199, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:203, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:204, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:205, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:206, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:207, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:208, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:209, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:210, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:211, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:214, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:215, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:217, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:218, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:219, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:220, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:222, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:223, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:224, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:226, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:227, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:228, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:230, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:231, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:233, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:234, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:235, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:236, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:238, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:239, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:240, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:241, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:243, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:244, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:245, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:247, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:248, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:250, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:251, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:255, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:256, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:257, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:258, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:259, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:260, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:261, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:262, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:263, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:265, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:267, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:269, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:270, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:271, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:272, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:274, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:275, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:276, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:278, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:279, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:280, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:281, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:282, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:283, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:285, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:286, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:288, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:290, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:293, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:294, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:295, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:296, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:298, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:299, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:303, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:304, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:305, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:306, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:307, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:308, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:309, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:310, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:311, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:313, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:315, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:316, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:318, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:320, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:321, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:322, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:323, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:325, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:326, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:327, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:329, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:330, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:331, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:332, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:333, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:334, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:336, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:337, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:339, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:340, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:345, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:346, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:347, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:348, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:349, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:350, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:351, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:352, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:353, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:355, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:356, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:357, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:358, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:359, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:360, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:361, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:362, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:363, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:365, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:366, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:371, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:372, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:373, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:374, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:375, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:376, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:377, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:378, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:379, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:381, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:382, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:383, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:384, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:385, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:386, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:387, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:388, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:389, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:390, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:391, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:392, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:393, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:395, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:396, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:399, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:400, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:401, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:403, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:404, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:405, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:407, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:408, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:412, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:413, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:414, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:415, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:417, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:418, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:419, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:420, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:421, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:422, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:424, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:425, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:427, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:428, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:429, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:430, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:432, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:433, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:434, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:436, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:437, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:438, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:439, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:440, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:442, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:443, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:444, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:446, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:447, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:449, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:451, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:452, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:454, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:455, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:457, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:458, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:460, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:461, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:463, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W:464, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:465, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:467, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:468, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:470, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:472, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:473, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:475, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:476, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:478, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:479, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:481, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:482, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:419, 6: Unused variable \'obj1\' (unused-variable)</string>
<string>W:421, 6: Unused variable \'obj3\' (unused-variable)</string>
<string>W:420, 6: Unused variable \'obj2\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testGeographicalAddress</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testGeographicalAddress</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testGeographicalAddress</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>
<string>W: 80, 2: Arguments number differs from overridden \'afterSetUp\' method (arguments-differ)</string>
<string>W: 94, 8: Unused variable \'o\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testI18NSearch</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testI18NSearch</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testI18NSearch</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testIdTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testIdTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testIdTool</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testIdToolUpgrade</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testIdToolUpgrade</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testIdToolUpgrade</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>
<string>W:141, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W:142, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W:143, 0: Bad indentation. Found 12 spaces, expected 8 (bad-indentation)</string>
<string>W:176, 10: Unused variable \'i\' (unused-variable)</string>
<string>W:271, 6: Assert called on a 2-uple. Did you mean \'assert x,y\'? (assert-on-tuple)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -32,7 +32,6 @@ import transaction ...@@ -32,7 +32,6 @@ import transaction
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from Products.ERP5Type.Base import _aq_reset from Products.ERP5Type.Base import _aq_reset
import Products.ERP5
from AccessControl import ClassSecurityInfo from AccessControl import ClassSecurityInfo
from Products.ERP5Type.Workflow import addWorkflowByType from Products.ERP5Type.Workflow import addWorkflowByType
......
<?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>default_reference</string> </key>
<value> <string>testInteractionWorkflow</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testInteractionWorkflow</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testInteractionWorkflow</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>
<string>W: 82, 4: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W: 83, 4: Unused variable \'wf_type\' (unused-variable)</string>
<string>W:100, 4: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:101, 4: Unused variable \'wf_type\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testIntrospectionTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testIntrospectionTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testIntrospectionTool</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>
<string>W: 46, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testLocalizer</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testLocalizer</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testLocalizer</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>
<string>W:153, 4: Unused variable \'test_script\' (unused-variable)</string>
<string>W:194, 4: Unused variable \'localizer\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -53,7 +53,7 @@ class TestMemcachedTool(ERP5TypeTestCase): ...@@ -53,7 +53,7 @@ class TestMemcachedTool(ERP5TypeTestCase):
def getTitle(self): def getTitle(self):
return "MemcachedTool" return "MemcachedTool"
def setUp(self): def setUp(self): # pylint: disable=method-hidden
super(TestMemcachedTool, self).setUp() super(TestMemcachedTool, self).setUp()
installRealMemcachedTool(self.portal) installRealMemcachedTool(self.portal)
memcached_tool = self.portal.portal_memcached memcached_tool = self.portal.portal_memcached
......
<?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>default_reference</string> </key>
<value> <string>testMemcachedTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testMemcachedTool</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testMemcachedTool</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>
<string>W: 79, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
<string>W:106, 6: Unused variable \'memcache\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testNotificationMessageModule</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testNotificationMessageModule</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testNotificationMessageModule</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>
<string>W: 49, 2: Arguments number differs from overridden \'createUser\' method (arguments-differ)</string>
<string>W:149, 4: Unused variable \'mime\' (unused-variable)</string>
<string>W:168, 4: Unused variable \'mime\' (unused-variable)</string>
<string>W:187, 4: Unused variable \'mime\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -508,76 +508,7 @@ Yes, I will go.""" ...@@ -508,76 +508,7 @@ Yes, I will go."""
sequence_list.addSequenceString(sequence_string) sequence_list.addSequenceString(sequence_string)
sequence_list.play(self) sequence_list.play(self)
class TestNotificationToolWithCRM(TestNotificationTool):
"""Make sure that notification tool works with crm"""
def getTitle(self):
return "Notification Tool With CRM"
def getBusinessTemplateList(self):
return ('erp5_base', 'erp5_crm')
def beforeTearDown(self):
TestNotificationTool.beforeTearDown(self)
self.portal.event_module.manage_delObjects(
list(self.portal.event_module.objectIds()))
self.tic()
def test_store_as_event(self):
# passing store_as_event=True to NotificationTool.sendMessage will store
# the message in an event
person = self.portal.person_module.newContent(
portal_type="Person",
default_email_text="userA@example.invalid")
self.tic()
self.portal.portal_notifications.sendMessage(
store_as_event=True,
recipient=person,
subject='Subject',
message='Message')
self.tic()
last_message, = self.portal.MailHost._message_list
mfrom, mto, messageText = last_message
mail_dict = decode_email(messageText)
self.assertEqual('Portal Administrator <site@example.invalid>', mfrom)
self.assertEqual(['userA@example.invalid'], mto)
# check that an event has been created
event_list = self.portal.event_module.contentValues()
self.assertEqual(1, len(event_list))
event = event_list[0]
self.assertEqual('Mail Message', event.getPortalTypeName())
self.assertEqual('Subject', event.getTitle())
self.assertEqual('Message', event.getTextContent())
self.assertNotEquals(None, event.getStartDate())
self.assertEqual(person, event.getDestinationValue())
self.assertEqual('started', event.getSimulationState())
def test_check_consistency(self):
# This test only applies when erp5_crm is installed and we have
# a constraint on mail message
person_without_email = self.portal.person_module.newContent(
portal_type="Person",)
self.tic()
with self.assertRaises(ValueError) as exception_context:
self.portal.portal_notifications.sendMessage(
check_consistency=True,
recipient=person_without_email,
subject='Subject',
message='Message')
consistency_message_list, = exception_context.exception.args
consistency_message, = consistency_message_list
from Products.ERP5Type.ConsistencyMessage import ConsistencyMessage
self.assertIsInstance(consistency_message, ConsistencyMessage)
self.assertEqual(
'Recipients email must be defined',
str(consistency_message.getTranslatedMessage()))
def test_suite(): def test_suite():
suite = unittest.TestSuite() suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestNotificationTool)) suite.addTest(unittest.makeSuite(TestNotificationTool))
suite.addTest(unittest.makeSuite(TestNotificationToolWithCRM))
return suite return suite
<?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>default_reference</string> </key>
<value> <string>testNotificationTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testNotificationTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testNotificationTool</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>
<string>W: 64, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W: 41, 17: Redefining built-in \'file\' (redefined-builtin)</string>
<string>W:110, 2: Arguments number differs from overridden \'createUser\' method (arguments-differ)</string>
<string>W:200, 16: Unused variable \'messageText\' (unused-variable)</string>
<string>W:240, 16: Unused variable \'messageText\' (unused-variable)</string>
<string>W:253, 16: Unused variable \'messageText\' (unused-variable)</string>
<string>W:349, 16: Unused variable \'messageText\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testPerson</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testPerson</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testPerson</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testQueryModule</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testQueryModule</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testQueryModule</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testRestrictedPythonSecurity</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testRestrictedPythonSecurity</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testRestrictedPythonSecurity</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -50,12 +50,6 @@ class TestSessionTool(ERP5TypeTestCase): ...@@ -50,12 +50,6 @@ class TestSessionTool(ERP5TypeTestCase):
def getTitle(self): def getTitle(self):
return "Session Tool" return "Session Tool"
def getBusinessTemplateList(self):
"""
Return the list of business templates.
"""
return ('erp5_base',)
def afterSetUp(self): def afterSetUp(self):
# create a Memcached Plugin # create a Memcached Plugin
memcached_tool = self.portal.portal_memcached memcached_tool = self.portal.portal_memcached
...@@ -106,12 +100,11 @@ class TestSessionTool(ERP5TypeTestCase): ...@@ -106,12 +100,11 @@ class TestSessionTool(ERP5TypeTestCase):
def stepTestAcquisitionRamSessionStorage(self, sequence=None, \ def stepTestAcquisitionRamSessionStorage(self, sequence=None, \
sequence_list=None, **kw): sequence_list=None, **kw):
from Products.ERP5Type.Document import newTempOrder
portal_sessions = self.portal.portal_sessions portal_sessions = self.portal.portal_sessions
session = portal_sessions.newContent( session = portal_sessions.newContent(
self.session_id, \ self.session_id,
attr_1 = newTempOrder(portal_sessions, '1'), \ attr_1=self.portal.newContent(temp_object=True, portal_type='Document', id='1'),
attr_2 = newTempOrder(portal_sessions, '2'),) attr_2=self.portal.newContent(temp_object=True, portal_type='Document', id='2'))
## check temp (RAM based) attributes stored in session ## check temp (RAM based) attributes stored in session
for i in range (1, 3): for i in range (1, 3):
attr_name = 'attr_%s' %i attr_name = 'attr_%s' %i
...@@ -231,7 +224,7 @@ class TestSessionTool(ERP5TypeTestCase): ...@@ -231,7 +224,7 @@ class TestSessionTool(ERP5TypeTestCase):
# test many sets # test many sets
for i in range(0, 500): for i in range(0, 500):
v = ''.join([choice(LETTERS) for x in range(10)]) v = ''.join([choice(LETTERS) for _ in range(10)])
session[i] = v session[i] = v
kw[i] = v kw[i] = v
session = self.portal.portal_sessions[self.session_id] session = self.portal.portal_sessions[self.session_id]
...@@ -239,8 +232,8 @@ class TestSessionTool(ERP5TypeTestCase): ...@@ -239,8 +232,8 @@ class TestSessionTool(ERP5TypeTestCase):
# test big session # test big session
session.clear() session.clear()
for key, item in kw.items(): for key in kw.keys():
kw[key] = ''.join([choice(LETTERS) for x in range(1000)]) kw[key] = ''.join([choice(LETTERS) for _ in range(1000)])
session.update(kw) session.update(kw)
session = self.portal.portal_sessions[self.session_id] session = self.portal.portal_sessions[self.session_id]
self.assertEqual(kw, session) self.assertEqual(kw, session)
......
<?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>default_reference</string> </key>
<value> <string>testSessionTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testSessionTool</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testSessionTool</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>
<string>W: 70, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testTimeout</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testTimeout</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testTimeout</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>
<string>W: 78, 8: Expression "[x.getObject() for x in self.portal.portal_templates.searchFolder()]" is assigned to nothing (expression-not-assigned)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testTimerService</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testTimerService</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testTimerService</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>
<string>W: 66, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W: 68, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W: 71, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W: 69, 4: No exception type(s) specified (bare-except)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testTransactionalVariable</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testTransactionalVariable</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testTransactionalVariable</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>
<string>W: 34, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 36, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 37, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 39, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 43, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 44, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 45, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 46, 0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
<string>W: 48, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 49, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 50, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 52, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 53, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 54, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 55, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 57, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 58, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 59, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 60, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 62, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 63, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 66, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 67, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 68, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 71, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 72, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 73, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 74, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 77, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 78, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 79, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 80, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 82, 0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
<string>W: 83, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 86, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 87, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 88, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 92, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 93, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 94, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 95, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 96, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 97, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:101, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:102, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:103, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W:104, 0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
<string>W: 46, 8: Statement seems to have no effect (pointless-statement)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
<?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>default_reference</string> </key>
<value> <string>testTrashTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testTrashTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testTrashTool</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>
<string>W: 57, 4: Unused variable \'portal\' (unused-variable)</string>
<string>W: 58, 4: Unused variable \'catalog_tool\' (unused-variable)</string>
<string>W: 60, 2: Arguments number differs from overridden \'login\' method (arguments-differ)</string>
<string>W: 84, 8: Unused variable \'i\' (unused-variable)</string>
<string>W: 98, 4: Unused variable \'f\' (unused-variable)</string>
<string>W:218, 8: Redefining built-in \'id\' (redefined-builtin)</string>
<string>W:233, 4: Unused variable \'bc_id\' (unused-variable)</string>
<string>W:322, 4: Unused variable \'subobjects_ids\' (unused-variable)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -89,7 +89,7 @@ class TestWorkflowHistoryList(TestCase): ...@@ -89,7 +89,7 @@ class TestWorkflowHistoryList(TestCase):
self.assertEqual(ddl, new(type(ddl), EXPECTED)) self.assertEqual(ddl, new(type(ddl), EXPECTED))
class check(object): class check(object):
def __getitem__(_, item): def __getitem__(_, item): # pylint: disable=no-self-argument
try: try:
a = EXPECTED[item] a = EXPECTED[item]
except IndexError: except IndexError:
......
<?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>default_reference</string> </key>
<value> <string>testWorkflowHistoryList</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testWorkflowHistoryList</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testWorkflowHistoryList</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>
<string>W: 97, 12: Statement seems to have no effect (pointless-statement)</string>
<string>W:105, 6: Statement seems to have no effect (pointless-statement)</string>
<string>W:106, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:107, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:108, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:109, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:110, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:111, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:112, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:113, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:114, 4: Statement seems to have no effect (pointless-statement)</string>
<string>W:132, 4: Redefining name \'EXPECTED\' from outer scope (line 76) (redefined-outer-name)</string>
<string>W:206, 6: Redefining name \'new\' from outer scope (line 55) (redefined-outer-name)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -72,7 +72,7 @@ class TestXMLPickle(unittest.TestCase): ...@@ -72,7 +72,7 @@ class TestXMLPickle(unittest.TestCase):
p.StartElementHandler=F.unknown_starttag p.StartElementHandler=F.unknown_starttag
p.EndElementHandler=F.unknown_endtag p.EndElementHandler=F.unknown_endtag
r = p.Parse(xmldata) p.Parse(xmldata)
reconstructed_pickled_data = F._stack[0][0] reconstructed_pickled_data = F._stack[0][0]
reconstructed_obj = pickle.loads(reconstructed_pickled_data) reconstructed_obj = pickle.loads(reconstructed_pickled_data)
......
<?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>default_reference</string> </key>
<value> <string>testXMLPickle</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5Type.tests.testXMLPickle</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testXMLPickle</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>
<string>W: 81, 17: Using type() instead of isinstance() for a typecheck. (unidiomatic-typecheck)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
...@@ -153,9 +153,10 @@ class TestZODBHistory(ERP5TypeTestCase): ...@@ -153,9 +153,10 @@ class TestZODBHistory(ERP5TypeTestCase):
document = self.addOrganisation(self.id()).newContent( document = self.addOrganisation(self.id()).newContent(
portal_type='Embedded File') portal_type='Embedded File')
import Products.ERP5.tests
document.setFile( document.setFile(
open(os.path.join( open(os.path.join(
os.path.dirname(__file__), os.path.dirname(Products.ERP5.tests.__file__),
'test_data', 'test_data',
'images', 'images',
'erp5_logo.png'))) 'erp5_logo.png')))
......
<?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>default_reference</string> </key>
<value> <string>testZODBHistory</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testZODBHistory</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testZODBHistory</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>
<string>W: 61, 0: Bad indentation. Found 7 spaces, expected 6 (bad-indentation)</string>
<string>W: 74, 2: Dangerous default value [] as argument (dangerous-default-value)</string>
</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
erp5_base
erp5_full_text_mroonga_catalog erp5_full_text_mroonga_catalog
erp5_base
erp5_csv_style
\ No newline at end of file
test.erp5.testAccessTab
test.erp5.testAlarm
test.erp5.testArrow
test.erp5.testAutoLogout
test.erp5.testBase
test.erp5.testBusinessTemplate
test.erp5.testCache
test.erp5.testCacheTool
test.erp5.testCachedSkinsTool
test.erp5.testConstraint
test.erp5.testContributionRegistryTool
test.erp5.testCookieCrumbler
test.erp5.testCopySupport
test.erp5.testERP5Base
test.erp5.testERP5Category
test.erp5.testERP5Coordinate
test.erp5.testERP5Core
test.erp5.testFolder
test.erp5.testFolderMigration
test.erp5.testGeographicalAddress
test.erp5.testI18NSearch
test.erp5.testIdTool
test.erp5.testIdToolUpgrade
test.erp5.testInteractionWorkflow
test.erp5.testIntrospectionTool
test.erp5.testLocalizer
test.erp5.testMemcachedTool
test.erp5.testNotificationMessageModule
test.erp5.testNotificationTool
test.erp5.testPerson
test.erp5.testQueryModule
test.erp5.testRestrictedPythonSecurity
test.erp5.testSessionTool
test.erp5.testTimeout
test.erp5.testTimerService
test.erp5.testTransactionalVariable
test.erp5.testTrashTool
test.erp5.testWorkflowHistoryList
test.erp5.testWorklist test.erp5.testWorklist
test.erp5.testXMLPickle
test.erp5.testZODBHistory
\ No newline at end of file
##############################################################################
#
# Copyright (c) 2008 Nexedi SA and Contributors. All Rights Reserved.
# Romain Courteaud <romain@nexedi.com>
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import unittest
from erp5.component.test.testNotificationTool import TestNotificationTool
class TestCRMNotificationTool(TestNotificationTool):
"""Make sure that notification tool works with crm"""
def getTitle(self):
return "Notification Tool With CRM"
def beforeTearDown(self):
TestNotificationTool.beforeTearDown(self)
self.portal.event_module.manage_delObjects(
list(self.portal.event_module.objectIds()))
self.tic()
def test_store_as_event(self):
# passing store_as_event=True to NotificationTool.sendMessage will store
# the message in an event
person = self.portal.person_module.newContent(
portal_type="Person",
default_email_text="userA@example.invalid")
self.tic()
self.portal.portal_notifications.sendMessage(
store_as_event=True,
recipient=person,
subject='Subject',
message='Message')
self.tic()
last_message, = self.portal.MailHost._message_list
mfrom, mto, messageText = last_message
self.assertEqual('Portal Administrator <site@example.invalid>', mfrom)
self.assertEqual(['userA@example.invalid'], mto)
# check that an event has been created
event_list = self.portal.event_module.contentValues()
self.assertEqual(1, len(event_list))
event = event_list[0]
self.assertEqual('Mail Message', event.getPortalTypeName())
self.assertEqual('Subject', event.getTitle())
self.assertEqual('Message', event.getTextContent())
self.assertNotEquals(None, event.getStartDate())
self.assertEqual(person, event.getDestinationValue())
self.assertEqual('started', event.getSimulationState())
def test_check_consistency(self):
# This test only applies when erp5_crm is installed and we have
# a constraint on mail message
person_without_email = self.portal.person_module.newContent(
portal_type="Person",)
self.tic()
with self.assertRaises(ValueError) as exception_context:
self.portal.portal_notifications.sendMessage(
check_consistency=True,
recipient=person_without_email,
subject='Subject',
message='Message')
consistency_message_list, = exception_context.exception.args
consistency_message, = consistency_message_list
from Products.ERP5Type.ConsistencyMessage import ConsistencyMessage
self.assertIsInstance(consistency_message, ConsistencyMessage)
self.assertEqual(
'Recipients email must be defined',
str(consistency_message.getTranslatedMessage()))
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestCRMNotificationTool))
return suite
<?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>default_reference</string> </key>
<value> <string>testCRMNotificationTool</string> </value>
</item>
<item>
<key> <string>default_source_reference</string> </key>
<value> <string>Products.ERP5.tests.testNotificationTool</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>test.erp5.testCRMNotificationTool</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">AAAAAAAAAAI=</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>
<item>
<key> <string>component_validation_workflow</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<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>
test.erp5.testCRMNotificationTool
test.erp5.testCRMSupportRequest test.erp5.testCRMSupportRequest
\ No newline at end of file
erp5_full_text_mroonga_catalog erp5_full_text_mroonga_catalog
erp5_core_test
\ No newline at end of file
...@@ -286,6 +286,46 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase): ...@@ -286,6 +286,46 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
""" """
self.portal.portal_membership.getAuthenticatedMember().getUserName() self.portal.portal_membership.getAuthenticatedMember().getUserName()
def enableLightInstall(self):
"""
You can override this. Return if we should do a light install (1) or not (0)
"""
return 1
def enableActivityTool(self):
"""
You can override this. Return if we should create (1) or not (0) an activity tool
"""
return 1
def enableHotReindexing(self):
"""
You can override this. Return if we should create (1) or not (0) an activity tool
"""
return 0
def manuallyInstallBusinessTemplate(self, *template_list):
new_template_list = self._getBTPathAndIdList(template_list)
light_install = self.enableLightInstall()
self._installBusinessTemplateList(new_template_list,
light_install=light_install)
self.portal.ERP5Site_updateTranslationTable()
self.tic()
def uninstallBusinessTemplate(self, *template_list):
template_list = set(template_list)
uninstalled_list = []
portal = self.portal
for bt in portal.portal_templates.getInstalledBusinessTemplateList():
bt_title = bt.getTitle()
if bt_title in template_list:
bt.uninstall(remove_translations=True)
uninstalled_list.append(bt_title)
if uninstalled_list:
getattr(portal, 'ERP5Site_updateTranslationTable', lambda: None)()
self.tic()
return uninstalled_list
def changeSkin(self, skin_name): def changeSkin(self, skin_name):
""" """
Change current Skin Change current Skin
...@@ -870,46 +910,6 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin): ...@@ -870,46 +910,6 @@ class ERP5TypeCommandLineTestCase(ERP5TypeTestCaseMixin):
app.REQUEST['HTTP_ACCEPT_CHARSET'] = 'utf-8' app.REQUEST['HTTP_ACCEPT_CHARSET'] = 'utf-8'
return app return app
def enableLightInstall(self):
"""
You can override this. Return if we should do a light install (1) or not (0)
"""
return 1
def enableActivityTool(self):
"""
You can override this. Return if we should create (1) or not (0) an activity tool
"""
return 1
def enableHotReindexing(self):
"""
You can override this. Return if we should create (1) or not (0) an activity tool
"""
return 0
def manuallyInstallBusinessTemplate(self, *template_list):
new_template_list = self._getBTPathAndIdList(template_list)
light_install = self.enableLightInstall()
self._installBusinessTemplateList(new_template_list,
light_install=light_install)
self.portal.ERP5Site_updateTranslationTable()
self.tic()
def uninstallBusinessTemplate(self, *template_list):
template_list = set(template_list)
uninstalled_list = []
portal = self.portal
for bt in portal.portal_templates.getInstalledBusinessTemplateList():
bt_title = bt.getTitle()
if bt_title in template_list:
bt.uninstall(remove_translations=True)
uninstalled_list.append(bt_title)
if uninstalled_list:
getattr(portal, 'ERP5Site_updateTranslationTable', lambda: None)()
self.tic()
return uninstalled_list
def __onConnect(self, connector): def __onConnect(self, connector):
self.__connector_set.add(connector) self.__connector_set.add(connector)
......
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