コード例 #1
0
    def test_conversion_XML_to_JSON_get_list_with_name_of_child(self):
        self.maxDiff = None
        url = "/api/config/car/toyota/models/name-m"
        xml = _collapse_string('''
        <data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <brand>toyota</brand>
            <models>
              <name-m>name-m</name-m>    
              <capacity>5</capacity>     
            </models>
          </car>
        </data>
        ''')
        #

        expected_json = _collapse_string('''
{"vehicle-a:models" :{"name-m" : "name-m","capacity" : 5}}
        ''')

        schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(False, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)
コード例 #2
0
    def test_conversion_XML_to_JSON_version(self):
        self.maxDiff = None
        url = "/api/config/car/toyota/models"
        xml = _collapse_string('''
<data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <models>
              <name-m>Camry</name-m>	  
              <year>2015</year>	  
              <capacity>5</capacity>	  
              <version_str>2.0</version_str>
            </models>
          </car>
        </data>
        ''')
        #

        expected_json = _collapse_string('''
{"vehicle-a:models":[{"year" : 2015,"name-m" : "Camry","capacity" : 5, "version_str":"2.0"}]}
        ''')

        schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(False, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)
コード例 #3
0
    def test_conversion_XML_to_JSON_null_string(self):
        self.maxDiff = None
        url = "/api/operational/car/toyota/models"
        xml = _collapse_string('''
        <data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <models>
              <name-m/>
            </models>
          </car>
        </data>
        ''')

        expected_json = _collapse_string('''
        {"vehicle-a:models":[{"name-m" : ""}]}
        ''')

        schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(False, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)
コード例 #4
0
    def test_conversion_XML_to_JSON_null_string(self):
        self.maxDiff = None
        url = "/api/operational/car/toyota/models"
        xml = _collapse_string(
            """
        <data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <models>
              <name-m/>
            </models>
          </car>
        </data>
        """
        )

        expected_json = _collapse_string(
            """
        {"vehicle-a:models":[{"name-m" : ""}]}
        """
        )

        schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(False, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)
コード例 #5
0
ファイル: test_rest.py プロジェクト: gonotes/RIFT.ware
    def test_conversion_XML_to_JSON_version(self):
        self.maxDiff = None
        url = "/api/config/car/toyota/models"
        xml = _collapse_string('''
<data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <models>
              <name-m>Camry</name-m>	  
              <year>2015</year>	  
              <capacity>5</capacity>	  
              <version_str>2.0</version_str>
            </models>
          </car>
        </data>
        ''')
        #

        expected_json = _collapse_string('''
{"vehicle-a:models":[{"year" : 2015,"name-m" : "Camry","capacity" : 5, "version_str":"2.0"}]}
        ''')

        schema = load_multiple_schema_root(["vehicle-a","vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)
        
        actual_json = converter.convert(False, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)
コード例 #6
0
ファイル: test_rest.py プロジェクト: gonotes/RIFT.ware
    def test_conversion_XML_to_JSON_get_list_with_name_of_child(self):
        self.maxDiff = None
        url = "/api/config/car/toyota/models/name-m"
        xml = _collapse_string('''
        <data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <brand>toyota</brand>
            <models>
              <name-m>name-m</name-m>    
              <capacity>5</capacity>     
            </models>
          </car>
        </data>
        ''')
        #

        expected_json = _collapse_string('''
{"vehicle-a:models" :{"name-m" : "name-m","capacity" : 5}}
        ''')

        schema = load_multiple_schema_root(["vehicle-a","vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)
        
        actual_json = converter.convert(False, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)
コード例 #7
0
    def test_conversion_XML_to_JSON_vcs(self):
        self.maxDiff = None
        url = "/api/operational/vcs/info"
        xml = _collapse_string(
            """
<data>
<rw-base:vcs xmlns:rw-base="http://riftio.com/ns/riftware-1.0/rw-base">
    <rw-base:info>
        <rw-base:components>
            <rw-base:component_info>
                <rw-base:instance_name>RW_VM_MASTER-2</rw-base:instance_name>
                <rw-base:component_type>RWVM</rw-base:component_type>
                <rw-base:component_name>RW_VM_MASTER</rw-base:component_name>
                <rw-base:instance_id>2</rw-base:instance_id>
                <rw-base:state>RUNNING</rw-base:state>
                <rw-base:config-ready>true</rw-base:config-ready>
                <rw-base:recovery-action>FAILCRITICAL</rw-base:recovery-action>
                <rw-base:rwcomponent_parent>rw.colony-102</rw-base:rwcomponent_parent>
                <rw-base:rwcomponent_children>msgbroker-100</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>dtsrouter-101</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.Proc_1.uAgent-103</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.TermIO-105</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.CLI-104</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.Proc_2.Restconf-106</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.Proc_3.RestPortForward-108</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.MC.UI-109</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>logd-110</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>confd-114</rw-base:rwcomponent_children>
                <rw-base:vm_info>
                    <rw-base:vm-ip-address>127.0.2.1</rw-base:vm-ip-address>
                    <rw-base:pid>31610</rw-base:pid>
                    <rw-base:leader>true</rw-base:leader>
                </rw-base:vm_info>
            </rw-base:component_info>
        </rw-base:components>
    </rw-base:info>
</rw-base:vcs>
</data>
        """
        )

        schema = load_multiple_schema_root(["rw-base"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(False, url, xpath, xml)
コード例 #8
0
    def test_conversion_XML_to_JSON_vcs(self):
        self.maxDiff = None
        url = "/api/operational/vcs/info"
        xml = _collapse_string('''
<data>
<rw-base:vcs xmlns:rw-base="http://riftio.com/ns/riftware-1.0/rw-base">
    <rw-base:info>
        <rw-base:components>
            <rw-base:component_info>
                <rw-base:instance_name>RW_VM_MASTER-2</rw-base:instance_name>
                <rw-base:component_type>RWVM</rw-base:component_type>
                <rw-base:component_name>RW_VM_MASTER</rw-base:component_name>
                <rw-base:instance_id>2</rw-base:instance_id>
                <rw-base:state>RUNNING</rw-base:state>
                <rw-base:config-ready>true</rw-base:config-ready>
                <rw-base:recovery-action>FAILCRITICAL</rw-base:recovery-action>
                <rw-base:rwcomponent_parent>rw.colony-102</rw-base:rwcomponent_parent>
                <rw-base:rwcomponent_children>msgbroker-100</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>dtsrouter-101</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.Proc_1.uAgent-103</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.TermIO-105</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.CLI-104</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.Proc_2.Restconf-106</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.Proc_3.RestPortForward-108</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>RW.MC.UI-109</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>logd-110</rw-base:rwcomponent_children>
                <rw-base:rwcomponent_children>confd-114</rw-base:rwcomponent_children>
                <rw-base:vm_info>
                    <rw-base:vm-ip-address>127.0.2.1</rw-base:vm-ip-address>
                    <rw-base:pid>31610</rw-base:pid>
                    <rw-base:leader>true</rw-base:leader>
                </rw-base:vm_info>
            </rw-base:component_info>
        </rw-base:components>
    </rw-base:info>
</rw-base:vcs>
</data>
        ''')

        schema = load_multiple_schema_root(["rw-base"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(False, url, xpath, xml)
コード例 #9
0
    def test_conversion_XML_to_JSON_2(self):
        self.maxDiff = None
        url = "/api/operational/car/toyota/models"
        xml = _collapse_string(
            """
        <data>
          <car xmlns="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a">
            <models>
              <name-m>Camry</name-m>	  
              <year>2015</year>	  
              <capacity>5</capacity>	  
            </models>
            <models>
              <name-m>Tacoma</name-m>	  
              <year>2017</year>	  
              <capacity>7</capacity>	  
            </models>
          </car>
        </data>
        """
        )

        expected_json = _collapse_string(
            """
{"collection":{"vehicle-a:models":[{"name-m" : "Camry","capacity" : 5,"year" : 2015},{"name-m" : "Tacoma","capacity" : 7,"year" : 2017}]}}
        """
        )

        schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"])

        converter = XmlToJsonTranslator(schema, logger)

        xpath = create_xpath_from_url(url, schema)

        actual_json = converter.convert(True, url, xpath, xml)

        actual = _ordered(json.loads(actual_json))
        expected = _ordered(json.loads(expected_json))

        self.assertEquals(actual, expected)