def testRule(self): factory = DescriptorFactory(self.policy) descriptor = factory(self.image_content) context = getDeployExprContext(self.image_content, self.portal) self.assertEqual(self.rules.at_image_content.isValid(self.image_content, context), True) descriptor = self.rules.at_image_content.process(descriptor, context) self.assertEqual(len(descriptor.getDescriptors()), 2) return descriptor
def addResource(self, obj, type): factory = DescriptorFactory( self.policy ) descriptor = factory( obj ) context = getDeployExprContext( obj, self.portal) descriptor = self.rules[type].process( descriptor, context ) mastering = self.policy.getContentMastering() mastering.setup() mastering.cook( descriptor ) mastering.tearDown() rendered = descriptor.getRendered() self.resolver.addResource( descriptor ) return descriptor
def testContainerRule(self): self.rules.manage_addProduct["CMFDeployment"].addATContainerRule( id="at_container", extension_expression="string:${object/getId}/index.html", condition="python: object.portal_type == 'Sample Image Folder'", view_method="", ) self.portal._setObject("image_folder", SampleImageSchemaFolder("image_folder")) image_folder = self.portal._getOb("image_folder") image_folder.invokeFactory("Document", "index_html") factory = DescriptorFactory(self.policy) context = getDeployExprContext(image_folder, self.portal) self.assertEqual(self.rules.at_container.isValid(image_folder, context), True) descriptor = factory(image_folder) descriptor = self.rules.at_container.process(descriptor, context) self.assertEqual(descriptor.getRenderMethod(), "index_html") self.assertEqual(len(descriptor.getReverseDependencies()), 2) self.assertEqual(descriptor.isGhost(), True)