Ejemplo n.º 1
0
    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())
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
 def setUp( self ):
     self.sv_spec    = ElementSpec( 0 )
     self.mv_spec    = ElementSpec( 1 )
Ejemplo n.º 5
0
 def setUp(self):
     self.sv_spec = ElementSpec(0)
     self.mv_spec = ElementSpec(1)