Commit 717d01d2 authored by Arnaud Fontaine's avatar Arnaud Fontaine

Cosmetic changes and remove unused imports.

parent 35864029
......@@ -429,7 +429,7 @@ class BalanceTransaction(AccountingTransaction, Inventory):
return factory
def _immediateReindexObject(self, **kw):
def _immediateReindexObject(self, *args, **kw):
"""Reindexes the object.
This is different indexing that the default Inventory indexing, because
we want to take into account that lines in this balance transaction to
......
......@@ -26,7 +26,7 @@ section_region = section.getRegion()
ledger = request.get("ledger", None)
if ledger is not None:
portal_categories = context.getPortalObject().portal_categories
if isinstance(ledger, list) or isinstance(ledger, tuple):
if isinstance(ledger, (tuple, list)):
ledger_uid = [portal_categories.ledger.restrictedTraverse(item).getUid() for item in ledger]
else:
ledger_uid = portal_categories.ledger.restrictedTraverse(ledger).getUid()
......
......@@ -23,7 +23,7 @@ kw['where_expression'] = " section.portal_type = 'Organisation' "
ledger = kw.get('ledger', request.get("ledger", None))
if ledger is not None:
portal_categories = context.getPortalObject().portal_categories
if isinstance(ledger, list) or isinstance(ledger, tuple):
if isinstance(ledger, (tuple, list)):
kw['ledger_uid'] = [portal_categories.ledger.restrictedTraverse(item).getUid() for item in ledger]
else:
kw['ledger_uid'] = portal_categories.ledger.restrictedTraverse(ledger).getUid()
......
......@@ -22,7 +22,7 @@ kw['where_expression'] = " section.portal_type = 'Organisation' "
ledger = kwd.get('ledger', request.get("ledger", None))
if ledger is not None:
portal_categories = context.getPortalObject().portal_categories
if isinstance(ledger, list) or isinstance(ledger, tuple):
if isinstance(ledger, (tuple, list)):
kw['ledger_uid'] = [portal_categories.ledger.restrictedTraverse(item).getUid() for item in ledger]
else:
kw['ledger_uid'] = portal_categories.ledger.restrictedTraverse(ledger).getUid()
......
......@@ -27,7 +27,7 @@ kw['where_expression'] = " section.portal_type = 'Organisation' "
ledger = kwd.get('ledger', request.get("ledger", None))
if ledger is not None:
portal_categories = context.getPortalObject().portal_categories
if isinstance(ledger, list) or isinstance(ledger, tuple):
if isinstance(ledger, (tuple, list)):
kw['ledger_uid'] = [portal_categories.ledger.restrictedTraverse(item).getUid() for item in ledger]
else:
kw['ledger_uid'] = portal_categories.ledger.restrictedTraverse(ledger).getUid()
......@@ -47,7 +47,7 @@ accounts_to_expand_by_tp = rec_cat.getAccountTypeRelatedValueList(**params) + \
total_balance = 0.0
for account_gap_number in accounts:
# We get all acounts strict member of this GAP category
# We get all accounts strict member of this GAP category
gap = context.restrictedTraverse('portal_categories/' + getURL(account_gap_number))
for account in gap.getGapRelatedValueList(portal_type='Account'):
......
......@@ -207,7 +207,7 @@ class CategoryBudgetVariation(BudgetVariation):
security.declareProtected(Permissions.AccessContentsInformation,
'getBudgetVariationRangeCategoryList')
def getBudgetVariationRangeCategoryList(self, context):
def getBudgetVariationRangeCategoryList(self, _):
"""Returns the Variation Range Category List that can be applied to this
budget.
"""
......
......@@ -15,6 +15,6 @@ for inventory in stool.getInventoryList(
resource_list.append(
(inventory.resource_relative_url,
portal.portal_categories.restrictedTraverse(
inventory.resource_relative_url).getTitle()))
inventory.resource_relative_url).getTranslatedTitle()))
return resource_list
......@@ -101,7 +101,8 @@ class CertificateAuthorityTool(BaseTool):
Raises CertificateAuthorityBusy"""
if os.path.exists(self.lock):
raise CertificateAuthorityBusy
open(self.lock, 'w').write('locked')
with open(self.lock, 'w') as f:
f.write('locked')
def _unlockCertificateAuthority(self):
"""Checks lock and locks Certificate Authority tool"""
......@@ -190,7 +191,8 @@ class CertificateAuthorityTool(BaseTool):
self._checkCertificateAuthority()
self._lockCertificateAuthority()
index = open(self.index).read().splitlines()
with open(self.index) as f:
index = f.read().splitlines()
valid_line_list = [q for q in index if q.startswith('V') and
('CN=%s/' % common_name in q)]
if len(valid_line_list) >= 1:
......@@ -199,7 +201,8 @@ class CertificateAuthorityTool(BaseTool):
'please revoke it before request a new one..' % common_name)
try:
new_id = open(self.serial, 'r').read().strip().lower()
with open(self.serial, 'r') as f:
new_id = f.read().strip().lower()
key = os.path.join(self.certificate_authority_path, 'private',
new_id+'.key')
csr = os.path.join(self.certificate_authority_path, new_id + '.csr')
......@@ -214,9 +217,13 @@ class CertificateAuthorityTool(BaseTool):
'-batch', '-config', self.openssl_config, '-out', cert, '-infiles',
csr])
os.unlink(csr)
with open(key) as f:
key = f.read()
with open(cert) as f:
cert = f.read()
return dict(
key=open(key).read(),
certificate=open(cert).read(),
key=key,
certificate=cert,
id=new_id,
common_name=common_name)
except Exception:
......@@ -240,7 +247,8 @@ class CertificateAuthorityTool(BaseTool):
self._checkCertificateAuthority()
self._lockCertificateAuthority()
try:
new_id = open(self.crl, 'r').read().strip().lower()
with open(self.crl, 'r') as f:
new_id = f.read().strip().lower()
crl_path = os.path.join(self.certificate_authority_path, 'crl')
crl = os.path.join(crl_path, new_id + '.crl')
cert = os.path.join(self.certificate_authority_path, 'certs',
......@@ -258,7 +266,9 @@ class CertificateAuthorityTool(BaseTool):
alias += str(len(glob.glob(alias + '*')))
created.append(alias)
os.symlink(os.path.basename(crl), alias)
return dict(crl=open(crl).read())
with open(crl) as f:
crl = f.read()
return dict(crl=crl)
except Exception:
e = sys.exc_info()
try:
......@@ -276,7 +286,8 @@ class CertificateAuthorityTool(BaseTool):
self._unlockCertificateAuthority()
def _getValidSerial(self, common_name):
index = open(self.index).read().splitlines()
with open(self.index) as f:
index = f.read().splitlines()
valid_line_list = [q for q in index if q.startswith('V') and
('CN=%s/' % common_name in q)]
if len(valid_line_list) < 1:
......
......@@ -346,8 +346,8 @@ class BusinessConfiguration(Item):
## we have already created configuration save for this state
## so remove from it already existing configuration items
if configuration_save != self: # don't delete ourselves
existing_conf_items = configuration_save.objectIds()
existing_conf_items = map(None, existing_conf_items)
existing_conf_items = list(configuration_save.objectIds())
if existing_conf_items:
configuration_save.manage_delObjects(existing_conf_items)
modified_form_kw = {}
......
##############################################################################
# coding: utf-8
# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
# Rafael Monnerat <rafael@nexedi.com>
# Ivan Tyagov <ivan@nexedi.com>
......
password_confirm = request.get('field_your_password_confirm', None)
if editor.encode('ascii', 'ignore') != editor:
return False
return password_confirm == editor
......@@ -348,7 +348,7 @@ def test_suite():
suite.addTest(unittest.makeSuite(TestTimeZoneContext))
suite.addTest(unittest.makeSuite(TestDateTimePatch))
# also run original tests from DateTime module
# also run original tests from DateTime module BBB ZOPE2
# pylint:disable=no-name-in-module
try:
import DateTime.tests.testDateTime as test_datetime
......
......@@ -4077,7 +4077,8 @@ VALUES
def doSomething(self, message_list):
r = []
for m in message_list:
m.result = r.append(m.object.getPath())
r.append(m.object.getPath())
m.result = None
r.sort()
group_method_call_list.append(r)
self.portal.portal_activities.__class__.doSomething = doSomething
......
......@@ -37,7 +37,7 @@ import email
from email.header import decode_header, make_header
from email.utils import parseaddr
# Copied from ERP5Type/patches/CMFMailIn.py
# Copied from bt5/erp5_egov/TestTemplateItem/testEGovMixin.py
def decode_email(file_):
# Prepare result
theMail = {
......
......@@ -15,7 +15,7 @@ import re
from Products.PythonScripts.standard import html_quote
blank = ""
header_current = 1
header_current = '0'
header_initial = None
table_of_content = blank
index = 0
......
......@@ -1605,7 +1605,7 @@ class TestCRMMailSend(BaseTestCRM):
def test_testValidatorForAttachmentField(self):
"""
If an Event Type doesn't allow Emebedded Files in its sub portal types,
If an Event Type doesn't allow Embedded Files in its sub portal types,
then the dialog should tell the user that attachment can't be uploaded
"""
# Add a document which will be attached.
......@@ -1794,7 +1794,7 @@ class TestCRMMailSend(BaseTestCRM):
def test_cloneEvent(self):
"""
All events uses after script and interaciton
All events uses after script and interaction
workflow add a test for clone
"""
# XXX in the case of title, getTitle ignores the title attribute,
......@@ -1827,7 +1827,7 @@ class TestCRMMailSend(BaseTestCRM):
def test_cloneTicketAndEventList(self):
"""
All events uses after script and interaciton
All events uses after script and interaction
workflow add a test for clone
"""
portal = self.portal
......
......@@ -150,12 +150,10 @@ class TestEditorField(ERP5TypeTestCase, ZopeTestCase.Functional):
if html_text.find(match_string1) == -1:
print(html_text)
print(match_string1)
import pdb; pdb.set_trace()
return False
if html_text.find(match_string2) == -1:
print(html_text)
print(match_string2)
import pdb; pdb.set_trace()
return False
return True
......
......@@ -105,8 +105,6 @@ def customScript(script_id, script_param, script_code):
class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
"""Test for erp5_web business template.
"""
run_all_test = 1
quiet = 0
website_id = 'test'
def getTitle(self):
......@@ -214,28 +212,24 @@ class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
return webpage_list
def test_01_WebPageVersioning(self, quiet=quiet, run=run_all_test):
def test_01_WebPageVersioning(self):
"""
Simple Case of showing the proper most recent public Web Page based on
(language, version)
"""
if not run: return
if not quiet:
message = '\ntest_01_WebPageVersioning'
ZopeTestCase._print(message)
portal = self.getPortal()
self.setupWebSite()
websection = self.setupWebSection()
page_reference = 'default-webpage-versionning'
self.setupWebSitePages(prefix = page_reference)
self.setupWebSitePages(prefix=page_reference)
# set default web page for section
found_by_reference = portal.portal_catalog(reference = page_reference,
language = 'en',
portal_type = 'Web Page')
found_by_reference = portal.portal_catalog(reference=page_reference,
language='en',
portal_type='Web Page')
en_01 = found_by_reference[0].getObject()
# set it as default web page for section
websection.edit(categories_list = ['aggregate/%s' %en_01.getRelativeUrl(),])
websection.edit(categories_list=['aggregate/%s' % en_01.getRelativeUrl(),])
self.assertEqual([en_01.getReference(),],
websection.getAggregateReferenceList())
......@@ -260,15 +254,11 @@ class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
self.assertEqual('0.2', default_document.getVersion())
self.assertEqual('published', default_document.getValidationState())
def test_02_WebSectionAuthorizationForced(self, quiet=quiet, run=run_all_test):
def test_02_WebSectionAuthorizationForced(self):
""" Check that when a document is requested within a Web Section we have a chance to
require user to login.
Whether or not an user will login is controlled by a property on Web Section (authorization_forced).
"""
if not run: return
if not quiet:
message = '\ntest_02_WebSectionAuthorizationForced'
ZopeTestCase._print(message)
request = self.app.REQUEST
website = self.setupWebSite()
websection = self.setupWebSection()
......@@ -304,25 +294,19 @@ class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
self.logout()
self.assertRaises(Unauthorized, websection._getExtensibleContent, request, document_reference)
def test_03_LatestContent(self, quiet=quiet, run=run_all_test):
def test_03_LatestContent(self):
""" Test latest content for a Web Section. Test different use case like languaeg, workflow state.
"""
if not run: return
if not quiet:
message = '\ntest_03_LatestContent'
ZopeTestCase._print(message)
portal = self.getPortal()
self.setupWebSite()
websection = self.setupWebSection()
portal_categories = portal.portal_categories
publication_section_category_id_list = ['documentation', 'administration']
for category_id in publication_section_category_id_list:
portal_categories.publication_section.newContent(portal_type = 'Category',
id = category_id)
#set predicate on web section using 'publication_section'
websection.edit(membership_criterion_base_category = ['publication_section'],
membership_criterion_category=['publication_section/%s'
%publication_section_category_id_list[0]])
portal_categories.publication_section.newContent(portal_type='Category', id=category_id)
# set predicate on web section using 'publication_section'
websection.edit(membership_criterion_base_category=['publication_section'],
membership_criterion_category=['publication_section/%s' % publication_section_category_id_list[0]])
self.tic()
self.assertEqual(0, len(websection.getDocumentValueList()))
......@@ -355,15 +339,11 @@ class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
self.assertEqual(1, len(websection.getDocumentValueList()))
self.assertEqual(web_page_en, websection.getDocumentValueList()[0].getObject())
def test_04_WebSectionAuthorizationForcedForDefaultDocument(self, quiet=quiet, run=run_all_test):
def test_04_WebSectionAuthorizationForcedForDefaultDocument(self):
""" Check that when a Web Section contains a default document not accessible by user we have a chance to
require user to login.
Whether or not an user will login is controlled by a property on Web Section (authorization_forced).
"""
if not run: return
if not quiet:
message = '\ntest_04_WebSectionAuthorizationForcedForDefaultDocument'
ZopeTestCase._print(message)
self.setupWebSite()
websection = self.setupWebSection()
web_page_reference = 'default-document-reference'
......@@ -414,15 +394,11 @@ class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
self.commit()
self.assertEqual(5, len(websection.getDocumentValueList(limit=5)))
def test_05_deadProxyFields(self, quiet=quiet, run=run_all_test):
def test_05_deadProxyFields(self):
"""
check that all proxy fields defined in business templates have a valid
target
"""
if not run: return
if not quiet:
message = '\ntest_05_deadProxyFields'
ZopeTestCase._print(message)
skins_tool = self.portal.portal_skins
for field_path, field in skins_tool.ZopeFind(
skins_tool, obj_metatypes=['ProxyField'], search_sub=1):
......@@ -936,11 +912,9 @@ return True
url at the url of the image tag. ie:
<image xlink:href="http://www.erp5.com/user-XXX-XXX"
"""
portal = self.portal
module = portal.getDefaultModule(portal_type=portal_type)
upload_file = self.makeFileUpload('user-TESTSVG-BACKGROUND-IMAGE.png')
background_image = module.newContent(portal_type=portal_type,
file=upload_file,
background_image = self.portal.image_module.newContent(
portal_type='Image',
file=self.makeFileUpload('user-TESTSVG-BACKGROUND-IMAGE.png'),
reference="NXD-BACKGROUND")
background_image.publish()
self.tic()
......
......@@ -865,7 +865,7 @@ class TestTemplateTool(ERP5TypeTestCase):
erp5_test = self.portal.portal_skins['erp5_test']
self.assertTrue(erp5_test.hasObject('test_file'))
def test_ownerhsip(self):
def test_ownership(self):
self.assertEqual(
self.portal.portal_skins.erp5_core.getOwnerTuple(),
([self.portal.getId(), 'acl_users'], 'System Processes'),
......
......@@ -1725,7 +1725,7 @@ return context.getPortalObject().foo_module.contentValues()
form_relative_url='portal_skins/erp5_ui_test/FooModule_viewFooList/listbox'
)
result_dict = json.loads(result)
#editalble creation date is defined at proxy form
# editable creation date is defined at proxy form
# Test the listbox_uid parameter
self.assertEqual(result_dict['_embedded']['contents'][0]['listbox_uid:list']['key'], 'listbox_uid:list')
self.assertEqual(result_dict['_embedded']['contents'][0]['id']['field_gadget_param']['type'], 'StringField')
......@@ -3258,10 +3258,10 @@ class TestERP5ODS(ERP5HALJSONStyleSkinsMixin):
self.assertEqual(fake_request.RESPONSE.getHeader('Content-Type'), 'text/csv')
else:
self.assertEqual(fake_request.RESPONSE.getHeader('Content-Type'), 'text/csv; charset=utf-8')
self.assertTrue('foook1' in result, result)
self.assertTrue('foook2' in result, result)
self.assertTrue('foonotok' not in result, result)
self.assertIn('foook1', result)
self.assertIn('foook2', result)
self.assertNotIn('foonotok', result)
# Check one of the field name
self.assertTrue('Read-Only Quantity' in result, result)
self.assertIn('Read-Only Quantity', result)
# Ensure it is not the list mode rendering
self.assertTrue(len(result.split('\n')) > 50, result)
......@@ -602,11 +602,11 @@ class TestKM(TestKMMixIn):
# add some documents to this web section
presentation = portal.document_module.newContent(
title='My presentation',
portal_type = 'Presentation',
reference = 'Presentation-12456_',
portal_type='Presentation',
reference='Presentation-12456_',
version='001',
language='en',
publication_section_list = publication_section_category_id_list[:1])
publication_section_list=publication_section_category_id_list[:1])
presentation.publish()
self.tic()
self.changeSkin('KM')
......@@ -741,7 +741,7 @@ class TestKM(TestKMMixIn):
portal = self.getPortal()
portal_gadgets = portal.portal_gadgets
url = '%s/ERP5Site_viewHomeAreaRenderer?gadget_mode=web_front' %self.web_site_url
url = '%s/ERP5Site_viewHomeAreaRenderer?gadget_mode=web_front' % self.web_site_url
response = self.publish(url, self.auth)
self.assertIn(str2bytes(self.web_front_knowledge_pad.getTitle()), response.getBody())
......
......@@ -69,13 +69,16 @@ class PALOETLConnection(XMLObject):
security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.AccessContentsInformation)
_ignore_ssl_certificate_check = True
_fix_service_location = True
def _getSudsClient(self):
# maybe client can be cached as a _v_ attribute. For now, we do not care about performance.
if "ignore ssl certificate check":
if self._ignore_ssl_certificate_check:
client = suds.client.Client(self.getUrlString(), transport=HTTPAuthenticatedUnverifiedSSL())
else:
client = suds.client.Client(self.getUrlString())
if "fix service location":
if self._fix_service_location:
# XXX The axis2 generated webservice only supports http on port 8080.
# It seems to be using an old and buggy version of axis2.
# Easiest workaround is to force the port (in WSDL terminology) location.
......
......@@ -28,7 +28,6 @@ try:
except ImportError: # BBB Zope2
from Globals import package_home
import PIL.Image as PIL_Image
import thread
import random
import base64
from OFS.Folder import Folder
......@@ -176,7 +175,6 @@ class ZoomifyBase:
lr_y = ul_y + self.tileSize
else:
lr_y = self.originalHeight
print("Going to open image")
imageRow = image.crop([0, ul_y, self.originalWidth, lr_y])
saveFilename = root + str(tier) + '-' + str(row) + ext
if imageRow.mode != 'RGB':
......@@ -192,7 +190,6 @@ class ZoomifyBase:
def processRowImage(self, tier=0, row=0):
""" for an image, create and save tiles """
print('*** processing tier: ' + str(tier) + ' row: ' + str(row))
tierWidth, tierHeight = self._v_scaleInfo[tier]
rowsForTier = tierHeight // self.tileSize
if tierHeight % self.tileSize > 0:
......@@ -333,7 +330,7 @@ class ZoomifyZopeProcessor(ZoomifyBase):
def openImage(self):
""" load the image data """
return PIL_Image.open(self._v_imageObject.name)
return PIL_Image.open(self._v_imageObject)
def createDefaultViewer(self):
""" add the default Zoomify viewer to the Zoomify metadata """
......
#from Products.ERP5.Document.TileImageTransformed import TileImageTransformed
#from cStringIO import StringIO
portal = context.getPortalObject()
data = portal.restrictedTraverse("portal_skins/erp5_safeimage/img/image_test.jpg")
print(data.data)
return printed
......@@ -70,7 +70,6 @@ with ImmediateReindexContextManager() as immediate_reindex_context_manager:
line_variation_base_category_list = line_variation_base_category_dict.keys()
# construct new content (container_line)
resource_url = resource_url
new_container_line_id = str(container.generateNewId())
container_line = container.newContent(
immediate_reindex=immediate_reindex_context_manager,
......
......@@ -2839,11 +2839,11 @@ class TestOrder(TestOrderMixin, ERP5TypeTestCase):
portal_type='Organisation', title='Client',
default_image_file=image)
from OFS.Image import Pdata
self.assertTrue(isinstance(client.getDefaultImageValue().data, Pdata))
self.assertIsInstance(client.getDefaultImageValue().data, Pdata)
vendor = self.portal.organisation_module.newContent(
portal_type='Organisation', title='Vendor',
default_image_file=image)
self.assertTrue(isinstance(vendor.getDefaultImageValue().data, Pdata))
self.assertIsInstance(vendor.getDefaultImageValue().data, Pdata)
order = self.portal.getDefaultModule(self.order_portal_type).newContent(
portal_type=self.order_portal_type,
specialise=self.business_process,
......
......@@ -1799,7 +1799,7 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) :
sale_packing_list2.getUid()))]
self.assertEqual({self.default_quantity-4, self.default_quantity-3},
set([x.getQuantity() for x in sale_packing_list1.getMovementList()]))
self.assertEqual({1, 1}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual({1}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual("solved", sale_packing_list3.getCausalityState())
self.assertEqual("solved", sale_packing_list1.getCausalityState())
def getSolverProcessStateList(delivery):
......@@ -1811,7 +1811,7 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) :
self.assertEqual({self.default_quantity-4, self.default_quantity-3},
set([x.getQuantity() for x in sale_packing_list1.getMovementList()]))
self.assertEqual({1, 2}, set([x.getQuantity() for x in sale_packing_list2.getMovementList()]))
self.assertEqual({2, 2}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual({2}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual("solved", sale_packing_list1.getCausalityState())
self.assertEqual("solved", sale_packing_list2.getCausalityState())
self.assertEqual("solved", sale_packing_list3.getCausalityState())
......@@ -1822,7 +1822,7 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) :
self.assertEqual({self.default_quantity-5, self.default_quantity-4},
set([x.getQuantity() for x in sale_packing_list1.getMovementList()]))
self.assertEqual({2, 3}, set([x.getQuantity() for x in sale_packing_list2.getMovementList()]))
self.assertEqual({2, 2}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual({2}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual("solved", sale_packing_list1.getCausalityState())
self.assertEqual("solved", sale_packing_list2.getCausalityState())
self.assertEqual("solved", sale_packing_list3.getCausalityState())
......@@ -1837,7 +1837,7 @@ class TestPackingList(TestPackingListMixin, ERP5TypeTestCase) :
self.assertEqual({self.default_quantity-6, self.default_quantity-5},
set([x.getQuantity() for x in sale_packing_list1.getMovementList()]))
self.assertEqual({2, 3}, set([x.getQuantity() for x in sale_packing_list2.getMovementList()]))
self.assertEqual({3, 3}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual({3}, set([x.getQuantity() for x in sale_packing_list3.getMovementList()]))
self.assertEqual("solved", sale_packing_list1.getCausalityState())
self.assertEqual("solved", sale_packing_list2.getCausalityState())
self.assertEqual("solved", sale_packing_list3.getCausalityState())
......
......@@ -1412,6 +1412,7 @@ class TestResource(ERP5TypeTestCase):
self.assertEqual(resource.getInternalSupplyLineDestinationReference(),
'test_destination_reference_on_internal_supply_line')
@expectedFailure
def testQuantityUnitOnMovement(self):
"""Make sure that changing default quantity unit on resource does not
affect to movement.
......@@ -1464,7 +1465,8 @@ class TestResource(ERP5TypeTestCase):
# Check existing movement again and make sure that quantity
# unit is not changed.
expectedFailure(self.assertEqual)(
# XXX This is the expectedFailure
self.assertEqual(
sale_order_line.getQuantityUnitValue(),
self.quantity_unit_gram)
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -25,7 +25,7 @@
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -58,7 +58,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?start:int=3;num:int=7;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?start:int=3&amp;num:int=7&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_category/foo_big_category%7CFoo%20and%20Big%20Category</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=foo_category/foo_big_category%7CFoo%20and%20Big%20Category</td>
<td></td>
</tr>
<tr>
......
......@@ -33,7 +33,7 @@
<!-- XXX bug compatibility; all columns must be set explicitly -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_all_columns=id%7CID%0Atitle%7CTitle%0Adelivery.quantity%7CQuantity;field_stat_method=portal_catalog</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_all_columns=id%7CID%0Atitle%7CTitle%0Adelivery.quantity%7CQuantity&amp;field_stat_method=portal_catalog</td>
<td></td>
</tr>
<tr>
......
......@@ -33,7 +33,7 @@
<!-- XXX bug compatibility; all_columns are used for sortable columns. -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_sort_columns=id%0Atitle;field_all_columns=id%0Atitle</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_sort_columns=id%0Atitle&amp;field_all_columns=id%0Atitle</td>
<td></td>
</tr>
<tr>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td></td>
</tr>
<tr>
......@@ -153,7 +153,7 @@
<!-- Click on report tree -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_report_tree=checked;field_report_root_list=foo_category%7CFoo%20Category%0Afoo_empty_category%7CFoo%20Empty%20Category</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_report_tree=checked&amp;field_report_root_list=foo_category%7CFoo%20Category%0Afoo_empty_category%7CFoo%20Empty%20Category</td>
<td></td>
</tr>
<tr>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td></td>
</tr>
<tr>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=parent_domain%7CParent</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=parent_domain%7CParent</td>
<td></td>
</tr>
<tr>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_domain%7CFoo%20Domain</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=foo_domain%7CFoo%20Domain</td>
<td></td>
</tr>
<tr>
......
......@@ -36,7 +36,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_report_tree=checked;field_report_root_list=foo_domain%7CFoo%20Domain</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_report_tree=checked&amp;field_report_root_list=foo_domain%7CFoo%20Domain</td>
<td></td>
</tr>
<tr>
......
......@@ -12,7 +12,7 @@
<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=ERP5%20Delivery;field_portal_types=</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=ERP5%20Delivery&amp;field_portal_types=</td>
<td></td>
</tr>
<tr>
......@@ -157,7 +157,7 @@
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=ERP5%20Toto;field_portal_types=</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=ERP5%20Toto&amp;field_portal_types=</td>
<td></td>
</tr>
<tr>
......
......@@ -12,7 +12,7 @@
<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=;field_portal_types=Foo</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=&amp;field_portal_types=Foo</td>
<td></td>
</tr>
<tr>
......@@ -154,7 +154,7 @@
</tal:block>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=;field_portal_types=Toto</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_meta_types=&amp;field_portal_types=Toto</td>
<td></td>
</tr>
<tr>
......
......@@ -322,7 +322,7 @@
Don't forget to update the code below if listbox_zuite/testDomainTree change. -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/0/Foo_viewRelationField/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td>${base_url}/foo_module/0/Foo_viewRelationField/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td></td>
</tr>
<tr>
......
......@@ -35,7 +35,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_report_tree=checked;field_report_root_list=foo_category%7CFoo%20Category%0Afoo_empty_category%7CFoo%20Empty%20Category</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_report_tree=checked&amp;field_report_root_list=foo_category%7CFoo%20Category%0Afoo_empty_category%7CFoo%20Empty%20Category</td>
<td></td>
</tr>
<tr>
......
......@@ -35,7 +35,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_stat_method=portal_catalog;field_report_tree=checked;field_report_root_list=foo_domain%7CFoo%20Domain</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_stat_method=portal_catalog&amp;field_report_tree=checked&amp;field_report_root_list=foo_domain%7CFoo%20Domain</td>
<td></td>
</tr>
<tr>
......
......@@ -32,7 +32,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_stat_columns=id%7CFooModule_statId%0Atitle%7CFooModule_statTitle;field_stat_method=portal_catalog</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_stat_columns=id%7CFooModule_statId%0Atitle%7CFooModule_statTitle&amp;field_stat_method=portal_catalog</td>
<td></td>
</tr>
<tr>
......
......@@ -32,7 +32,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked&amp;field_domain_root_list=foo_category%7CFoo%20Category</td>
<td></td>
</tr>
<tr>
......
......@@ -187,7 +187,7 @@
</tr>
<tr>
<td>clickAndWait</td>
<td tal:content="python: '//div[@id=\'group_lane_%s\']//a' % (str((DateTime().day()/3)+1)) " ></td>
<td tal:content="python: '//div[@id=\'group_lane_%s\']//a' % (str((DateTime().day() // 3) + 1)) " ></td>
<td></td>
</tr>
<tr>
......@@ -202,7 +202,7 @@
</tr>
<tr>
<td>clickAndWait</td>
<td tal:content="python: '//div[@id=\'group_lane_%s\']//a' % (str(DateTime().dow()+1)) " ></td>
<td tal:content="python: '//div[@id=\'group_lane_%s\']//a' % (str(DateTime().dow() + 1)) " ></td>
<td></td>
</tr>
<tr>
......
......@@ -211,7 +211,7 @@
</tr>
<tr>
<td>clickAndWait</td>
<td tal:content="python: '//div[@id=\'group_lane_%s\']//a' % (str(DateTime().dow()+1)) " ></td>
<td tal:content="python: '//div[@id=\'group_lane_%s\']//a' % (str(DateTime().dow() + 1))"></td>
<td></td>
</tr>
<tr>
......
......@@ -12,7 +12,7 @@
<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=1&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -35,7 +35,7 @@
</tr>
<tr>
<td>open</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=3;portal_type=Bar</td>
<td>${base_url}/bar_module/FooModule_createObjects?num:int=3&amp;portal_type=Bar</td>
<td></td>
</tr>
<tr>
......
......@@ -9,7 +9,7 @@ wtool = getToolByName(context, 'portal_workflow')
result = 'OK'
error_list = []
def assertEquals(a, b, msg=''):
def assertEqual(a, b, msg=''):
if a != b:
if msg:
error_list.append(msg)
......@@ -17,25 +17,25 @@ def assertEquals(a, b, msg=''):
error_list.append('%r != %r' % (a, b))
foo_2 = foo_module['2']
assertEquals(foo_2.getSimulationState(), 'validated',
assertEqual(foo_2.getSimulationState(), 'validated',
'Foo 2 state is %s' % foo_2.getSimulationState())
if not error_list:
assertEquals(
assertEqual(
wtool.getInfoFor(foo_2, 'history', wf_id='foo_workflow')[-2]['comment'],
'Comment !')
assertEquals(
assertEqual(
wtool.getInfoFor(foo_2, 'history', wf_id='foo_workflow')[-2]['custom_workflow_variable'],
'Custom Workflow Variable')
foo_3 = foo_module['3']
assertEquals(foo_3.getSimulationState(), 'validated',
assertEqual(foo_3.getSimulationState(), 'validated',
'Foo 3 state is %s' % foo_3.getSimulationState())
if not error_list:
assertEquals(
assertEqual(
wtool.getInfoFor(foo_3, 'history', wf_id='foo_workflow')[-2]['comment'],
'Comment !')
assertEquals(
assertEqual(
wtool.getInfoFor(foo_2, 'history', wf_id='foo_workflow')[-2]['custom_workflow_variable'],
'Custom Workflow Variable')
......
......@@ -9,7 +9,7 @@ wtool = getToolByName(context, 'portal_workflow')
result = 'OK'
error_list = []
def assertEquals(a, b, msg=''):
def assertEqual(a, b, msg=''):
if a != b:
if msg:
error_list.append(msg)
......@@ -17,18 +17,18 @@ def assertEquals(a, b, msg=''):
error_list.append('%r != %r' % (a, b))
foo_2 = foo_module['2']
assertEquals(foo_2.getSimulationState(), 'validated',
assertEqual(foo_2.getSimulationState(), 'validated',
'Foo 2 state is %s' % foo_2.getSimulationState())
if not error_list:
assertEquals(
assertEqual(
wtool.getInfoFor(foo_2, 'history', wf_id='foo_workflow')[-2]['comment'],
'Comment !')
foo_3 = foo_module['3']
assertEquals(foo_3.getSimulationState(), 'validated',
assertEqual(foo_3.getSimulationState(), 'validated',
'Foo 3 state is %s' % foo_3.getSimulationState())
if not error_list:
assertEquals(
assertEqual(
wtool.getInfoFor(foo_3, 'history', wf_id='foo_workflow')[-2]['comment'],
'Comment !')
......
......@@ -10,7 +10,7 @@ wtool = getToolByName(context, 'portal_workflow')
result = 'OK'
error_list = []
def assertEquals(a, b, msg=''):
def assertEqual(a, b, msg=''):
if a != b:
if msg:
error_list.append(msg)
......@@ -18,15 +18,15 @@ def assertEquals(a, b, msg=''):
error_list.append('%r != %r' % (a, b))
foo_2 = foo_module['2']
assertEquals(foo_2.getSimulationState(), 'draft',
assertEqual(foo_2.getSimulationState(), 'draft',
'Foo 2 state is %s' % foo_2.getSimulationState())
foo_3 = foo_module['3']
assertEquals(foo_3.getSimulationState(), 'validated',
assertEqual(foo_3.getSimulationState(), 'validated',
'Foo 3 state is %s' % foo_3.getSimulationState())
if not error_list:
assertEquals(
assertEqual(
wtool.getInfoFor(foo_3, 'history', wf_id='foo_workflow')[-2]['comment'],
'Comment !')
......
......@@ -15,7 +15,7 @@ portal = context.getPortalObject()
default_language = web_section.getLayoutProperty("default_available_language", default='en')
website_url_set = {}
#simplify code of Base_doLanguage, can't ues Base_doLanguage directly
# simplify code of Base_doLanguage, can't use Base_doLanguage directly
root_website_url = web_section.getOriginalDocument().absolute_url()
website_url_pattern = r'^%s(?:%s)*(/|$)' % (
re.escape(root_website_url),
......
......@@ -48,7 +48,7 @@
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_columns=modification_date%7CModification%20Date;field_editable=checked</td>
<td>${base_url}/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_columns=modification_date%7CModification%20Date&amp;field_editable=checked</td>
<td></td>
</tr>
......
......@@ -45,7 +45,6 @@ class ShaDirMixin(object):
Initialize the ERP5 site.
"""
self.login()
self.portal = self.getPortal()
self.key = 'mykey' + str(random.random())
self.file_content = b'This is the content.'
......
......@@ -186,4 +186,5 @@ class BusinessTemplateInfoDir(BusinessTemplateInfoBase):
return fileinfo
def readFileInfo(self, fileinfo):
return open(fileinfo).read()
with open(fileinfo) as f:
return f.read()
......@@ -32,7 +32,6 @@
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from AccessControl.SecurityManagement import newSecurityManager
from six import StringIO
class TestFormPrintoutMixin(ERP5TypeTestCase):
run_all_test = 1
......
......@@ -790,10 +790,10 @@ class TestIngestion(IngestionTestCase):
document.edit(file=f)
mime, text = document.convert('text')
self.assertIn('magic', text)
self.assertTrue(mime == 'text/plain')
self.assertEqual(mime, 'text/plain')
mime, html = document.convert('html')
self.assertIn('magic', html)
self.assertTrue(mime == 'text/html')
self.assertEqual(mime, 'text/html')
def stepExportImage(self, sequence=None, sequence_list=None, **kw):
"""
......
......@@ -130,7 +130,7 @@ def patch_linecache():
properly without requiring to create a temporary file on the filesystem
The filename is is always '<portal_components/*>' for ZODB Components,
'(FILENAME)?Script \(Python\)' for Zope Python Scripts and 'Python
'(FILENAME)?Script \\(Python\\)' for Zope Python Scripts and 'Python
Expression "CODE"' for TALES expressions.
linecache.cache filled by linecache.updatecache() called by the original
......
......@@ -9,7 +9,6 @@ __version__ = '0.3.0'
import base64
import errno
import httplib
import os
import random
import re
......@@ -18,7 +17,6 @@ import string
import sys
import time
import traceback
import urllib
from six.moves import configparser
from contextlib import contextmanager
from io import BytesIO
......@@ -32,7 +30,6 @@ from DateTime import DateTime
import mock
import Products.ZMySQLDA.DA
from Products.ZMySQLDA.DA import Connection as ZMySQLDA_Connection
from zope.globalrequest import clearRequest
from zope.globalrequest import getRequest
from zope.globalrequest import setRequest
import six
......@@ -171,7 +168,8 @@ def _createTestPromiseConfigurationFile(promise_path, bt5_repository_path_list=N
promise_config.set('portal_certificate_authority', 'certificate_authority_path',
os.environ['TEST_CA_PATH'])
promise_config.write(open(promise_path, 'w'))
with open(promise_path, 'w') as f:
promise_config.write(f)
def profile_if_environ(environment_var_name):
if int(os.environ.get(environment_var_name, 0)):
......
......@@ -34,7 +34,8 @@ class commandtransform:
os.mkdir(tmpdir)
filename = kwargs.get("filename", '')
fullname = join(tmpdir, basename(filename))
filedest = open(fullname , "wb").write(data)
with open(fullname , "wb") as f:
f.write(data)
return tmpdir, fullname
def subObjects(self, tmpdir):
......@@ -50,7 +51,8 @@ class commandtransform:
def fixImages(self, path, images, objects):
for image in images:
objects[image] = open(join(path, image), 'rb').read()
with open(join(path, image), 'rb') as f:
objects[image] = f.read()
def cleanDir(self, tmpdir):
shutil.rmtree(tmpdir)
......@@ -151,7 +153,7 @@ class subprocesstransform:
try:
if not self.useStdin:
stdin_file = tempfile.NamedTemporaryFile()
stdin_file.write( data)
stdin_file.write(data)
stdin_file.seek(0)
command = command % {'infile': stdin_file.name} # apply tmp name to command
data = None
......
......@@ -21,7 +21,6 @@ from __future__ import print_function
import six.moves.BaseHTTPServer
import six.moves.CGIHTTPServer
import time
import httplib
import sys
PORT = 8000
......
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