import logging
from q2_sdk.models.cores.queries.base_query import BaseQuery
from q2_sdk.hq import http
from q2_cores.UltraData.queries import mock_responses
[docs]
class DemographicInfoQuery(BaseQuery):
"""Returns addresses, First/Last Name, Phones, etc for an UltraData
CustNumber
"""
def __init__(self, logger: logging.Logger, cust_number: str):
self.cust_number = cust_number
super().__init__(logger)
[docs]
def build(self):
xml_str = """
<CustDetailsRq xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CustNumber xmlns="http://harlandfs.com/pl/TransactionExchange">
{customer_id}
</CustNumber>
</CustDetailsRq>
""".format(customer_id=self.cust_number)
return http.normalize_xml_str(xml_str)
[docs]
def mock_response(self):
return mock_responses.mock_demo_info_response(self.cust_number)