def setUp(self): self.port = 9486 self.server = MockOfxServer(port=self.port) self.mockurl = "http://localhost:" + str(self.port) + "/" self.institution = Institution(ofx_org="Test Bank", ofx_fid="99999", ofx_url=self.mockurl) self.checking_account = Account(acct_number="1122334455", aba_number="12345678", acct_type="Checking", institution=self.institution) self.savings_account = Account(acct_number="1122334455", aba_number="12345678", acct_type="Savings", institution=self.institution) self.creditcard_account = Account(acct_number="1122334455", aba_number="12345678", acct_type="Credit Card", institution=self.institution) self.username = "******" self.password = "******" self.client = Client() self.checking_stmt = get_checking_stmt().decode('utf-8') self.savings_stmt = get_savings_stmt().decode('utf-8') self.creditcard_stmt = get_creditcard_stmt().decode('utf-8')
def setUp(self): self.institution = Institution(name="Test Bank", ofx_org="Test Bank", ofx_url="https://ofx.example.com", ofx_fid="9999999") self.good_acct = Account(acct_type="CHECKING", acct_number="1122334455", aba_number="123456789", institution=self.institution) self.bad_acct = Account(acct_type="Fnargle", acct_number="", aba_number="", institution=None)
class AccountTests(unittest.TestCase): def setUp(self): self.institution = Institution(name="Test Bank", ofx_org="Test Bank", ofx_url="https://ofx.example.com", ofx_fid="9999999") self.good_acct = Account(acct_type="CHECKING", acct_number="1122334455", aba_number="123456789", institution=self.institution) self.bad_acct = Account(acct_type="Fnargle", acct_number="", aba_number="", institution=None) def test_account_complete(self): self.assertEqual(self.good_acct.is_complete(), True) self.assertEqual(self.bad_acct.is_complete(), False) def test_as_dict(self): testdict = self.good_acct.as_dict() self.assertEqual(testdict["acct_type"], "CHECKING") self.assertEqual(testdict["acct_number"], "1122334455") self.assertEqual(testdict["aba_number"], "123456789") self.assertEqual(testdict["desc"], None) self.assertEqual(testdict["balance"], None) fi_dict = testdict["institution"] self.assertEqual(fi_dict["name"], "Test Bank") self.assertEqual(fi_dict["ofx_org"], "Test Bank") self.assertEqual(fi_dict["ofx_url"], "https://ofx.example.com") self.assertEqual(fi_dict["ofx_fid"], "9999999") def test_load_from_dict(self): testdict = self.good_acct.as_dict() new_acct = Account.load_from_dict(testdict) self.assertEqual(new_acct.acct_type, "CHECKING") self.assertEqual(new_acct.acct_number, "1122334455") self.assertEqual(new_acct.aba_number, "123456789") self.assertEqual(new_acct.desc, None) self.assertEqual(new_acct.balance, None) new_fi = Institution.load_from_dict(testdict['institution']) self.assertEqual(new_fi.name, "Test Bank") self.assertEqual(new_fi.ofx_org, "Test Bank") self.assertEqual(new_fi.ofx_url, "https://ofx.example.com") self.assertEqual(new_fi.ofx_fid, "9999999")
def setUp(self): self.request = Request() self.institution = Institution(ofx_org="fi_name", ofx_fid="1000") self.account = Account(acct_number="00112233", aba_number="12345678", acct_type="Checking", institution=self.institution) self.username = "******" self.password = "******" self.parser = Parser()
def _extract_account(self, acct_block): acct_dict = acct_block.asDict() if "DESC" in acct_dict: desc = acct_dict["DESC"] else: desc = None if "BANKACCTINFO" in acct_dict: acctinfo = acct_dict["BANKACCTINFO"] return Account(ofx_block=acctinfo["BANKACCTFROM"], desc=desc) elif "CCACCTINFO" in acct_dict: acctinfo = acct_dict["CCACCTINFO"] account = Account(ofx_block=acctinfo["CCACCTFROM"], desc=desc) account.acct_type = "CREDITCARD" return account else: return None
def __init__(self, statement): self.parse_result = statement self.parse_dict = self.parse_result.asDict() if "STMTRS" in self.parse_dict: stmt = self.parse_dict["STMTRS"] self.account = Account(ofx_block=stmt["BANKACCTFROM"]) elif "CCSTMTRS" in self.parse_dict: stmt = self.parse_dict["CCSTMTRS"] self.account = Account(ofx_block=stmt["CCACCTFROM"]) self.account.acct_type = "CREDITCARD" else: error = ValueError("Unknown statement type: %s." % statement) raise error self.currency = self._get(stmt, "CURDEF") self.begin_date = self._get(stmt["BANKTRANLIST"], "DTSTART") self.end_date = self._get(stmt["BANKTRANLIST"], "DTEND") self.balance = self._get(stmt["LEDGERBAL"], "BALAMT") self.bal_date = self._get(stmt["LEDGERBAL"], "DTASOF")
def test_load_from_dict(self): testdict = self.good_acct.as_dict() new_acct = Account.load_from_dict(testdict) self.assertEqual(new_acct.acct_type, "CHECKING") self.assertEqual(new_acct.acct_number, "1122334455") self.assertEqual(new_acct.aba_number, "123456789") self.assertEqual(new_acct.desc, None) self.assertEqual(new_acct.balance, None) new_fi = Institution.load_from_dict(testdict['institution']) self.assertEqual(new_fi.name, "Test Bank") self.assertEqual(new_fi.ofx_org, "Test Bank") self.assertEqual(new_fi.ofx_url, "https://ofx.example.com") self.assertEqual(new_fi.ofx_fid, "9999999")