def test_migration(self): # Test that we forward-migrate old-style DCMI policies. from Products.CMFDefault.MetadataTool import ElementSpec tool = self._makeOne() tool.element_specs = { 'Title': ElementSpec(0), 'Description': ElementSpec(0), 'Subject': ElementSpec(1), 'Format': ElementSpec(0), 'Language': ElementSpec(0), 'Rights': ElementSpec(0) } subj = tool.element_specs['Subject'] subj.addPolicy('Foo') subj.getPolicy('Foo').edit(False, False, None, True, ('bar', 'baz')) dcmi = tool.DCMI self.assertEqual(dcmi.getId(), 'DCMI') # Accessing the DCMI property converts and clears 'element_specs' self.assertRaises(AttributeError, lambda: tool.element_specs) subj2 = dcmi.getElementSpec('Subject') subj_default = subj2.getPolicy(None) subj_foo = subj2.getPolicy('Foo') self.assertEqual(subj_foo.isRequired(), False) self.assertEqual(subj_foo.supplyDefault(), False) self.assertEqual(subj_foo.defaultValue(), None) self.assertEqual(subj_foo.enforceVocabulary(), True) self.assertEqual(len(subj_foo.allowedVocabulary()), 2) self.failUnless('bar' in subj_foo.allowedVocabulary()) self.failUnless('baz' in subj_foo.allowedVocabulary())
class TestElementSpec(TestCase): def setUp(self): self.sv_spec = ElementSpec(0) self.mv_spec = ElementSpec(1) def tearDown(self): del self.sv_spec del self.mv_spec def test_empty(self): assert not self.sv_spec.isMultiValued() assert self.sv_spec.getPolicy() == self.sv_spec.getPolicy('XYZ') policies = self.sv_spec.listPolicies() assert len(policies) == 1 assert policies[0][0] is None assert self.mv_spec.isMultiValued() assert self.mv_spec.getPolicy() == self.mv_spec.getPolicy('XYZ') policies = self.mv_spec.listPolicies() assert len(policies) == 1 assert policies[0][0] is None
class TestElementSpec( TestCase ): def setUp( self ): self.sv_spec = ElementSpec( 0 ) self.mv_spec = ElementSpec( 1 ) def tearDown( self ): del self.sv_spec del self.mv_spec def test_empty( self ): assert not self.sv_spec.isMultiValued() assert self.sv_spec.getPolicy() == self.sv_spec.getPolicy( 'XYZ' ) policies = self.sv_spec.listPolicies() assert len( policies ) == 1 assert policies[0][0] is None assert self.mv_spec.isMultiValued() assert self.mv_spec.getPolicy() == self.mv_spec.getPolicy( 'XYZ' ) policies = self.mv_spec.listPolicies() assert len( policies ) == 1 assert policies[0][0] is None
def setUp( self ): self.sv_spec = ElementSpec( 0 ) self.mv_spec = ElementSpec( 1 )
def setUp(self): self.sv_spec = ElementSpec(0) self.mv_spec = ElementSpec(1)