From d5eff119ff420740e7be4f43f72d3d9ec8ecf9ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 18 Jul 2006 12:30:46 +0000
Subject: [PATCH] Added a placeholder for utility classes and functions. For
 now contains a function to create a python script inside ZODB

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@8479 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/utils.py | 49 +++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 product/ERP5Type/tests/utils.py

diff --git a/product/ERP5Type/tests/utils.py b/product/ERP5Type/tests/utils.py
new file mode 100644
index 0000000000..b763483f7d
--- /dev/null
+++ b/product/ERP5Type/tests/utils.py
@@ -0,0 +1,49 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Jerome Perrin <jerome@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.
+#
+##############################################################################
+
+"""Utility functions for unit testing
+"""
+
+def createZODBPythonScript(container, script_id, script_params,
+                           script_content):
+  """Creates a Python script `script_id` in the given `container`, with
+  `script_params` and `script_content`.
+  
+  If the container already contains an object with id `script_id`, this
+  object is removed first.
+  """
+  if script_id in container.objectIds():
+    container.manage_delObjects([script_id])
+
+  container.manage_addProduct['PythonScripts']\
+                .manage_addPythonScript(id = script_id)
+  script = container[script_id]
+  script.ZPythonScript_edit(script_params, script_content)
+  container.portal_url.getPortalObject().changeSkin(None)
+  return script
+
-- 
2.30.9