def test_import_no_file(self): from zope.component import getUtility from plone.registry.interfaces import IRegistry from plone.app.theming.interfaces import IThemeSettings from plone.app.theming.exportimport.handler import importTheme class FauxContext(object): def getLogger(self, name): import logging return logging.getLogger(name) def readDataFile(self, name): assert name == 'theme.xml' return None settings = getUtility(IRegistry).forInterface(IThemeSettings, False) rules = settings.rules absolutePrefix = settings.absolutePrefix parameterExpressions = settings.parameterExpressions importTheme(FauxContext()) # should be unchanged self.assertEqual(settings.rules, rules) self.assertEqual(settings.absolutePrefix, absolutePrefix) self.assertEqual(settings.parameterExpressions, parameterExpressions)
def test_import_filesystem(self): from zope.component import getUtility from plone.registry.interfaces import IRegistry from plone.app.theming.interfaces import IThemeSettings from plone.app.theming.exportimport.handler import importTheme class FauxContext(object): def getLogger(self, name): import logging return logging.getLogger(name) def readDataFile(self, name): assert name == 'theme.xml' return "<theme><name>plone.app.theming.tests</name></theme>" importTheme(FauxContext()) settings = getUtility(IRegistry).forInterface(IThemeSettings, False) self.assertEqual(settings.rules, '/++theme++plone.app.theming.tests/rules.xml') self.assertEqual(settings.absolutePrefix, '/++theme++plone.app.theming.tests') self.assertEqual(settings.parameterExpressions, {'foo': "python:request.get('bar')"})
def test_import_disable(self): from zope.component import getUtility from plone.registry.interfaces import IRegistry from plone.app.theming.interfaces import IThemeSettings from plone.app.theming.exportimport.handler import importTheme class FauxContext(object): def getLogger(self, name): import logging return logging.getLogger(name) def readDataFile(self, name): assert name == 'theme.xml' return "<theme><enabled>false</enabled></theme>" settings = getUtility(IRegistry).forInterface(IThemeSettings, False) settings.enabled = True importTheme(FauxContext()) self.assertEqual(settings.enabled, False)
def test_import_disable(self): from zope.globalrequest import getRequest from plone.app.theming.interfaces import IThemeSettings from plone.app.theming.exportimport.handler import importTheme class FauxContext(object): def getLogger(self, name): import logging return logging.getLogger(name) def readDataFile(self, name): assert name == 'theme.xml' return "<theme><enabled>false</enabled></theme>" toadapt = (self.layer['portal'], getRequest()) settings = getMultiAdapter(toadapt, IThemeSettings) settings.enabled = True importTheme(FauxContext()) self.assertEqual(settings.enabled, False)
def test_import_filesystem(self): from zope.globalrequest import getRequest from plone.app.theming.interfaces import IThemeSettings from plone.app.theming.exportimport.handler import importTheme class FauxContext(object): def getLogger(self, name): import logging return logging.getLogger(name) def readDataFile(self, name): assert name == 'theme.xml' return "<theme><name>plone.app.theming.tests</name></theme>" importTheme(FauxContext()) toadapt = (self.layer['portal'], getRequest()) settings = getMultiAdapter(toadapt, IThemeSettings) self.assertEqual(settings.rules, '/++theme++plone.app.theming.tests/rules.xml') self.assertEqual(settings.absolutePrefix, '/++theme++plone.app.theming.tests') self.assertEqual(settings.parameterExpressions, {'foo': "python:request.get('bar')"})
def test_import_no_file(self): from zope.globalrequest import getRequest from plone.app.theming.interfaces import IThemeSettings from plone.app.theming.exportimport.handler import importTheme class FauxContext(object): def getLogger(self, name): import logging return logging.getLogger(name) def readDataFile(self, name): assert name == 'theme.xml' return None importTheme(FauxContext()) toadapt = (self.layer['portal'], getRequest()) settings = getMultiAdapter(toadapt, IThemeSettings) self.assertEqual(settings.rules, None) self.assertEqual(settings.absolutePrefix, None) self.assertEqual(settings.parameterExpressions, {})