Beispiel #1
0
class CTSMEditingTestCase(unittest.TestCase):
    """
    Testing the profile and management within this scope manager.
    """

    def setUp(self):
        self.sm = ContentTypeScopeManager()
        self.file_profile = ContentTypeScopeProfile()
        self.file_profile.mapping = {'File': ['document_view']}
        self.folder_profile = ContentTypeScopeProfile()
        self.folder_profile.mapping = {'Folder': ['folder_contents']}

    def test_0001_edit(self):
        self.sm.setEditProfile('file', None)
        self.assertRaises(AssertionError, 
            self.sm.setEditProfile, 'file', object())

        self.sm.setEditProfile('file', self.file_profile)
        self.assertEqual(self.sm.getEditProfile('file'), self.file_profile)

    def test_0002_commit_del(self):
        self.sm.setEditProfile('file', self.file_profile)
        self.sm.commitEditProfile('file')
        self.assertEqual(self.sm.getMappingByName('file'),
            self.file_profile.mapping)
        mapping_id = self.sm.getMappingId('file')
        self.assertEqual(self.sm.getMappingMethods(mapping_id),
            ['GET', 'HEAD', 'OPTIONS'])

        self.sm.delMappingName('file')
        self.assertEqual(self.sm.getEditProfile('file'), None)
        self.assertEqual(self.sm.getMappingByName('file', default=None), None)
Beispiel #2
0
class CTSMMappingTestCase(unittest.TestCase):
    """
    Testing the profile and management within this scope manager.
    """

    def setUp(self):
        self.sm = ContentTypeScopeManager()
        self.file_mapping = {'File': ['document_view']}
        self.folder_mapping = {'Folder': ['folder_contents']}

    def test_0100_get_mapping(self):
        self.assertRaises(KeyError, self.sm.getMapping, 1)
        self.assertEqual(self.sm.getMapping(1, default='test'), 'test')

    def test_0101_add_get_mapping(self):
        self.assertEqual(self.sm.addMapping('test'), 1)
        self.assertEqual(self.sm.getMapping(1), 'test')

    def test_0200_mapping_name_and_id(self):
        _marker = 2
        self.assertRaises(KeyError, self.sm.getMappingId, 'rawscope')
        self.sm.setMappingNameToId('rawscope', _marker)
        self.assertEqual(self.sm.getMappingId('rawscope'), _marker)
        self.sm.setMappingNameToId('rawscope', 3)
        self.assertEqual(self.sm.getMappingId('rawscope'), 3)
        self.sm.delMappingName('rawscope')
        self.assertRaises(KeyError, self.sm.getMappingId, 'rawscope')

    def test_1000_request_scope_fresh_fail(self):
        self.assertFalse(self.sm.requestScope('key', 'rawscope'))
        self.assertEqual(len(self.sm._scope), 0)

    def test_1001_request_scope_fresh_default(self):
        self.assertTrue(self.sm.requestScope('key', None))
        self.assertEqual(len(self.sm._scope), 1)
        # Can't set this again.
        self.assertRaises(KeyError, self.sm.requestScope, 'key', None)

    def test_1002_request_scope_set_singular(self):
        key = 'request_key'
        scope = 'test_scope'
        mapping_id = self.sm.addMapping(self.file_mapping)
        self.sm.setMappingNameToId(scope, mapping_id)
        self.assertTrue(self.sm.requestScope(key, scope))
        self.assertEqual(len(self.sm._scope), 1)
        mappings = self.sm.getScope(key)
        self.assertEqual(len(mappings), 1)
        self.assertTrue(mapping_id in mappings)
        # Obviously not an access scope.
        self.assertRaises(KeyError, self.sm.getAccessScope, key)
        # Nor a client scope.
        self.assertRaises(KeyError, self.sm.getClientScope, key)

    def test_1003_request_scope_multiple(self):
        file_id = self.sm.addMapping(self.file_mapping)
        folder_id = self.sm.addMapping(self.folder_mapping)
        self.sm.setMappingNameToId('file', file_id)
        self.sm.setMappingNameToId('folder', folder_id)

        key1 = 'request_key1'
        key2 = 'request_key2'
        raw_scope = 'test_scope'
        self.assertFalse(self.sm.requestScope(key1, 'test_scope'))
        # all of them must be valid.
        self.assertFalse(self.sm.requestScope(key1, 
            'http://nohost/plone/scope/file,test_scope'))
        self.assertTrue(self.sm.requestScope(key1, 
            'http://nohost/plone/scope/file,http://nohost/plone/scope/folder'))

        mappings = self.sm.getScope(key1)
        self.assertEqual(len(mappings), 2)
        self.assertTrue(file_id in mappings)
        self.assertTrue(folder_id in mappings)

        self.assertTrue(self.sm.requestScope(key2, 
            'http://nohost/plone/scope/folder'))
        mappings = self.sm.getScope(key2)
        self.assertEqual(len(mappings), 1)
        self.assertTrue(file_id not in mappings)