[Erp5-report] r36999 lucas - /erp5/trunk/products/ERP5/tests/testUrl.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jul 8 20:54:48 CEST 2010


Author: lucas
Date: Thu Jul  8 20:54:47 2010
New Revision: 36999

URL: http://svn.erp5.org?rev=36999&view=rev
Log:
Added a draft of the test for Url.py.

Added:
    erp5/trunk/products/ERP5/tests/testUrl.py

Added: erp5/trunk/products/ERP5/tests/testUrl.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testUrl.py?rev=36999&view=auto
==============================================================================
--- erp5/trunk/products/ERP5/tests/testUrl.py (added)
+++ erp5/trunk/products/ERP5/tests/testUrl.py [utf8] Thu Jul  8 20:54:47 2010
@@ -0,0 +1,109 @@
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
+#                     Lucas Carvalho <lucas at 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.
+#
+##############################################################################
+
+
+import unittest
+from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+
+class TestUrl(ERP5TypeTestCase):
+  """
+    Tests Url
+  """
+
+  def getBusinessTemplateList(self):
+    return ('erp5_base',
+            'erp5_web',
+            'erp5_ingestion',
+            'erp5_dms',)
+
+  def test_document_asUrl(self):
+    """
+      This test should make sure that asURL should return the correct url.
+    """
+    portal = self.getPortalObject()
+    url_crawler = portal.external_source_module.newContent(
+                                                  portal_type='URL Crawler')
+    url_crawler = self.url_crawler
+
+    url_protocol_list = ['http', 'https']
+    
+    for url_protocol in url_protocol_list:
+      url_crawler.setUrlProtocol(url_protocol)
+      self.stepTic()
+
+      url_without_port = 'localhost/test_client'
+      url_crawler.setUrlString(url_without_port)
+      self.stepTic()
+      self.assertEquals('%s://%s' % (url_protocol, url_without_port),
+                                        url_crawler.asURL())
+  
+      full_url_without_port = '%s://localhost/test_client' % url_protocol
+      url_crawler.setUrlString(full_url_without_port)
+      self.stepTic()
+      self.assertEquals(full_url_without_port, url_crawler.asURL())
+      
+      full_url_with_port = '%s://localhost:8191/test_client' % url_protocol
+      url_crawler.setUrlString(full_url_with_port)
+      self.stepTic()
+      self.assertEquals(full_url_with_port, url_crawler.asURL())
+      
+      url_with_port = 'localhost:8191/test_client'
+      url_crawler.setUrlString(url_with_port)
+      self.stepTic()
+      self.assertEquals('%s://%s' % (url_protocol, url_with_port), 
+                                                url_crawler.asURL())
+   
+      production_url = 'www.example.com/foo'
+      url_crawler.setUrlString(production_url)
+      self.stepTic()
+      self.assertEquals('%s://%s' % (url_protocol, production_url), 
+                                                url_crawler.asURL())
+ 
+      production_url_with_port = 'www.example.com:8191/foo'
+      url_crawler.setUrlString(production_url_with_port)
+      self.stepTic()
+      self.assertEquals('%s://%s' % (url_protocol, production_url_with_port), 
+                                                url_crawler.asURL())
+
+      production_url_with_protocol = '%s://www.example.com/foo' % url_protocol
+      url_crawler.setUrlString(production_url_with_protocol)
+      self.stepTic()
+      self.assertEquals(production_url_with_protocol, url_crawler.asURL())
+
+      production_url_with_port = '%s://www.example.com:8191/foo' % url_protocol
+      url_crawler.setUrlString(production_url)
+      self.stepTic()
+      self.assertEquals('%s://%s' % (url_protocol, production_url),
+                                                url_crawler.asURL())
+      
+  
+
+def test_suite():
+  suite = unittest.TestSuite()
+  suite.addTest(unittest.makeSuite(TestUrl))
+  return suite




More information about the Erp5-report mailing list