import logging
from typing import Optional
from lxml import etree
from q2_sdk.models.cores.queries.base_query import BaseQuery
from q2_cores.Metavante.queries import mock_responses
[docs]
class EmailQuery(BaseQuery):
"""Returns email info for a Metavante Entity, given a customer id"""
def __init__(self, logger: logging.Logger, customer_id: Optional[str] = None):
self.customer_id = customer_id
super().__init__(logger)
[docs]
def build(self):
root = etree.Element("Q2")
etree.SubElement(
root,
"cfg",
attrib={"appID": "CI", "svcID": "CICustEmailInq", "svcVer": "4.0"},
)
payload = etree.SubElement(root, "payload")
data_wrap = etree.SubElement(payload, "CICustEmailInqReqData")
etree.SubElement(data_wrap, "E10033").text = str(self.customer_id)
xml_as_bytes = etree.tostring(root)
return xml_as_bytes.decode("utf8")
[docs]
def mock_response(self):
return mock_responses.mock_email_response(self.customer_id)