예제 #1
0
    def test_create(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                'key9': 'value9',
                'key2': 'value2',
                'key1': 'value1',
            },
        }
        output = serializer.serialize(fixture, 'create')
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString("""
            <metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
                <meta key="key2">
                    value2
                </meta>
                <meta key="key9">
                    value9
                </meta>
                <meta key="key1">
                    value1
                </meta>
            </metadata>
        """.replace("  ", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #2
0
파일: test_common.py 프로젝트: Razique/nova
    def test_create(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                'key9': 'value9',
                'key2': 'value2',
                'key1': 'value1',
            },
        }
        output = serializer.serialize(fixture, 'create')
        print output
        root = etree.XML(output)
        xmlutil.validate_schema(root, 'metadata')
        metadata_dict = fixture['metadata']
        metadata_elems = root.findall('{0}meta'.format(NS))
        self.assertEqual(len(metadata_elems), 3)
        for i, metadata_elem in enumerate(metadata_elems):
            (meta_key, meta_value) = metadata_dict.items()[i]
            self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
            self.assertEqual(str(metadata_elem.text).strip(), str(meta_value))
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString("""
            <metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
                <meta key="key2">value2</meta>
                <meta key="key9">value9</meta>
                <meta key="key1">value1</meta>
            </metadata>
        """.replace("  ", "").replace("\n", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #3
0
파일: test_common.py 프로젝트: Razique/nova
    def test_xml_declaration(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                'one': 'two',
                'three': 'four',
            },
        }

        output = serializer.serialize(fixture, 'index')
        print output
        has_dec = output.startswith("<?xml version='1.0' encoding='UTF-8'?>")
        self.assertTrue(has_dec)
예제 #4
0
def create_resource():
    headers_serializer = common.MetadataHeadersSerializer()

    body_deserializers = {
        'application/xml': common.MetadataXMLDeserializer(),
    }

    body_serializers = {
        'application/xml': common.MetadataXMLSerializer(),
    }
    serializer = wsgi.ResponseSerializer(body_serializers, headers_serializer)
    deserializer = wsgi.RequestDeserializer(body_deserializers)

    return wsgi.Resource(Controller(), deserializer, serializer)
예제 #5
0
파일: test_common.py 프로젝트: Razique/nova
 def test_update_item(self):
     serializer = common.MetadataXMLSerializer()
     fixture = {
         'meta': {
             'one': 'two',
         },
     }
     output = serializer.serialize(fixture, 'update')
     print output
     root = etree.XML(output)
     meta_dict = fixture['meta']
     (meta_key, meta_value) = meta_dict.items()[0]
     self.assertEqual(str(root.get('key')), str(meta_key))
     self.assertEqual(root.text.strip(), meta_value)
예제 #6
0
파일: test_common.py 프로젝트: termie/nova
    def test_update_item(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'meta': {
                'one': 'two',
            },
        }
        output = serializer.serialize(fixture, 'update')
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString("""
            <meta xmlns="http://docs.openstack.org/compute/api/v1.1"
                 key="one">two</meta>
        """.replace("  ", "").replace("\n", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #7
0
파일: test_common.py 프로젝트: termie/nova
    def test_index_unicode(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                u'three': u'Jos\xe9',
            },
        }
        output = serializer.serialize(fixture, 'index')
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString(u"""
            <metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
                <meta key="three">Jos\xe9</meta>
            </metadata>
        """.encode("UTF-8").replace("  ", "").replace("\n", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #8
0
파일: test_common.py 프로젝트: termie/nova
    def test_index_null(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                None: None,
            },
        }
        output = serializer.serialize(fixture, 'index')
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString("""
            <metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
                <meta key="None">None</meta>
            </metadata>
        """.replace("  ", "").replace("\n", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #9
0
파일: test_common.py 프로젝트: Razique/nova
 def test_index_unicode(self):
     serializer = common.MetadataXMLSerializer()
     fixture = {
         'metadata': {
             u'three': u'Jos\xe9',
         },
     }
     output = serializer.serialize(fixture, 'index')
     print output
     root = etree.XML(output)
     xmlutil.validate_schema(root, 'metadata')
     metadata_dict = fixture['metadata']
     metadata_elems = root.findall('{0}meta'.format(NS))
     self.assertEqual(len(metadata_elems), 1)
     for i, metadata_elem in enumerate(metadata_elems):
         (meta_key, meta_value) = metadata_dict.items()[i]
         self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
         self.assertEqual(metadata_elem.text.strip(), meta_value)
예제 #10
0
파일: test_common.py 프로젝트: termie/nova
    def test_update_all(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                'key6': 'value6',
                'key4': 'value4',
            },
        }
        output = serializer.serialize(fixture, 'update_all')
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString("""
            <metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
                <meta key="key6">value6</meta>
                <meta key="key4">value4</meta>
            </metadata>
        """.replace("  ", "").replace("\n", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #11
0
파일: test_common.py 프로젝트: Razique/nova
 def test_update_all(self):
     serializer = common.MetadataXMLSerializer()
     fixture = {
         'metadata': {
             'key6': 'value6',
             'key4': 'value4',
         },
     }
     output = serializer.serialize(fixture, 'update_all')
     print output
     root = etree.XML(output)
     xmlutil.validate_schema(root, 'metadata')
     metadata_dict = fixture['metadata']
     metadata_elems = root.findall('{0}meta'.format(NS))
     self.assertEqual(len(metadata_elems), 2)
     for i, metadata_elem in enumerate(metadata_elems):
         (meta_key, meta_value) = metadata_dict.items()[i]
         self.assertEqual(str(metadata_elem.get('key')), str(meta_key))
         self.assertEqual(str(metadata_elem.text).strip(), str(meta_value))
예제 #12
0
    def test_index(self):
        serializer = common.MetadataXMLSerializer()
        fixture = {
            'metadata': {
                'one': 'two',
                'three': 'four',
            },
        }
        output = serializer.serialize(fixture, 'index')
        actual = minidom.parseString(output.replace("  ", ""))

        expected = minidom.parseString("""
            <metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
                <meta key="three">
                    four
                </meta>
                <meta key="one">
                    two
                </meta>
            </metadata>
        """.replace("  ", ""))

        self.assertEqual(expected.toxml(), actual.toxml())
예제 #13
0
 def __init__(self):
     self.metadata_serializer = common.MetadataXMLSerializer()
     self.addresses_serializer = ips.IPXMLSerializer()
예제 #14
0
 def __init__(self):
     self.metadata_serializer = common.MetadataXMLSerializer()
예제 #15
0
파일: test_common.py 프로젝트: termie/nova
 def test_delete(self):
     serializer = common.MetadataXMLSerializer()
     output = serializer.serialize(None, 'delete')
     self.assertEqual(output, '')