Bug135: monitor parameter response to accept XML data
[osm/SO.git] / rwlaunchpad / plugins / rwmonparam / test / utest_mon_params.py
index a0817d7..fd48952 100755 (executable)
@@ -28,6 +28,7 @@ import tornado.testing
 import tornado.web
 import unittest
 import xmlrunner
+import xmltodict, json
 
 import rift.tasklets.rwmonparam.vnfr_core as mon_params
 
@@ -918,6 +919,23 @@ class PortLatencyTest(unittest.TestCase):
           self.assertEqual(value, 12112)
 
 
+
+class XMLReponseTest(unittest.TestCase):
+    xml_response = "<response status='success'><result> <entry> <current>2</current> <vsys>1</vsys> <maximum>0</maximum> <throttled>0</throttled> </entry> </result></response>"
+    try:
+      op = xmltodict.parse(xml_response)
+      x=json.dumps(op)
+      y=json.loads(x)
+      system_response = y
+    except Exception as e:
+      print("Input is Not XML formatted")
+      pass
+    
+    def test_object_path_value_querier(self):
+          kv_querier = mon_params.ObjectPathValueQuerier(logger, "$.response.result.entry.current")
+          value = kv_querier.query(tornado.escape.json_encode(self.system_response))
+          self.assertEqual(value, '2')
+
 def main(argv=sys.argv[1:]):
 
     # The unittest framework requires a program name, so use the name of this