Thursday, 5 September 2013

Plone unit tests do not load dependency package profile

Plone unit tests do not load dependency package profile

I've developed an add-on for Plone 4.2 and I'm writing the tests. When I
execute
# bin/test -s my.stream
I got the following error: KeyError: u'profile-my.common:default' Why I'm
getting that error?
Here's some information that may be helpfull.
The traceback:
Traceback (most recent call last):
File
"/blah/user/blah/00-buildout/eggs/zope.testing-3.9.7-py2.6.egg/zope/testing
/testrunner/runner.py", line 366, in run_layer
setup_layer(options, layer, setup_layers)
File
"/blah/user/blah/00-buildout/eggs/zope.testing-3.9.7-py2.6.egg/zope/testing/testrunner/runner.py",
line 628, in setup_layer
setup_layer(options, base, setup_layers)
File
"/blah/user/blah/00-buildout/eggs/zope.testing-3.9.7-py2.6.egg/zope/testing/testrunner/runner.py",
line 633, in setup_layer
layer.setUp()
File
"/blah/user/blah/00-buildout/eggs/plone.app.testing-4.2-py2.6.egg/plone/app/testing/helpers.py",
line 343, in setUp
self.setUpPloneSite(portal)
File
"/blah/user/blah/venv26/buildout/src/my.stream/my/stream/testing.py",
line 20, in setUpPloneSite
applyProfile(portal, 'my.stream:default')
File
"/blah/user/blah/00-buildout/eggs/plone.app.testing-4.2-py2.6.egg/plone/app/testing/helpers.py",
line 113, in applyProfile
setupTool.runAllImportStepsFromProfile(profileId)
File
"/blah/user/blah/00-buildout/eggs/Products.GenericSetup-1.7.1-py2.6.egg/Products/GenericSetup/tool.py",
line 353, in runAllImportStepsFromProfile
ignore_dependencies=ignore_dependencies)
- __traceback_info__: profile-my.stream:default
File
"/blah/user/blah/00-buildout/eggs/Products.GenericSetup-1.7.1-py2.6.egg/Products/GenericSetup/tool.py",
line 1095, in _runImportStepsFromContext
chain = self.getProfileDependencyChain( profile_id )
File
"/blah/user/blah/00-buildout/eggs/Products.GenericSetup-1.7.1-py2.6.egg/Products/GenericSetup/tool.py",
line 1078, in getProfileDependencyChain
chain.extend(self.getProfileDependencyChain( dependency, seen ))
File
"/blah/user/blah/00-buildout/eggs/Products.GenericSetup-1.7.1-py2.6.egg/Products/GenericSetup/tool.py",
line 1078, in getProfileDependencyChain
chain.extend(self.getProfileDependencyChain( dependency, seen ))
File
"/blah/user/blah/00-buildout/eggs/Products.GenericSetup-1.7.1-py2.6.egg/Products/GenericSetup/tool.py",
line 1076, in getProfileDependencyChain
dependencies = self.getDependenciesForProfile( profile_id )
File
"/blah/user/blah/00-buildout/eggs/Products.GenericSetup-1.7.1-py2.6.egg/Products/GenericSetup/tool.py",
line 858, in getDependenciesForProfile
raise KeyError, profile_id
KeyError: u'profile-my.common:default'
my.stream depends on my.common. Both are add-ons in
/blah/user/blah/buildout/src. They are managed by mr.developer.
My buildout includes all development eggs:
[buildout]
...
eggs =
my.common
my.stream
...
[test]
recipe = zc.recipe.testrunner
defaults = ['--auto-color', '--auto-progress']
eggs =
${instance:eggs}
My testing.py:
from plone.app.testing import PloneSandboxLayer
from plone.app.testing import applyProfile
from plone.app.testing import PLONE_FIXTURE
from plone.app.testing import IntegrationTesting
from zope.configuration import xmlconfig
class MyStreamContent(PloneSandboxLayer):
defaultBases = (PLONE_FIXTURE,)
def setUpZope(self, app, configurationContext):
# Load ZCML
import my.stream
xmlconfig.file('configure.zcml',
my.stream,
context=configurationContext)
def setUpPloneSite(self, portal):
applyProfile(portal, 'my.stream:default')
MY__FIXTURE = MyStreamContent()
MY__INTEGRATION_TESTING = IntegrationTesting(
bases=(MY__FIXTURE,),
name='MyStreamContent:Integration')
What I'm missing?
Thanks in advance.

No comments:

Post a Comment