Exemple #1
0
    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') )
Exemple #2
0
    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')
        )