text: # -*- coding: utf-8 -*-
  # Copyright (c) 2017 Vantiv eCommerce
  #
  # Permission is hereby granted, free of charge, to any person
  # obtaining a copy of this software and associated documentation
  # files (the 'Software'), to deal in the Software without
  # restriction, including without limitation the rights to use,
  # copy, modify, merge, publish, distribute, sublicense, and/or sell
  # copies of the Software, and to permit persons to whom the
  # Software is furnished to do so, subject to the following
  # conditions:
  #
  # The above copyright notice and this permission notice shall be
  # included in all copies or substantial portions of the Software.
  #
  # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  # OTHER DEALINGS IN THE SOFTWARE.
  
  import os
  import sys
  import unittest
  
  package_root = os.path.dirname(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))
  sys.path.insert(0, package_root)
  
  from vantivsdk import *
  conf = utils.Configuration()
  
  # vendorCredit transaction is also getting tested in 'tests/functional/test_funding_instruction.py'
  class TestCustomerCredit(unittest.TestCase):
      
      def test_customer_credit(self):
          transaction = fields.customerCredit()
          transaction.id = 'ThisIsID'
          transaction.reportGroup = 'Default Report Group'
          transaction.fundingCustomerId = "customerId"
          transaction.customerName = "temp1200"
          transaction.fundsTransferId = "value for fundsTransferId"
          transaction.amount = 1512
  
          account_info = fields.echeckTypeCtx()
          account_info.accType = 'Savings'
          account_info.accNum = "1234"
          account_info.routingNum = "12345678"
  
          transaction.accountInfo = account_info
  
          transaction.customIdentifier = '123'
  
          response = online.request(transaction, conf)
          self.assertEquals('000', response['customerCreditResponse']['response'])
          self.assertEquals('sandbox', response['customerCreditResponse']['location'])
  
  
  if __name__ == '__main__':
      unittest.main()
  
  