def test_conversion_CONFD_URL_to_XML_6(self): self.maxDiff = None # expected_xml is too large url = "/api/operational/car?select=brand" expected_xml = _collapse_string(''' <data><vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"/></data> ''') schema = load_schema_root("vehicle-a") actual_xml = convert_get_request_to_xml(schema, url) self.assertEquals(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_get_list_key(self): self.maxDiff = None # expected_xml is too large url = "/api/operational/car/honda" expected_xml = _collapse_string(''' <data><vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"><brand>honda</brand></vehicle-a:car></data> ''') schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.assertEquals(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_1(self): self.maxDiff = None # expected_xml is too large # trailing '/' is on purpose to test that edge case url = "/api/operational/car/subaru/models/" expected_xml = _collapse_string(''' <data><vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"><brand>subaru</brand><vehicle-a:models><name-m></name-m></vehicle-a:models></vehicle-a:car></data> ''') schema = load_schema_root("vehicle-a") actual_xml = convert_get_request_to_xml(schema, url) self.assertEquals(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_get_list_key(self): self.maxDiff = None # expected_xml is too large url = "/api/operational/car/honda" expected_xml = _collapse_string(''' <data><vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"><brand>honda</brand></vehicle-a:car></data> ''') schema = load_multiple_schema_root(["vehicle-a","vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.assertEquals(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_5(self): self.maxDiff = None # expected_xml is too large url = "/api/operational/whatever/inner-whatever" expected_xml = _collapse_string( """ <data><vehicle-a:whatever xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"><vehicle-a:inner-whatever/></vehicle-a:whatever></data> """ ) schema = load_schema_root("vehicle-a") actual_xml = convert_get_request_to_xml(schema, url) self.assertEquals(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_00(self): self.maxDiff = None # expected_xml is too large url = "/api/config/top-container-deep" expected_xml = _collapse_string(''' <data> <vehicle-a:top-container-deep xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"/> </data> ''') schema = load_multiple_schema_root(["vehicle-a","vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.compare_doms(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_00(self): self.maxDiff = None # expected_xml is too large url = "/api/config/top-container-deep" expected_xml = _collapse_string(''' <data> <vehicle-a:top-container-deep xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"/> </data> ''') schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.compare_doms(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_get_bogus(self): self.maxDiff = None # expected_xml is too large url = "/api/operational/bogus" schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"]) converter = ConfdRestTranslator(schema) caught_exception = False try: actual_xml = convert_get_request_to_xml(schema, url) except ValueError: caught_exception = True self.assertTrue(caught_exception)
def test_conversion_CONFD_URL_to_XML_3(self): self.maxDiff = None # expected_xml is too large url = "/api/operational/car/subaru/extras?select=speakers;engine(*)" expected_xml = _collapse_string( """ <data><vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"><brand>subaru</brand><vehicle-augment-a:extras xmlns:vehicle-augment-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-augment-a"/></vehicle-a:car></data> """ ) schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.assertEquals(actual_xml, expected_xml)
def test_get_cross_namespace(self): self.maxDiff = None # expected_xml is too large url = "/api/config/car/honda%20motors/extras" expected_xml = _collapse_string(''' <data> <vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"> <brand>honda motors</brand> <vehicle-augment-a:extras xmlns:vehicle-augment-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-augment-a"/> </vehicle-a:car> </data> ''') schema = load_multiple_schema_root(["vehicle-a","vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.compare_doms(actual_xml, expected_xml)
def test_get_cross_namespace(self): self.maxDiff = None # expected_xml is too large url = "/api/config/car/honda%20motors/extras" expected_xml = _collapse_string(''' <data> <vehicle-a:car xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"> <brand>honda motors</brand> <vehicle-augment-a:extras xmlns:vehicle-augment-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-augment-a"/> </vehicle-a:car> </data> ''') schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.compare_doms(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_25(self): self.maxDiff = None # expected_xml is too large url = "/api/config/multi-key/firstkey,secondkey/treasure" expected_xml = _collapse_string(''' <data> <vehicle-a:multi-key xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"> <foo>firstkey</foo> <bar>secondkey</bar> <vehicle-a:treasure/> </vehicle-a:multi-key> </data> ''') schema = load_multiple_schema_root(["vehicle-a","vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.compare_doms(actual_xml, expected_xml)
def test_conversion_CONFD_URL_to_XML_25(self): self.maxDiff = None # expected_xml is too large url = "/api/config/multi-key/firstkey,secondkey/treasure" expected_xml = _collapse_string(''' <data> <vehicle-a:multi-key xmlns:vehicle-a="http://riftio.com/ns/core/mgmt/rwrestconf/test/vehicle-a"> <foo>firstkey</foo> <bar>secondkey</bar> <vehicle-a:treasure/> </vehicle-a:multi-key> </data> ''') schema = load_multiple_schema_root(["vehicle-a", "vehicle-augment-a"]) actual_xml = convert_get_request_to_xml(schema, url) self.compare_doms(actual_xml, expected_xml)