def testfraudcheck(self):
        fraudCheck=litleXmlFields.fraudCheck()
        
        
        contact = litleXmlFields.contact()
        contact.name = "Bob"
        contact.city = "lowell"
        contact.state = "MA"
        contact.email = "litle.com"
        
        fraudCheck.billToAddress=contact
        fraudCheck.shipToAddress=contact
        fraudCheck.amount=100
        
        advancedFraudChecks=litleXmlFields.advancedFraudChecksType()
        advancedFraudChecks.customAttribute1='stringlength200'
        advancedFraudChecks.customAttribute2='stringlength200'
        advancedFraudChecks.customAttribute3='stringlength200'
        advancedFraudChecks.customAttribute4='stringlength200'
        advancedFraudChecks.customAttribute5='stringlength200'
        
        fraudCheck.advancedFraudChecks=advancedFraudChecks
        
        comm = Communications(config)
        comm.http_post = MagicMock()
        
        litle = litleOnlineRequest(config)
        litle.setCommunications(comm)
        litle._processResponse = MagicMock(return_value=None)
        litle.sendRequest(fraudCheck)

        comm.http_post.assert_called_once()
        match_re = RegexMatcher(".*?<litleOnlineRequest.*?<fraudCheck.*?</fraudCheck></litleOnlineRequest>.*?")
        comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
    def testfraudcheck(self):
        fraudCheck=litleXmlFields.fraudCheck()
        
        
        contact = litleXmlFields.contact()
        contact.name = "Bob"
        contact.city = "lowell"
        contact.state = "MA"
        contact.email = "litle.com"
        
        fraudCheck.billToAddress=contact
        fraudCheck.shipToAddress=contact
        fraudCheck.amount=100
	fraudCheck.id="id"
        
        advancedFraudChecks=litleXmlFields.advancedFraudChecksType()
        advancedFraudChecks.customAttribute1='stringlength200'
        advancedFraudChecks.customAttribute2='stringlength200'
        advancedFraudChecks.customAttribute3='stringlength200'
        advancedFraudChecks.customAttribute4='stringlength200'
        advancedFraudChecks.customAttribute5='stringlength200'
        
        fraudCheck.advancedFraudChecks=advancedFraudChecks
        
        comm = Communications(config)
        comm.http_post = MagicMock()
        
        litle = litleOnlineRequest(config)
        litle.setCommunications(comm)
        litle._processResponse = MagicMock(return_value=None)
        litle.sendRequest(fraudCheck)

        comm.http_post.assert_called_once()
        match_re = RegexMatcher(".*?<litleOnlineRequest.*?<fraudCheck.*?</fraudCheck></litleOnlineRequest>.*?")
        comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
    def testAuthWithcustomAttributeOneToFive(self):
        authorization = litleXmlFields.authorization()
        authorization.orderId = '1234'
        authorization.amount = 106
        authorization.orderSource = 'ecommerce'
        
        advancedFraudChecksType=litleXmlFields.advancedFraudChecksType()
        advancedFraudChecksType.customAttribute1='stringlength200'
        advancedFraudChecksType.customAttribute2='stringlength200'
        advancedFraudChecksType.customAttribute3='stringlength200'
        advancedFraudChecksType.customAttribute4='stringlength200'
        advancedFraudChecksType.customAttribute5='stringlength200'
        
        card = litleXmlFields.cardType()
        card.number = "4100000000000000"
        card.expDate = "1210"
        card.type = 'VI'
        authorization.card = card
        
        authorization.advancedFraudChecks=advancedFraudChecksType

        comm = Communications(config)
        comm.http_post = MagicMock()

        litle = litleOnlineRequest(config)
        litle.setCommunications(comm)
        litle._processResponse = MagicMock(return_value=None)
        litle.sendRequest(authorization)
        
        comm.http_post.assert_called_once()
        match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?<card>.*?<number>4100000000000000</number>.*?</card>.*?<advancedFraudChecks.*?<customAttribute4>stringlength200</customAttribute4>.*?</advancedFraudChecks></authorization>.*?")
        comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)
    def testAuthWithcustomAttributeOneToFive(self):
        authorization = litleXmlFields.authorization()
        authorization.orderId = '1234'
        authorization.amount = 106
        authorization.orderSource = 'ecommerce'
	authorization.id="id"
        
        advancedFraudChecksType=litleXmlFields.advancedFraudChecksType()
        advancedFraudChecksType.customAttribute1='stringlength200'
        advancedFraudChecksType.customAttribute2='stringlength200'
        advancedFraudChecksType.customAttribute3='stringlength200'
        advancedFraudChecksType.customAttribute4='stringlength200'
        advancedFraudChecksType.customAttribute5='stringlength200'
        
        card = litleXmlFields.cardType()
        card.number = "4100000000000000"
        card.expDate = "1210"
        card.type = 'VI'
        authorization.card = card
        
        authorization.advancedFraudChecks=advancedFraudChecksType

        comm = Communications(config)
        comm.http_post = MagicMock()

        litle = litleOnlineRequest(config)
        litle.setCommunications(comm)
        litle._processResponse = MagicMock(return_value=None)
        litle.sendRequest(authorization)
        
        comm.http_post.assert_called_once()
        match_re = RegexMatcher(".*?<litleOnlineRequest.*?<authorization.*?<card>.*?<number>4100000000000000</number>.*?</card>.*?<advancedFraudChecks.*?<customAttribute4>stringlength200</customAttribute4>.*?</advancedFraudChecks></authorization>.*?")
        comm.http_post.assert_called_with(match_re, url=ANY, proxy=ANY, timeout=ANY)