From 82f1a7eb5535b30a95b1e71ff18c315d40d1e6f0 Mon Sep 17 00:00:00 2001 From: Stuart Mackie Date: Fri, 29 Jan 2016 16:00:57 -0800 Subject: OpenContrail test suite Change-Id: I61168093a2a05d47377ef47c8638ae1554b1a999 Signed-off-by: Stuart Mackie --- Testcases/cfgm_common/ifmap/response.py | 55 +++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Testcases/cfgm_common/ifmap/response.py (limited to 'Testcases/cfgm_common/ifmap/response.py') diff --git a/Testcases/cfgm_common/ifmap/response.py b/Testcases/cfgm_common/ifmap/response.py new file mode 100644 index 0000000..179fd01 --- /dev/null +++ b/Testcases/cfgm_common/ifmap/response.py @@ -0,0 +1,55 @@ +# Copyright 2011, Infoblox, All Rights Reserved +# +# Open Source, see LICENSE +# + +from xml.etree import ElementTree + +class Response(): + """ + Base class to handle and parse IF-MAP responses + """ + __xml = "" + + def __init__(self, result): + """ + Take a result string and process it + """ + if result: + env = ElementTree.fromstring(result) + body = env.find('{http://www.w3.org/2003/05/soap-envelope}Body') + response = body.find('{http://www.trustedcomputinggroup.org/2010/IFMAP/2}response') + # xml.etree.ElementTree find is broken in python 2.6 + children = response.findall('*') + if len(children): + self.__xml = children[0] + + def element(self): + """ + Returns the raw Element object + """ + return self.__xml + + def __str__(self): + """ + Print the XML tree as a string + """ + return ElementTree.tostring(self.__xml) + +class newSessionResult(Response): + """ + newSessionResult + """ + def __init__(self, result): + #import pdb; pdb.set_trace() + self.__newSession = Response(result).element() + + def get_session_id(self): + return self.__newSession.attrib['session-id'] + + def get_publisher_id(self): + return self.__newSession.attrib['ifmap-publisher-id'] + + + + -- cgit 1.2.3-korg