Skip to content

Commit

Permalink
[fc] Repository: Products.CMFPlone
Browse files Browse the repository at this point in the history
Branch: refs/heads/master
Date: 2019-04-09T14:15:49+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/Products.CMFPlone@a43f0d9

Fixed unstable Markup Control Panel robot test again.

The trick seems to be to first check the allowed type that we want to add,
and then uncheck the other ones.
Otherwise you get a slightly belated validation error before pressing Save,
and the Save has no effect.

(If this does not help, we really have to add a 'Sleep  1' before pressing Save.)

Files changed:
A news/2809.bugfix
M Products/CMFPlone/tests/robot/test_controlpanel_markup.robot
Repository: Products.CMFPlone

Branch: refs/heads/master
Date: 2019-04-09T16:12:50+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: plone/Products.CMFPlone@183982b

Merge pull request #2826 from plone/maurits-issue-2809-unstable-robot-markup-2

Fixed unstable Markup Control Panel robot test again.

Files changed:
A news/2809.bugfix
M Products/CMFPlone/tests/robot/test_controlpanel_markup.robot
  • Loading branch information
jensens committed Apr 9, 2019
1 parent 86ef6c8 commit 96324fc
Showing 1 changed file with 22 additions and 19 deletions.
41 changes: 22 additions & 19 deletions last_commit.txt
Original file line number Diff line number Diff line change
@@ -1,38 +1,41 @@
Repository: plone.app.referenceablebehavior
Repository: Products.CMFPlone


Branch: refs/heads/master
Date: 2019-04-09T10:38:17+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: https://github.com/plone/plone.app.referenceablebehavior/commit/9e13ce5c18ac38d7260bac3b3e977b48c48b02b5
Date: 2019-04-09T14:15:49+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: https://github.com/plone/Products.CMFPlone/commit/a43f0d9deead63c1e24c966bd0f1fa560f8058b0

Fixed unstable Markup Control Panel robot test again.

Revert "Fix references missing from the reference catalog on move/rename"
The trick seems to be to first check the allowed type that we want to add,
and then uncheck the other ones.
Otherwise you get a slightly belated validation error before pressing Save,
and the Save has no effect.

This reverts commit a45f487e0f94effb3992c18c9f416d5cb2cf7234.
(If this does not help, we really have to add a 'Sleep 1' before pressing Save.)

Files changed:
M CHANGES.rst
M plone/app/referenceablebehavior/tests/test_basics.py
M plone/app/referenceablebehavior/uidcatalog.py
A news/2809.bugfix
M Products/CMFPlone/tests/robot/test_controlpanel_markup.robot

b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex 4856fce..ffa01c0 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -14,9 +14,7 @@ New features:\n \n Bug fixes:\n \n-- Fix references missing from the reference catalog when an object is\n- moved/renamed.\n- [rpatterson]\n+- *add item here*\n \n \n 0.7.7 (2017-02-05)\ndiff --git a/plone/app/referenceablebehavior/tests/test_basics.py b/plone/app/referenceablebehavior/tests/test_basics.py\nindex 9cf83ba..ccf1263 100644\n--- a/plone/app/referenceablebehavior/tests/test_basics.py\n+++ b/plone/app/referenceablebehavior/tests/test_basics.py\n@@ -25,44 +25,35 @@ def test_rename_does_not_change_uuid(self):\n self.portal.manage_renameObject(id=\'doc1\', new_id=\'new_name\')\n self.assertEquals(old_doc_uuid, IUUID(self.portal[\'new_name\']))\n \n+ @unittest.skip(\'Needs Refactor. Linkintegrity does not use ref_catalog\')\n def test_rename_updates_ref_catalog(self):\n doc1 = self.portal[\'doc1\']\n doc2 = self.portal[\'doc2\']\n-\n- doc1_refs = IReferenceable(doc1)\n- doc2_refs = IReferenceable(doc2)\n- doc1_refs.addReference(doc2_refs, relationship=\'fooRelationship\')\n-\n ref_catalog = self.portal.reference_catalog\n+ doc1.text = RichTextValue(\'<a href="doc2">doc2</a>\')\n+ modified(doc1)\n self.assertEquals(1, len(ref_catalog()))\n- self.assertEquals([doc2], doc1_refs.getReferences())\n+\n+ self.assertEquals([doc2], IReferenceable(doc1).getReferences())\n ref_brain = ref_catalog()[0]\n self.assertTrue(ref_brain.getPath().startswith(\'doc1\'))\n-\n self.portal.manage_renameObject(id=\'doc1\', new_id=\'new_name\')\n- doc1 = self.portal[\'new_name\']\n- doc1_refs = IReferenceable(doc1)\n-\n+ modified(doc1)\n self.assertEquals(1, len(ref_catalog()))\n ref_brain = ref_catalog()[0]\n self.assertTrue(ref_brain.getPath().startswith(\'new_name\'))\n- self.assertEquals([doc2], doc1_refs.getReferences())\n+ self.assertEquals([doc2], IReferenceable(doc1).getReferences())\n \n+ @unittest.skip(\'Needs Refactor. Linkintegrity does not use ref_catalog\')\n def test_remove_cleans_ref_catalog(self):\n doc1 = self.portal[\'doc1\']\n- doc2 = self.portal[\'doc2\']\n-\n- doc1_refs = IReferenceable(doc1)\n- doc2_refs = IReferenceable(doc2)\n- doc1_refs.addReference(doc2_refs, relationship=\'fooRelationship\')\n-\n+ doc1.text = RichTextValue(\'<a href="doc1">doc1</a>\')\n+ modified(doc1)\n ref_catalog = self.portal.reference_catalog\n self.assertEquals(1, len(ref_catalog()))\n- self.assertEquals([doc1], doc2_refs.getBackReferences())\n \n self.portal.manage_delObjects([\'doc1\'])\n self.assertEquals(0, len(ref_catalog()))\n- self.assertEquals([], doc2_refs.getBackReferences())\n \n def test_referenceable_api(self):\n doc1 = self.portal[\'doc1\']\ndiff --git a/plone/app/referenceablebehavior/uidcatalog.py b/plone/app/referenceablebehavior/uidcatalog.py\nindex 2daabe9..2580fac 100644\n--- a/plone/app/referenceablebehavior/uidcatalog.py\n+++ b/plone/app/referenceablebehavior/uidcatalog.py\n@@ -77,17 +77,15 @@ def moved_handler(obj, event):\n return\n \n for ref in annotations.objectValues():\n- new_url = getRelURL(ref_catalog, ref.getPhysicalPath())\n+ url = getRelURL(ref_catalog, ref.getPhysicalPath())\n if event.oldName and event.newName:\n- old_url = event.oldName + new_url[len(event.newName):]\n- uid_catalog_rid = uid_catalog.getrid(old_url)\n- ref_catalog_rid = ref_catalog.getrid(old_url)\n+ url = event.oldName + url[len(event.newName):]\n+ uid_catalog_rid = uid_catalog.getrid(url)\n+ ref_catalog_rid = ref_catalog.getrid(url)\n if uid_catalog_rid is not None:\n- uid_catalog.uncatalog_object(old_url)\n- uid_catalog.catalog_object(ref, new_url)\n+ uid_catalog.uncatalog_object(url)\n if ref_catalog_rid is not None:\n- ref_catalog.uncatalog_object(old_url)\n- ref_catalog.catalog_object(ref, new_url)\n+ ref_catalog.uncatalog_object(url)\n \n \n def removed_handler(obj, event):\n'
b'diff --git a/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot b/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot\nindex b455c5cf4..1df997158 100644\n--- a/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot\n+++ b/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot\n@@ -46,12 +46,11 @@ the markup control panel\n # --- WHEN -------------------------------------------------------------------\n \n I set allowed types to "${type}"\n- [Documentation] \'Wait until page contains Changes saved\' is nicer, but is unstable. See https://github.com/plone/Products.CMFPlone/issues/2809\n+ with the label ${type} Select Checkbox\n with the label text/html UnSelect Checkbox\n with the label text/x-web-textile UnSelect Checkbox\n- with the label ${type} Select Checkbox\n Click Button Save\n- Go to ${PLONE_URL}/@@markup-controlpanel\n+ Wait until page contains Changes saved\n Checkbox Should Be Selected ${type}\n Checkbox Should Not Be Selected text/html\n Checkbox Should Not Be Selected text/x-web-textile\ndiff --git a/news/2809.bugfix b/news/2809.bugfix\nnew file mode 100644\nindex 000000000..9e3c9b8e1\n--- /dev/null\n+++ b/news/2809.bugfix\n@@ -0,0 +1 @@\n+Fixed unstable Markup Control Panel robot test again. [maurits]\n'

Repository: plone.app.referenceablebehavior
Repository: Products.CMFPlone


Branch: refs/heads/master
Date: 2019-04-09T10:40:01+02:00
Date: 2019-04-09T16:12:50+02:00
Author: Jens W. Klein (jensens) <jk@kleinundpartner.at>
Commit: https://github.com/plone/plone.app.referenceablebehavior/commit/53bbe2b5170ed7f018b6e2d60bb47d89fa050b29
Commit: https://github.com/plone/Products.CMFPlone/commit/183982b1dec33f56c4e6f5e5fe182efa6f780c91

Merge pull request #12 from plone/revert-breaking-commit-by-rpatterson
Merge pull request #2826 from plone/maurits-issue-2809-unstable-robot-markup-2

Revert "Fix references missing from the reference catalog on move/ren…
Fixed unstable Markup Control Panel robot test again.

Files changed:
M CHANGES.rst
M plone/app/referenceablebehavior/tests/test_basics.py
M plone/app/referenceablebehavior/uidcatalog.py
A news/2809.bugfix
M Products/CMFPlone/tests/robot/test_controlpanel_markup.robot

b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex 4856fce..ffa01c0 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -14,9 +14,7 @@ New features:\n \n Bug fixes:\n \n-- Fix references missing from the reference catalog when an object is\n- moved/renamed.\n- [rpatterson]\n+- *add item here*\n \n \n 0.7.7 (2017-02-05)\ndiff --git a/plone/app/referenceablebehavior/tests/test_basics.py b/plone/app/referenceablebehavior/tests/test_basics.py\nindex 9cf83ba..ccf1263 100644\n--- a/plone/app/referenceablebehavior/tests/test_basics.py\n+++ b/plone/app/referenceablebehavior/tests/test_basics.py\n@@ -25,44 +25,35 @@ def test_rename_does_not_change_uuid(self):\n self.portal.manage_renameObject(id=\'doc1\', new_id=\'new_name\')\n self.assertEquals(old_doc_uuid, IUUID(self.portal[\'new_name\']))\n \n+ @unittest.skip(\'Needs Refactor. Linkintegrity does not use ref_catalog\')\n def test_rename_updates_ref_catalog(self):\n doc1 = self.portal[\'doc1\']\n doc2 = self.portal[\'doc2\']\n-\n- doc1_refs = IReferenceable(doc1)\n- doc2_refs = IReferenceable(doc2)\n- doc1_refs.addReference(doc2_refs, relationship=\'fooRelationship\')\n-\n ref_catalog = self.portal.reference_catalog\n+ doc1.text = RichTextValue(\'<a href="doc2">doc2</a>\')\n+ modified(doc1)\n self.assertEquals(1, len(ref_catalog()))\n- self.assertEquals([doc2], doc1_refs.getReferences())\n+\n+ self.assertEquals([doc2], IReferenceable(doc1).getReferences())\n ref_brain = ref_catalog()[0]\n self.assertTrue(ref_brain.getPath().startswith(\'doc1\'))\n-\n self.portal.manage_renameObject(id=\'doc1\', new_id=\'new_name\')\n- doc1 = self.portal[\'new_name\']\n- doc1_refs = IReferenceable(doc1)\n-\n+ modified(doc1)\n self.assertEquals(1, len(ref_catalog()))\n ref_brain = ref_catalog()[0]\n self.assertTrue(ref_brain.getPath().startswith(\'new_name\'))\n- self.assertEquals([doc2], doc1_refs.getReferences())\n+ self.assertEquals([doc2], IReferenceable(doc1).getReferences())\n \n+ @unittest.skip(\'Needs Refactor. Linkintegrity does not use ref_catalog\')\n def test_remove_cleans_ref_catalog(self):\n doc1 = self.portal[\'doc1\']\n- doc2 = self.portal[\'doc2\']\n-\n- doc1_refs = IReferenceable(doc1)\n- doc2_refs = IReferenceable(doc2)\n- doc1_refs.addReference(doc2_refs, relationship=\'fooRelationship\')\n-\n+ doc1.text = RichTextValue(\'<a href="doc1">doc1</a>\')\n+ modified(doc1)\n ref_catalog = self.portal.reference_catalog\n self.assertEquals(1, len(ref_catalog()))\n- self.assertEquals([doc1], doc2_refs.getBackReferences())\n \n self.portal.manage_delObjects([\'doc1\'])\n self.assertEquals(0, len(ref_catalog()))\n- self.assertEquals([], doc2_refs.getBackReferences())\n \n def test_referenceable_api(self):\n doc1 = self.portal[\'doc1\']\ndiff --git a/plone/app/referenceablebehavior/uidcatalog.py b/plone/app/referenceablebehavior/uidcatalog.py\nindex 2daabe9..2580fac 100644\n--- a/plone/app/referenceablebehavior/uidcatalog.py\n+++ b/plone/app/referenceablebehavior/uidcatalog.py\n@@ -77,17 +77,15 @@ def moved_handler(obj, event):\n return\n \n for ref in annotations.objectValues():\n- new_url = getRelURL(ref_catalog, ref.getPhysicalPath())\n+ url = getRelURL(ref_catalog, ref.getPhysicalPath())\n if event.oldName and event.newName:\n- old_url = event.oldName + new_url[len(event.newName):]\n- uid_catalog_rid = uid_catalog.getrid(old_url)\n- ref_catalog_rid = ref_catalog.getrid(old_url)\n+ url = event.oldName + url[len(event.newName):]\n+ uid_catalog_rid = uid_catalog.getrid(url)\n+ ref_catalog_rid = ref_catalog.getrid(url)\n if uid_catalog_rid is not None:\n- uid_catalog.uncatalog_object(old_url)\n- uid_catalog.catalog_object(ref, new_url)\n+ uid_catalog.uncatalog_object(url)\n if ref_catalog_rid is not None:\n- ref_catalog.uncatalog_object(old_url)\n- ref_catalog.catalog_object(ref, new_url)\n+ ref_catalog.uncatalog_object(url)\n \n \n def removed_handler(obj, event):\n'
b'diff --git a/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot b/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot\nindex b455c5cf4..1df997158 100644\n--- a/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot\n+++ b/Products/CMFPlone/tests/robot/test_controlpanel_markup.robot\n@@ -46,12 +46,11 @@ the markup control panel\n # --- WHEN -------------------------------------------------------------------\n \n I set allowed types to "${type}"\n- [Documentation] \'Wait until page contains Changes saved\' is nicer, but is unstable. See https://github.com/plone/Products.CMFPlone/issues/2809\n+ with the label ${type} Select Checkbox\n with the label text/html UnSelect Checkbox\n with the label text/x-web-textile UnSelect Checkbox\n- with the label ${type} Select Checkbox\n Click Button Save\n- Go to ${PLONE_URL}/@@markup-controlpanel\n+ Wait until page contains Changes saved\n Checkbox Should Be Selected ${type}\n Checkbox Should Not Be Selected text/html\n Checkbox Should Not Be Selected text/x-web-textile\ndiff --git a/news/2809.bugfix b/news/2809.bugfix\nnew file mode 100644\nindex 000000000..9e3c9b8e1\n--- /dev/null\n+++ b/news/2809.bugfix\n@@ -0,0 +1 @@\n+Fixed unstable Markup Control Panel robot test again. [maurits]\n'

0 comments on commit 96324fc

Please sign in to comment.