[Erp5-report] r37867 gabriel - in /erp5/trunk/utils/cloudooo/cloudooo/tests: ./ output/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Aug 17 17:54:59 CEST 2010


Author: gabriel
Date: Tue Aug 17 17:54:57 2010
New Revision: 37867

URL: http://svn.erp5.org?rev=37867&view=rev
Log:
add functions to create a folder to run the application and save temporary files

Removed:
    erp5/trunk/utils/cloudooo/cloudooo/tests/output/
Modified:
    erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py
    erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py
    erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py?rev=37867&r1=37866&r2=37867&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/cloudoooTestCase.py [utf8] Tue Aug 17 17:54:57 2010
@@ -27,9 +27,9 @@
 ##############################################################################
 
 import unittest
-from sys import path, argv
+import sys
 from ConfigParser import ConfigParser
-from os.path import join, exists, dirname
+from os import path, mkdir
 from os import environ, putenv
 from cloudooo.application.xvfb import xvfb
 from cloudooo.application.openoffice import openoffice
@@ -37,7 +37,31 @@ from cloudooo.utils import waitStartDaem
 from cloudooo.mimemapper import mimemapper
 
 config = ConfigParser()
-testcase_path = dirname(__file__)
+testcase_path = path.dirname(__file__)
+
+
+def check_folder(path_dir_run_cloudooo, tmp_dir_path):
+  if not path.exists(path_dir_run_cloudooo):
+    mkdir(path_dir_run_cloudooo)
+  if not path.exists(tmp_dir_path):
+    mkdir(tmp_dir_path)
+
+def extract_cloudooo_script():
+  from sys import executable
+  import pkg_resources
+  cloudooo_resources = pkg_resources.get_distribution('cloudooo')
+  console_scripts = cloudooo_resources.get_entry_map()['console_scripts']
+
+  openoffice_tester_bin_path = path.join(path.dirname(executable),
+                            console_scripts["openoffice_tester.py"].name)
+  unomimemapper_bin_path = path.join(path.dirname(executable),
+                          console_scripts["unomimemapper.py"].name)
+  unoconverter_bin_path = path.join(path.dirname(executable),
+                          console_scripts["unoconverter.py"].name)
+  
+  return dict(unoconverter_bin=unoconverter_bin_path,
+              unomimemapper_bin=unomimemapper_bin_path, 
+              openoffice_tester_bin=openoffice_tester_bin_path)
 
 def make_suite(test_case):
   """Function is used to run all tests together"""
@@ -50,8 +74,8 @@ def loadConfig(path):
 
 def startFakeEnvironment(start_openoffice=True, conf_path=None):
   """Create a fake environment"""
-  if not conf_path and len(argv) >=1:
-    conf_path = argv[1]
+  if not conf_path and len(sys.argv) >=1:
+    conf_path = sys.argv[1]
   loadConfig(conf_path)
   uno_path = config.get("app:main", "uno_path")
   path_dir_run_cloudooo = config.get("app:main", "path_dir_run_cloudooo")
@@ -60,8 +84,8 @@ def startFakeEnvironment(start_openoffic
   hostname = config.get("server:main", "host")
   openoffice_port = int(config.get("app:main", "openoffice_port"))
   office_bin_path = config.get("app:main", "office_bin_path")
-  openoffice_tester_bin = config.get("app:main", "openoffice_tester_bin")
-
+  tmp_dir = path.join(path_dir_run_cloudooo, 'tmp')
+  check_folder(path_dir_run_cloudooo, tmp_dir)
   if not environ.get('uno_path'):
     environ['uno_path'] = uno_path
   
@@ -69,11 +93,11 @@ def startFakeEnvironment(start_openoffic
   if not environ.get('office_bin_path'):
     environ['office_bin_path'] = office_bin_path
   
-  if not uno_path in path:
-      path.append(uno_path)
+  if uno_path not in sys.path:
+    sys.path.append(uno_path)
   
   fundamentalrc_file = '%s/fundamentalrc' % office_bin_path
-  if exists(fundamentalrc_file) and \
+  if path.exists(fundamentalrc_file) and \
       not environ.has_key('URE_BOOTSTRAP'):
     putenv('URE_BOOTSTRAP','vnd.sun.star.pathname:%s' % fundamentalrc_file)
 
@@ -84,6 +108,11 @@ def startFakeEnvironment(start_openoffic
                   virtual_screen='1')
   xvfb.start()
   waitStartDaemon(xvfb, 10)
+  cloudooo_script_dict = extract_cloudooo_script()
+
+  openoffice_tester_bin = cloudooo_script_dict["openoffice_tester_bin"]
+  unomimemapper_bin = cloudooo_script_dict["unomimemapper_bin"]
+
   if start_openoffice:
     openoffice.loadSettings(hostname,
                             openoffice_port, 
@@ -95,8 +124,7 @@ def startFakeEnvironment(start_openoffic
     openoffice.start()
     openoffice.acquire()
     hostname, port = openoffice.getAddress()
-    kw = dict(python_path=config.get("app:main", "python_path"),
-              unomimemapper_bin=config.get("app:main", "unomimemapper_bin"),
+    kw = dict(unomimemapper_bin=unomimemapper_bin,
               uno_path=config.get("app:main", "uno_path"),
               office_bin_path=config.get("app:main", "office_bin_path"))
     if not mimemapper.isLoaded():
@@ -119,19 +147,23 @@ class cloudoooTestCase(unittest.TestCase
   def setUp(self):
     """Creates a environment to run the tests. Is called always before the
     tests."""
+    cloudooo_script_dict = extract_cloudooo_script()
+
+    self.openoffice_tester_bin = cloudooo_script_dict["openoffice_tester_bin"]
+    self.unomimemapper_bin = cloudooo_script_dict["unomimemapper_bin"]
+    self.unoconverter_bin = cloudooo_script_dict["unoconverter_bin"]
+
     self.hostname = config.get("server:main", "host")
     self.cloudooo_port = config.get("server:main", "port")
     self.openoffice_port = config.get("app:main", "openoffice_port")
     self.office_bin_path = config.get("app:main", "office_bin_path")
+    self.python_path = sys.executable
     self.path_dir_run_cloudooo = config.get("app:main", "path_dir_run_cloudooo")
-    self.tmp_url = join(self.path_dir_run_cloudooo, "tmp") 
+    self.tmp_url = path.join(self.path_dir_run_cloudooo, "tmp")
+    check_folder(self.path_dir_run_cloudooo, self.tmp_url)
     self.uno_path = config.get("app:main", "uno_path")
-    self.unomimemapper_bin = config.get("app:main", "unomimemapper_bin")
-    self.unoconverter_bin = config.get("app:main", "unoconverter_bin")
-    self.python_path = config.get("app:main", "python_path")
     self.virtual_display_id = config.get("app:main", "virtual_display_id")
     self.virtual_display_port_int = config.get("app:main", "virtual_display_port")
-    self.openoffice_tester_bin = config.get("app:main", "openoffice_tester_bin")
     self.afterSetUp()
 
   def afterSetUp(self):

Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py?rev=37867&r1=37866&r2=37867&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testOOHandler.py [utf8] Tue Aug 17 17:54:57 2010
@@ -27,6 +27,7 @@
 ##############################################################################
 
 import unittest
+from os import path
 from subprocess import Popen, PIPE
 from base64 import encodestring, decodestring
 from cloudoooTestCase import cloudoooTestCase
@@ -43,7 +44,7 @@ class TestOOHandler(cloudoooTestCase):
 
   def _assert_document_output(self, document_output_url, msg):
     """Check if the document was created correctly"""
-    stdout, stderr = Popen("file %s" % document_output_url,
+    stdout, stderr = Popen("file -b %s" % document_output_url,
                           shell=True,
                           stdout=PIPE).communicate()
     self.assertEquals(msg in stdout,
@@ -63,7 +64,7 @@ class TestOOHandler(cloudoooTestCase):
                         'odt',
                         **self.kw)
     doc_exported = handler.convert("doc")
-    document_output_url = "output/testExport.doc"
+    document_output_url = path.join(self.tmp_url, "testExport.doc")
     self._save_document(document_output_url, doc_exported)
     msg = 'Microsoft Office Document'
     self._assert_document_output(document_output_url, msg)
@@ -76,9 +77,9 @@ class TestOOHandler(cloudoooTestCase):
                         'doc',
                         **self.kw)
     doc_exported = handler.convert("odt")
-    document_output_url = "output/testConvert.odt"
+    document_output_url = path.join(self.tmp_url, "testConvert.odt")
     self._save_document(document_output_url, doc_exported)
-    msg = 'output/testConvert.odt: OpenDocument Text\n'
+    msg = 'OpenDocument Text\n'
     self._assert_document_output(document_output_url, msg)
     
   def testGetMetadata(self):
@@ -121,9 +122,9 @@ class TestOOHandler(cloudoooTestCase):
                         'doc',
                         **self.kw)
     doc_exported = handler.convert("odt")
-    document_output_url = "output/testConvert.odt"
+    document_output_url = path.join(self.tmp_url, "testConvert.odt")
     self._save_document(document_output_url, doc_exported)
-    msg = 'output/testConvert.odt: OpenDocument Text\n'
+    msg = 'OpenDocument Text\n'
     self._assert_document_output(document_output_url, msg)
   
   def testGetMetadataWithOpenOfficeStopped(self):

Modified: erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py?rev=37867&r1=37866&r2=37867&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/tests/testUnoConverter.py [utf8] Tue Aug 17 17:54:57 2010
@@ -93,8 +93,7 @@ class TestUnoConverter(cloudoooTestCase)
           "--document_url=%s" % self.document.getUrl(),
           "--destination_format=%s" % "doc",
           "--source_format=%s" % "odt",
-          "--unomimemapper_bin=%s" % self.unomimemapper_bin,
-          "--python_path=%s" % self.python_path]
+          "--unomimemapper_bin=%s" % self.unomimemapper_bin]
 
     stdout, stderr = Popen(' '.join(command), shell=True, 
         stdout=PIPE, stderr=PIPE).communicate()




More information about the Erp5-report mailing list