[Erp5-report] r42085 nicolas - /erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jan 6 17:33:32 CET 2011


Author: nicolas
Date: Thu Jan  6 17:33:32 2011
New Revision: 42085

URL: http://svn.erp5.org?rev=42085&view=rev
Log:
Use python-magic to guess which type is with mimetype property.
output message will not OS configuration dependant

Modified:
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py?rev=42085&r1=42084&r2=42085&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testServer.py [utf8] Thu Jan  6 17:33:32 2011
@@ -35,6 +35,7 @@ from base64 import encodestring, decodes
 from cloudoooTestCase import CloudoooTestCase, make_suite
 from zipfile import ZipFile, is_zipfile
 from types import DictType
+import magic
 
 DAEMON = True
 
@@ -109,14 +110,13 @@ class TestServer(CloudoooTestCase):
                                         source_format,
                                         destination_format, zip)
     open(output_url, 'w').write(decodestring(output_data))
-    stdout, stderr = self._getFileType(output_url)
-    self.assertEquals(stdout, stdout_msg)
-    self.assertEquals(stderr, None)
+    content_type = self._getFileType(output_url)
+    self.assertEquals(content_type, stdout_msg)
+
 
   def _getFileType(self, output_url):
-    return Popen(["file", "-b", output_url],
-                 stdout=PIPE,
-                 stderr=PIPE).communicate()
+    mime = magic.Magic(mime=True)
+    return mime.from_file(output_url)
 
   def testGetAllowedExtensionListByType(self):
     """Call getAllowedExtensionList and verify if the returns is a list with
@@ -159,7 +159,7 @@ class TestServer(CloudoooTestCase):
                           join(self.tmp_url, "document_output.odt"),
                           'doc',
                           'odt',
-                          'OpenDocument Text\n')
+                          'application/vnd.oasis.opendocument.text')
 
   def testconvertDocToPdf(self):
     """Test Convert Doc -> Pdf"""
@@ -167,7 +167,7 @@ class TestServer(CloudoooTestCase):
                           join(self.tmp_url, "document_output.pdf"),
                           'doc',
                           'pdf',
-                          'PDF document, version 1.4\n')
+                          'application/pdf')
 
   def testgetFileMetadataItemListWithoutData(self):
     """Test server using method getFileMetadataItemList. Without data
@@ -192,8 +192,8 @@ class TestServer(CloudoooTestCase):
                                                        True)
     self.assertNotEquals(metadata_dict.get("Data"), None)
     open(document_output_url, 'w').write(decodestring(metadata_dict["Data"]))
-    stdout, stderr = self._getFileType(document_output_url)
-    self.assertEquals(stdout, 'OpenDocument Text\n')
+    content_type = self._getFileType(document_output_url)
+    self.assertEquals(content_type, 'application/vnd.oasis.opendocument.text')
     self.assertEquals(metadata_dict.get("Title"), "cloudooo Test")
     self.assertEquals(metadata_dict.get("Subject"), "Subject Test")
     self.assertEquals(metadata_dict.get("Description"), "cloudooo Comments")
@@ -208,8 +208,8 @@ class TestServer(CloudoooTestCase):
     odf_data = self.proxy.updateFileMetadata(encodestring(data), 'odt',
         {"Title":"testSetMetadata"})
     open(document_output_url, 'w').write(decodestring(odf_data))
-    stdout, stderr = self._getFileType(document_output_url)
-    self.assertEquals(stdout, 'OpenDocument Text\n')
+    content_type = self._getFileType(document_output_url)
+    self.assertEquals(content_type, 'application/vnd.oasis.opendocument.text')
     metadata_dict = self.proxy.getFileMetadataItemList(odf_data, 'odt')
     self.assertEquals(metadata_dict.get("Title"), "testSetMetadata")
     self.assertEquals(metadata_dict.get("CreationDate"), "9/7/2009 17:38:25")
@@ -224,8 +224,8 @@ class TestServer(CloudoooTestCase):
                                               'odt',
                                               {"Reference":"testSetMetadata"})
     open(document_output_url, 'w').write(decodestring(odf_data))
-    stdout, stderr = self._getFileType(document_output_url)
-    self.assertEquals(stdout, 'OpenDocument Text\n')
+    content_type = self._getFileType(document_output_url)
+    self.assertEquals(content_type, 'application/vnd.oasis.opendocument.text')
     metadata_dict = self.proxy.getFileMetadataItemList(odf_data, 'odt')
     self.assertEquals(metadata_dict.get("Reference"), "testSetMetadata")
 
@@ -239,8 +239,8 @@ class TestServer(CloudoooTestCase):
     new_odf_data = self.proxy.updateFileMetadata(odf_data, 'odt',
                         {"Reference":"new value", "Something": "ABC"})
     open(document_output_url, 'w').write(decodestring(new_odf_data))
-    stdout, stderr = self._getFileType(document_output_url)
-    self.assertEquals(stdout, 'OpenDocument Text\n')
+    content_type = self._getFileType(document_output_url)
+    self.assertEquals(content_type, 'application/vnd.oasis.opendocument.text')
     metadata_dict = self.proxy.getFileMetadataItemList(new_odf_data, 'odt')
     self.assertEquals(metadata_dict.get("Reference"), "new value")
     self.assertEquals(metadata_dict.get("Something"), "ABC")
@@ -262,12 +262,11 @@ class TestServer(CloudoooTestCase):
 
   def testWithZipFile(self):
     """Test if send a zipfile returns a document correctly"""
-    output_msg = 'Zip archive data, at least v2.0 to extract\n'
     self._testConvertFile("data/test.zip",
                           join(self.tmp_url, "output_zipfile.zip"),
                           'zip',
                           'txt',
-                          output_msg,
+                          'application/zip',
                           True)
 
   def testSendZipAndReturnTxt(self):
@@ -277,8 +276,7 @@ class TestServer(CloudoooTestCase):
                           output_url,
                           'zip',
                           'txt',
-                          'ASCII text\n')
-
+                          'text/plain')
     self.assertTrue(open(output_url).read().endswith('cloudooo Test\n \n'))
 
   def testConvertPNGToSVG(self):
@@ -288,7 +286,7 @@ class TestServer(CloudoooTestCase):
                           output_url,
                           'png',
                           'svg',
-                          'SVG Scalable Vector Graphics image\n')
+                          'image/svg+xml')
   
   def testConvertPPTXToODP(self):
     """Test export pptx to odp"""
@@ -296,7 +294,7 @@ class TestServer(CloudoooTestCase):
                           join(self.tmp_url, "output.pptx"),
                           'pptx',
                           'odp',
-                          'OpenDocument Presentation\n')
+                          'application/vnd.oasis.opendocument.presentation')
 
   def testConvertDocxToODT(self):
     """Test export docx to odt"""
@@ -304,7 +302,7 @@ class TestServer(CloudoooTestCase):
                           join(self.tmp_url, "output_docx.odt"),
                           'docx',
                           'odt',
-                          'OpenDocument Text\n')
+                          'application/vnd.oasis.opendocument.text')
   
   def testConvertPyToPDF(self):
     """Test export python to pdf"""
@@ -312,7 +310,7 @@ class TestServer(CloudoooTestCase):
                           join(self.tmp_url, "cloudoooTestCase.py"),
                           'py',
                           'pdf',
-                          'PDF document, version 1.4\n')
+                          'application/pdf')
 
   def testSendEmptyRequest(self):
     """Test to verify if the behavior of server is normal when a empty string
@@ -438,9 +436,10 @@ class TestServer(CloudoooTestCase):
     try:
       png_path = join(self.tmp_url, "img0.png")
       zipfile.extractall(self.tmp_url)
-      stdout, stderr =  self._getFileType(png_path)
-      self.assertTrue(stdout.startswith('PNG image data'), stdout)
-      self.assertTrue("8-bit/color RGB" in stdout, stdout)
+      content_type = self._getFileType(png_path)
+      self.assertEquals(content_type, 'image/png')
+      m = magic.Magic()
+      self.assertTrue("8-bit/color RGB" in m.from_file(png_path))
     finally:
       zipfile.close()
     if exists(output_url):



More information about the Erp5-report mailing list