def testFieldsRemainUnsecure(self): if not ofxclient.config.KEYRING_AVAILABLE: return c = OfxConfig(file_name=self.temp_file.name) i = Institution( id='1', org='org', url='url', username='******', password='******' ) a = CreditCardAccount(institution=i, number='12345') c.add_account(a) # pretend the user put their password in there in the clear on purpose c.parser.remove_option(a.local_id(), 'institution.password') c.parser.set(a.local_id(), 'institution.password', 'pass') c.save() c = OfxConfig(file_name=self.temp_file.name) self.assertTrue( c.parser.is_secure_option(a.local_id(), 'institution.username') ) self.assertFalse( c.parser.is_secure_option(a.local_id(), 'institution.password') )
def testResecuredAfterEncryptAccount(self): if not ofxclient.config.KEYRING_AVAILABLE: return c = OfxConfig(file_name=self.temp_file.name) i = Institution(id='1',org='org',url='url',username='******',password='******') a1 = CreditCardAccount(institution=i,number='12345') c.add_account(a1) a2 = CreditCardAccount(institution=i,number='67890') c.add_account(a2) # pretend the user put their password in there in the clear on purpose # to fix something... and then wants it to be resecured later on c.parser.remove_option(a1.local_id(),'institution.password') c.parser.set(a1.local_id(),'institution.password','pass') c.save() c = OfxConfig(file_name=self.temp_file.name) self.assertEqual( len(c.accounts()), 2 ) self.assertEqual( len(c.encrypted_accounts()), 1 ) self.assertEqual( len(c.unencrypted_accounts()), 1 ) self.assertTrue( c.parser.is_secure_option(a1.local_id(),'institution.username') ) self.assertFalse( c.parser.is_secure_option(a1.local_id(),'institution.password') ) c.encrypt_account(a1.local_id()) self.assertEqual( len(c.accounts()), 2 ) self.assertEqual( len(c.encrypted_accounts()), 2 ) self.assertEqual( len(c.unencrypted_accounts()), 0 ) self.assertTrue( c.parser.is_secure_option(a1.local_id(),'institution.username') ) self.assertTrue( c.parser.is_secure_option(a1.local_id(),'institution.password') )
def testLoadFromFile(self): c = OfxConfig(file_name=self.temp_file.name) i = Institution(id='1',org='org',url='url',username='******',password='******') a = CreditCardAccount(institution=i,number='12345') c.add_account(a) c.save() c = OfxConfig(file_name=self.temp_file.name) got = c.account(a.local_id()) self.assertEqual( len(c.accounts()), 1 ) self.assertEqual( got.local_id(), a.local_id() ) self.assertEqual( got.number, a.number ) self.assertEqual( got.institution.local_id(), a.institution.local_id() ) self.assertEqual( got.institution.id, a.institution.id ) self.assertEqual( got.institution.org, a.institution.org ) self.assertEqual( got.institution.url, a.institution.url ) self.assertEqual( got.institution.username, a.institution.username ) self.assertEqual( got.institution.password, a.institution.password )
def testResecuredAfterEncryptAccount(self): if not ofxclient.config.KEYRING_AVAILABLE: return c = OfxConfig(file_name=self.temp_file.name) i = Institution( id='1', org='org', url='url', username='******', password='******' ) a1 = CreditCardAccount(institution=i, number='12345') c.add_account(a1) a2 = CreditCardAccount(institution=i, number='67890') c.add_account(a2) # pretend the user put their password in there in the clear on purpose # to fix something... and then wants it to be resecured later on c.parser.remove_option(a1.local_id(), 'institution.password') c.parser.set(a1.local_id(), 'institution.password', 'pass') c.save() c = OfxConfig(file_name=self.temp_file.name) self.assertEqual(len(c.accounts()), 2) self.assertEqual(len(c.encrypted_accounts()), 1) self.assertEqual(len(c.unencrypted_accounts()), 1) self.assertTrue( c.parser.is_secure_option(a1.local_id(), 'institution.username') ) self.assertFalse( c.parser.is_secure_option(a1.local_id(), 'institution.password') ) c.encrypt_account(a1.local_id()) self.assertEqual(len(c.accounts()), 2) self.assertEqual(len(c.encrypted_accounts()), 2) self.assertEqual(len(c.unencrypted_accounts()), 0) self.assertTrue( c.parser.is_secure_option(a1.local_id(), 'institution.username') ) self.assertTrue( c.parser.is_secure_option(a1.local_id(), 'institution.password') )
def testLoadFromFile(self): c = OfxConfig(file_name=self.temp_file.name) i = Institution(id='1', org='org', url='url', username='******', password='******') a = CreditCardAccount(institution=i, number='12345') c.add_account(a) c.save() c = OfxConfig(file_name=self.temp_file.name) got = c.account(a.local_id()) self.assertEqual(len(c.accounts()), 1) self.assertEqual(got.local_id(), a.local_id()) self.assertEqual(got.number, a.number) self.assertEqual(got.institution.local_id(), a.institution.local_id()) self.assertEqual(got.institution.id, a.institution.id) self.assertEqual(got.institution.org, a.institution.org) self.assertEqual(got.institution.url, a.institution.url) self.assertEqual(got.institution.username, a.institution.username) self.assertEqual(got.institution.password, a.institution.password)