From a651b394dcdaf2ca84505f875c87bafb09ed2f47 Mon Sep 17 00:00:00 2001
From: Tristan Cavelier <tristan.cavelier@tiolive.com>
Date: Tue, 21 Jul 2015 12:41:54 +0000
Subject: [PATCH] XXX erp5_run_my_doc: Remove extension and test template

---
 .../ExtensionTemplateItem/ERP5RunMyDocs.py    | 164 ---------
 .../TestTemplateItem/testRunMyDoc.py          | 316 ------------------
 .../bt/template_extension_id_list             |   1 -
 bt5/erp5_run_my_doc/bt/template_test_id_list  |   1 -
 4 files changed, 482 deletions(-)
 delete mode 100644 bt5/erp5_run_my_doc/ExtensionTemplateItem/ERP5RunMyDocs.py
 delete mode 100644 bt5/erp5_run_my_doc/TestTemplateItem/testRunMyDoc.py
 delete mode 100644 bt5/erp5_run_my_doc/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_run_my_doc/bt/template_test_id_list

diff --git a/bt5/erp5_run_my_doc/ExtensionTemplateItem/ERP5RunMyDocs.py b/bt5/erp5_run_my_doc/ExtensionTemplateItem/ERP5RunMyDocs.py
deleted file mode 100644
index b0a65611cd..0000000000
--- a/bt5/erp5_run_my_doc/ExtensionTemplateItem/ERP5RunMyDocs.py
+++ /dev/null
@@ -1,164 +0,0 @@
-"""
-  Parse the test report
-"""
-def parseTestReport(text):
-  from lxml import etree
-  parser = etree.HTMLParser(remove_comments=True)
-  parser.feed(text)
-  root = parser.close()
-  table = root.xpath('//table[@id="SELENIUM-TEST"]')[0]
-  report = {}
-  header = table[0][0]
-  report['status'] = header.attrib['class'].find('passed') > -1
-  report['name'] = header[0].text
-  report["row_list"] = []
-  report["column_list"] = [0,0,0]
-  i=0
-  for row in table[1]:
-    report["row_list"].append(dict(cell_list=[], passed=False, failed=False, done=False, not_done=False))
-    row_report = report["row_list"][i]
-    if row.attrib['class'].find('failed') > -1:
-      row_report['failed'] = True
-    elif row.attrib['class'].find('done') > -1:
-      row_report['done'] = True
-    elif row.attrib['class'].find('passed') > -1:
-      row_report['passed'] = True
-    else:
-      row_report['not_done'] = True
-    for column in row:
-      row_report["cell_list"].append(column.text)
-    i += 1
-  return report
-  """
-  title = table.xpath('//td')[0].text
-  html[0][1].text = title
-
-  # Insert completly the first table
-  html[1].append(table)
-
-  # Insert only the content of tbody
-  for table in table_list[1:]:
-    for row in table[-1]:
-      html[1][-1].append(row)
-
-  stack = [html[1]]
-  # Let's display everything in the test by removing the style attributes (they're not supposed to have any style attributes at all during the tests)
-  while stack:
-    element = stack.pop()
-    if element.attrib.has_key('style'):
-      del element.attrib['style']
-    for child in element:
-      stack.append(child)
-  
-  return dict(title = title, text = lxml.html.tostring(html))
-  """
-
-"""
-  Parse a HTML page and return a list of dictionnaries with the chapters and the tests they contain
-"""
-def parseTutorial(text):
-  from Products.ERP5Type.Document import newTempBase
-  from lxml import etree
-  parser = etree.HTMLParser(remove_comments=True)
-  parser.feed(text)
-  root = parser.close()
-  table_list = root.xpath('//table[@id="SELENIUM-TEST"]')
-  table = table_list[0]
-
-  listbox = []
-
-  i = 0
-  # Insert only the content of tbody
-  for table in table_list:
-    listbox.append(newTempBase(context.getPortalObject(),
-                               '',
-                               title = "Tested Chapter " + str(i),
-                               tag   = 'h1'))
-    if len(table) > 0:
-      for row in table[-1]:
-        if(row.tag.lower() == 'tr'):
-          listbox.append(newTempBase(context.getPortalObject(),
-                               '',
-                               title = row[0][0].text,
-                               tag   = 'tr',
-                               arg0  = row[0][1].text,
-                               arg1  = row[0][2].text))
-        else:
-          listbox.append(newTempBase(context.getPortalObject(),
-                               '',
-                               title = row[0][0].text,
-                               tag   = 'tr',
-                               arg0  = row[0][1].text,
-                               arg1  = row[0][2].text))
-          
-
-  stack = [html[1]]
-  # Let's display everything in the test by removing the style attributes (they're not supposed to have any style attributes at all during the tests)
-  while stack:
-    element = stack.pop()
-    if element.attrib.has_key('style'):
-      del element.attrib['style']
-    for child in element:
-      stack.append(child)
-  
-  return dict(title = title, text = lxml.html.tostring(html))
-
-"""
-  Return the content of a web page
-"""
-def urlread(url):
-  import urllib
-  return urllib.urlopen(url).read()
-
-"""
-  Remove everything but the test in a webpage
-"""
-def extractTest(text):
-  import lxml.html
-  from lxml import etree
-  root = lxml.html.fromstring(text)
-  table_list = root.xpath('//test')
-  testcode = ""
-  for table in table_list:
-    table = table[0]
-    if len(table) > 0:
-      for row in table[-1]:
-        if len(row) == 1:
-          # Include Macros as it is defined by the user.
-          testcode += row[0].text
-        else:
-          testcode += lxml.html.tostring(row)
-  return testcode
-
-"""
-  HTML5 Presentation validador
-""" 
-def validateHTML5Document(text):
-  import lxml.html
-  from lxml import etree
-  root = lxml.html.fromstring(text)
-  section_list = root.xpath('//section')
-  count = 0
-  error_list = []
-  # XXX Lack of translation support here.
-  for section in section_list:
-    count += 1
-    if section.xpath("h1") == []:
-      error_list.append("Section %s had no h1." % count)
-
-    if section.get("class") in ["screenshot", "illustration"]:
-      if section.xpath("img") == []:
-         error_list.append("Section %s has class %s but it doesn't have any image." % (count, section.get("class")))
-      else:
-         if section.xpath("img")[0].get("title") == None:
-           error_list.append("At section %s, img has no title attribute." % count)
-
-         if section.xpath("img")[0].get("alt") == None:
-           error_list.append("At section %s, img has no alt attribute." % count)
-
-    if section.xpath("details") == []:
-      error_list.append("Section %s has no details tag." % (count))
-
-  return error_list
-    
-    
diff --git a/bt5/erp5_run_my_doc/TestTemplateItem/testRunMyDoc.py b/bt5/erp5_run_my_doc/TestTemplateItem/testRunMyDoc.py
deleted file mode 100644
index 60f17577d8..0000000000
--- a/bt5/erp5_run_my_doc/TestTemplateItem/testRunMyDoc.py
+++ /dev/null
@@ -1,316 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2012 Nexedi SA and Contributors. All Rights Reserved.
-#               Rafael Monnerat <rafael@nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsibility 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
-# guarantees 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-##############################################################################
-
-from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
-from Products.ERP5OOo.tests.testDms import makeFileUpload
-from time import time
-
-class TestRunMyDoc(ERP5TypeTestCase):
-  """
-   Basic Test for internal implementation of RunMyDocs
-  """
-
-  def getTitle(self):
-    return "Run My Doc"
-
-  def getBusinessTemplateList(self):
-    """
-    Tuple of Business Templates we need to install
-    """
-    return ('erp5_base',
-            'erp5_jquery',
-            'erp5_jquery_ui',
-            'erp5_knowledge_pad',
-            'erp5_ingestion_mysql_innodb_catalog',
-            'erp5_ingestion',
-            'erp5_web',
-            'erp5_dms',
-            'erp5_slideshow_style',
-            'erp5_ui_test_core',
-            'erp5_run_my_doc')
-
-  def afterSetUp(self):
-    """
-    This is ran before anything, used to set the environment
-    """
-    # here, you can create the categories and objects your test will depend on
-
-  website_id = "test_page_web_site"
-
-  def test_getDocumentListWithTestPage(self):
-    """
-     Assert if Test Page works with getDocumentList
-    """
-    test_page_reference = "developer-my.test.page"
-    website = getattr(self.portal.web_site_module, self.website_id, None)
-    if website is None:
-      website = self.portal.web_site_module.newContent(
-                                   portal_type='Web Site',
-                                   id=self.website_id)
-      website.publish()
-      self.tic()
-
-    test_page = self.portal.test_page_module.newContent(
-              portal_type="Test Page",
-              reference=test_page_reference,
-              language="en",
-              version="001")
-              
-    test_page.publish()
-    self.tic()
-    
-    document = website.WebSection_getDocumentValue(test_page_reference)
-    
-    self.assertNotEquals(None, document)
-    self.assertEqual(document.getRelativeUrl(),
-                      test_page.getRelativeUrl())
-
-  def test_Zuite_uploadScreenShot(self):
-    """
-      Test Screeshot upload script used by Zelenium to 
-      update screenshots of the documents.
-    """
-    image_upload = makeFileUpload('TEST-en-002.png')
-    self.assertNotEquals(None, image_upload)
-    
-    # Create a web page, and check if the content is not overwriten
-    web_page_reference = "WEB-PAGE-REFERENCE"
-    web_page = self.portal.web_page_module.newContent(
-                                     reference=web_page_reference, 
-                                     language="en", version="001")
-    web_page.publishAlive()
-    self.tic()
-
-    image_reference = "IMAGE-REFERENCE-%s" % str(time())
-    image_page = self.portal.image_module.newContent(
-                                   reference=image_reference, 
-                                   language="en", version="001")
-    image_page.publishAlive()
-    self.tic()
-    image_page_2 = self.portal.image_module.newContent(
-                                   reference=image_reference, 
-                                   language="en", version="002")
-    image_page_2.publishAlive()
-    self.tic()
-
-    self.portal.REQUEST.form['data_uri'] = image_upload
-    fake_image_reference = "DO-NOT-EXISTANT-IMAGE"
-    self.assertNotEquals(None, 
-                   self.portal.Zuite_uploadScreenshot(image_upload, fake_image_reference))
-
-    self.assertNotEquals(None, 
-                   self.portal.Zuite_uploadScreenshot(image_upload, web_page_reference))
-
-    self.assertEqual(None, 
-                   self.portal.Zuite_uploadScreenshot(image_upload, image_reference))
-
-    self.tic()
-    # The right image were updated.
-    image_upload.seek(0)
-    self.assertEqual(image_page_2.getData(), image_upload.read().decode("base64"))
-    self.assertEqual(image_page_2.getFilename(), image_reference + '.png')
-    self.assertEqual(image_page.getData(), '')
-
-  def test_viewSeleniumTest(self):
-    """
-      Test the script that extracts Selenium Test from HTML body.
-    """
-    test_page_html = """<section><h1>TITLE</h1><details>DETAILS<details>
-    <test><table class="test" style="display: none;"> <tbody> </tbody></table> </test> 
-    </section> 
-    <section><h1>TITLE</h1><details>DETAILS<details><test>
-      <table class="test" style="display: none;">
-        <tbody> 
-          <tr> 
-            <td colspan="3">&lt;span metal:use-macro=&quot;container/Zuite_viewTestMacroLibrary/macros/init_test_environment&quot; style=&quot;display: none;&quot;&gt;init&lt;/span&gt;</td> 
-          </tr> 
-          <tr> 
-            <td>selectAndWait</td> 
-            <td>name=select_module</td> 
-            <td>label=Test Pages</td> 
-          </tr> 
-          <tr> 
-            <td>verifyTextPresent</td> 
-            <td>Test Pages</td> 
-            <td> <br /> </td> 
-          </tr> 
-          <tr style="opacity: 1;"> 
-            <td>clickAndWait</td> 
-            <td>css=a.fast_input &gt; span.image</td> 
-            <td> <br /> </td> 
-          </tr> </tbody></table> </test> 
-    </section> 
-    <section><h1>TITLE</h1><details>DETAILS<details><test>
-      <table class="test" style="display: none;"> <tbody> 
-          <tr> 
-            <td>verifyTextPresent</td> 
-            <td>Test Pages</td> 
-            <td> <br /> </td> 
-          </tr> </tbody></table> </test> 
-    </section>"""
-
-    expected_test_html = u"""<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <title>TEST</title>
-  </head>
-  <body>
-    <table name="SELENIUM-TEST" cellpadding="1" cellspacing="1" border="1">
-      <thead>
-        <tr class="title">
-          <td colspan="3">TEST</td>
-        </tr>
-      </thead>
-      <tbody>
-        <span metal:use-macro="container/Zuite_CommonTemplate/macros/init" style="display: none;">init</span>        <tr>
-          <td>store</td>
-          <!-- ERP5TypeTestCase is the default for any UnitTest -->
-          <td>%s</td>
-          <td>base_user</td>
-         </tr>
-        <tr>
-          <td>store</td>
-          <td>%s</td>
-          <td>base_password</td>
-         </tr>
-        <span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/init_test_environment" style="display: none;">init</span><tr> 
-            <td>selectAndWait</td> 
-            <td>name=select_module</td> 
-            <td>label=Test Pages</td> 
-          </tr> 
-          <tr> 
-            <td>verifyTextPresent</td> 
-            <td>Test Pages</td> 
-            <td> <br> </td> 
-          </tr> 
-          <tr style="opacity: 1;"> 
-            <td>clickAndWait</td> 
-            <td>css=a.fast_input &gt; span.image</td> 
-            <td> <br> </td> 
-          </tr> <tr> 
-            <td>verifyTextPresent</td> 
-            <td>Test Pages</td> 
-            <td> <br> </td> 
-          </tr> 
-      </tbody>
-    </table>
-  </body>
-</html>"""
-  
-    test_page = self.portal.test_page_module.newContent(title="TEST",
-                                                        reference='TESTPAGEREFERENCE',
-                                                        text_content=test_page_html)
-    self.assertEqual(test_page.TestPage_viewSeleniumTest(), expected_test_html % 
-                                 ("ERP5TypeTestCase", ""))
-
-    self.tic()
-    test_page.TestPage_runSeleniumTest()
-
-    zuite = getattr(self.portal.portal_tests, 'TESTPAGEREFERENCE', None)
-    self.assertNotEquals(zuite, None)
-    
-    zptest = getattr(zuite, "TEST", None)
-    self.assertNotEquals(zptest, None)
-
-    expected_html = expected_test_html % ("ERP5TypeTestCase", "")
-
-    self.assertEqual(zptest._text, expected_html.strip())
-
-    expected_test_html = u"""<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <title>TEST</title>
-  </head>
-  <body>
-    <table name="SELENIUM-TEST" cellpadding="1" cellspacing="1" border="1">
-      <thead>
-        <tr class="title">
-          <td colspan="3">TEST</td>
-        </tr>
-      </thead>
-      <tbody>
-        <tr>
-          <td>store</td>
-          <td>%s</td>
-          <td>base_url</td>
-        </tr>
-        <tr>
-          <td>store</td>
-          <!-- ERP5TypeTestCase is the default for any UnitTest -->
-          <td>%s</td>
-          <td>base_user</td>
-         </tr>
-        <tr>
-          <td>store</td>
-          <td>%s</td>
-          <td>base_password</td>
-         </tr>
-        <span metal:use-macro="container/Zuite_viewTestMacroLibrary/macros/init_test_environment" style="display: none;">init</span><tr> 
-            <td>selectAndWait</td> 
-            <td>name=select_module</td> 
-            <td>label=Test Pages</td> 
-          </tr> 
-          <tr> 
-            <td>verifyTextPresent</td> 
-            <td>Test Pages</td> 
-            <td> <br> </td> 
-          </tr> 
-          <tr style="opacity: 1;"> 
-            <td>clickAndWait</td> 
-            <td>css=a.fast_input &gt; span.image</td> 
-            <td> <br> </td> 
-          </tr> <tr> 
-            <td>verifyTextPresent</td> 
-            <td>Test Pages</td> 
-            <td> <br> </td> 
-          </tr> 
-      </tbody>
-    </table>
-  </body>
-</html>"""
-
-
-    # Mimic usage of TestPage_viewSeleniumTest?url=...
-    self.portal.REQUEST['url'] = "http://toto.com"
-    self.portal.REQUEST['user'] = "toto"
-    self.portal.REQUEST['password'] = "toto"
-
-    self.assertEqual(test_page.TestPage_viewSeleniumTest(REQUEST=self.portal.REQUEST),
-                      expected_test_html % ("http://toto.com", "toto", "toto"))
-    self.tic()
-    test_page.TestPage_runSeleniumTest()
-
-    zuite = getattr(self.portal.portal_tests, 'TESTPAGEREFERENCE', None)
-    self.assertNotEquals(zuite, None)
-
-    zptest = getattr(zuite, "TEST", None)
-    self.assertNotEquals(zptest, None)
-
-    expected_html = expected_test_html % ("http://toto.com", "toto", "toto")
-
-    self.assertEqual(zptest._text, expected_html.strip())
diff --git a/bt5/erp5_run_my_doc/bt/template_extension_id_list b/bt5/erp5_run_my_doc/bt/template_extension_id_list
deleted file mode 100644
index 4900ce5755..0000000000
--- a/bt5/erp5_run_my_doc/bt/template_extension_id_list
+++ /dev/null
@@ -1 +0,0 @@
-ERP5RunMyDocs
\ No newline at end of file
diff --git a/bt5/erp5_run_my_doc/bt/template_test_id_list b/bt5/erp5_run_my_doc/bt/template_test_id_list
deleted file mode 100644
index f88a60b417..0000000000
--- a/bt5/erp5_run_my_doc/bt/template_test_id_list
+++ /dev/null
@@ -1 +0,0 @@
-testRunMyDoc
\ No newline at end of file
-- 
2.30.9