Skip to content

Commit

Permalink
Add upgrade step
Browse files Browse the repository at this point in the history
  • Loading branch information
rodfersou committed Oct 1, 2018
1 parent 92159b5 commit d2b0776
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/collective/cover/profiles/default/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<metadata>
<version>22</version>
<version>23</version>
<dependencies>
<dependency>profile-collective.js.galleria:default</dependency>
<dependency>profile-collective.js.jqueryui:default</dependency>
Expand Down
35 changes: 35 additions & 0 deletions src/collective/cover/tests/test_upgrades.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,3 +320,38 @@ def test_add_remote_url_field(self):
tile = obj2.restrictedTraverse('@@collective.cover.basic/test')
# field remains unchanged
self.assertEqual(tile.data['remote_url'], remote_url)


class Upgrade22to23TestCase(UpgradeTestCaseBase):

def setUp(self):
UpgradeTestCaseBase.setUp(self, u'22', u'23')

def test_registrations(self):
version = self.setup.getLastVersionForProfile(self.profile_id)[0]
self.assertGreaterEqual(int(version), int(self.to_version))
self.assertEqual(self._how_many_upgrades_to_do(), 3)

def test_deprecate_resource_registries(self):
title = u'Deprecate resource registries'
step = self._get_upgrade_step(title)
self.assertIsNotNone(step)

# simulate state on previous version
from collective.cover.upgrades.v23 import SCRIPTS
js_tool = api.portal.get_tool('portal_javascripts')
for js in SCRIPTS:
js_tool.registerResource(id=js)
self.assertIn(js, js_tool.getResourceIds())
from collective.cover.upgrades.v23 import STYLES
css_tool = api.portal.get_tool('portal_css')
for css in STYLES:
css_tool.registerResource(id=css)
self.assertIn(css, css_tool.getResourceIds())

# run the upgrade step to validate the update
self._do_upgrade_step(step)
for js in SCRIPTS:
self.assertNotIn(js, js_tool.getResourceIds())
for css in STYLES:
self.assertNotIn(css, css_tool.getResourceIds())
1 change: 1 addition & 0 deletions src/collective/cover/upgrades/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@
<include package=".v20" />
<include package=".v21" />
<include package=".v22" />
<include package=".v23" />
</configure>
30 changes: 30 additions & 0 deletions src/collective/cover/upgrades/v23/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
from collective.cover.logger import logger
from plone import api


SCRIPTS = [
'++resource++collective.cover/js/contentchooser.js',
'++resource++collective.cover/js/vendor/jquery.endless-scroll.js',
'++resource++collective.cover/js/layout_edit.js',
'++resource++collective.cover/js/main.js',
]
STYLES = [
'++resource++collective.cover/css/contentchooser.css',
'++resource++collective.cover/css/cover.css',
]


def deprecate_resource_registries(setup_tool):
"""Deprecate resource registries."""
js_tool = api.portal.get_tool('portal_javascripts')
for js in SCRIPTS:
js_tool.unregisterResource(id=js)
assert js not in js_tool.getResourceIds() # nosec
logger.info('Scripts removed')

css_tool = api.portal.get_tool('portal_css')
for css in STYLES:
css_tool.unregisterResource(id=css)
assert css not in css_tool.getResourceIds() # nosec
logger.info('Styles removed')
31 changes: 31 additions & 0 deletions src/collective/cover/upgrades/v23/configure.zcml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:i18n="http://namespaces.zope.org/i18n"
i18n_domain="collective.cover">

<genericsetup:upgradeSteps
source="22"
destination="23"
profile="collective.cover:default">

<genericsetup:upgradeStep
title="Deprecate resource registries"
description="Remove static resources from registries; use a viewlet instead."
handler=".deprecate_resource_registries"
/>

<genericsetup:upgradeStep
title="Cook CSS resources"
description="There were changes in the CSS files, so we need to cook the resources."
handler="..cook_css_resources"
/>

<genericsetup:upgradeStep
title="Cook JS resources"
handler="..cook_javascript_resources"
/>

</genericsetup:upgradeSteps>

</configure>

0 comments on commit d2b0776

Please sign in to comment.