Commit 8924f1f0 authored by Sebastien Robin's avatar Sebastien Robin

allow to define list of bt to search, useful for testing template tool

parent 9f07d7d2
...@@ -541,28 +541,36 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase): ...@@ -541,28 +541,36 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
DeprecationWarning) DeprecationWarning)
return self.createUserAssignment(user, assignment_kw) return self.createUserAssignment(user, assignment_kw)
def setupAutomaticBusinessTemplateRepository(self, accept_public=True): def setupAutomaticBusinessTemplateRepository(self, accept_public=True,
searchable_business_template_list=None):
# Try to setup some valid Repository List by reusing ERP5TypeTestCase API. # Try to setup some valid Repository List by reusing ERP5TypeTestCase API.
# if accept_public we can accept public repository can be set, otherwise # if accept_public we can accept public repository can be set, otherwise
# we let failure happens. # we let failure happens.
if searchable_business_template_list is None:
searchable_business_template_list = ["erp5_base"]
# Assume that the public official repository is a valid repository # Assume that the public official repository is a valid repository
public_bt5_repository_list = ['http://www.erp5.org/dists/snapshot/bt5/'] public_bt5_repository_list = ['http://www.erp5.org/dists/snapshot/bt5/']
template_list = self._getBTPathAndIdList(["erp5_base"]) template_list = []
for bt_id in searchable_business_template_list:
bt_template_list = self._getBTPathAndIdList([bt_id])
if len(bt_template_list):
template_list.append(bt_template_list[0])
if len(template_list) > 0: if len(template_list) > 0:
bt5_repository_path = "/".join(template_list[0][0].split("/")[:-1]) bt5_repository_path_list = ["/".join(x[0].split("/")[:-1])
for x in template_list]
if accept_public: if accept_public:
try: try:
self.portal.portal_templates.updateRepositoryBusinessTemplateList( self.portal.portal_templates.updateRepositoryBusinessTemplateList(
[bt5_repository_path], None) bt5_repository_path_list, None)
except (RuntimeError, IOError), e: except (RuntimeError, IOError), e:
# If bt5 repository is not a repository use public one. # If bt5 repository is not a repository use public one.
self.portal.portal_templates.updateRepositoryBusinessTemplateList( self.portal.portal_templates.updateRepositoryBusinessTemplateList(
public_bt5_repository_list) public_bt5_repository_list)
else: else:
self.portal.portal_templates.updateRepositoryBusinessTemplateList( self.portal.portal_templates.updateRepositoryBusinessTemplateList(
[bt5_repository_path], None) bt5_repository_path_list, None)
elif accept_public: elif accept_public:
self.portal.portal_templates.updateRepositoryBusinessTemplateList( self.portal.portal_templates.updateRepositoryBusinessTemplateList(
public_bt5_repository_list) public_bt5_repository_list)
......
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