Source code for q2_cores.XP2.queries.initial_search_query

import logging
from typing import Optional
from lxml.builder import E

from .message_maker import MessageMaker
from .mock_responses import (
    mock_initial_search_response,
    mock_initial_search_ssn_response,
)


[docs] class InitialSearchQuery(MessageMaker): """Builds the xml payload for MembershipDetails demographic call for the XP2 core.""" def __init__( self, logger: logging.Logger, member_number: str, class_name: Optional[str] = None, namespace: Optional[str] = None, ): self.member_number = member_number self._method_name = "MembershipDetails" super().__init__(logger, class_name, namespace)
[docs] def build(self): xml = E.MembershipDetailRequest( E.MemberId(self.member_number, xmlns=self._namespace) ) request = [xml] return self.make_message(self._method_name, request)
[docs] def mock_response(self): return mock_initial_search_response()
[docs] class InitialSearchSSNQuery(MessageMaker): """Builds the xml payload for IndividualLookup demographic call for the XP2 core.""" def __init__( self, logger: logging.Logger, ssn: str, class_name: Optional[str] = None, namespace: Optional[str] = None, ): self.ssn = ssn self._method_name = "IndividualLookup" super().__init__(logger, class_name, namespace)
[docs] def build(self): xml = E.IndividualLookupRequest(E.TaxId(self.ssn, xmlns=self._namespace)) request = [xml] return self.make_message(self._method_name, request)
[docs] def mock_response(self): return mock_initial_search_ssn_response()