예제 #1
0
    def test_single_cell_with_caps(self):
        cell = {
            'id': 1,
            'name': 'darksecret',
            'username': '******',
            'capabilities': {
                'cap1': 'a;b',
                'cap2': 'c;d'
            }
        }
        fixture = {'cell': cell}

        serializer = cells_ext.CellTemplate()
        output = serializer.serialize(fixture)
        res_tree = etree.XML(output)

        self.assertEqual(res_tree.tag, '{%s}cell' % xmlutil.XMLNS_V10)
        self.assertEqual(res_tree.get('name'), 'darksecret')
        self.assertEqual(res_tree.get('username'), 'meow')
        self.assertIsNone(res_tree.get('password'))
        self.assertEqual(len(res_tree), 1)

        child = res_tree[0]
        self.assertEqual(child.tag, '{%s}capabilities' % xmlutil.XMLNS_V10)
        for elem in child:
            self.assertIn(elem.tag, ('{%s}cap1' % xmlutil.XMLNS_V10,
                                     '{%s}cap2' % xmlutil.XMLNS_V10))
            if elem.tag == '{%s}cap1' % xmlutil.XMLNS_V10:
                self.assertEqual(elem.text, 'a;b')
            elif elem.tag == '{%s}cap2' % xmlutil.XMLNS_V10:
                self.assertEqual(elem.text, 'c;d')
예제 #2
0
    def test_single_cell_without_caps(self):
        cell = {'id': 1, 'username': '******', 'name': 'darksecret'}
        fixture = {'cell': cell}

        serializer = cells_ext.CellTemplate()
        output = serializer.serialize(fixture)
        res_tree = etree.XML(output)

        self.assertEqual(res_tree.tag, '{%s}cell' % xmlutil.XMLNS_V10)
        self.assertEqual(res_tree.get('name'), 'darksecret')
        self.assertEqual(res_tree.get('username'), 'woof')
        self.assertIsNone(res_tree.get('password'))
        self.assertEqual(len(res_tree), 0)