def test_process_withdraw_transactions(self): self.wallet.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('0.1')) self.wallet.withdraw_to_address('mkYAsS9QLYo5mXVjuvxKkZUhQJxiMLX5Xk', Decimal('0.1')) self.wallet.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('0.1')) self.wallet.withdraw_to_address('mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA', Decimal('0.1')) with patch('cc.tasks.AuthServiceProxy', self.mock): tasks.process_withdraw_transactions(ticker=self.currency.ticker) self.mock.gettransaction.assert_called_once_with(self.txid) self.mock.sendmany.assert_called_once_with( '', { u'mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB': Decimal('0.2'), u'mkYAsS9QLYo5mXVjuvxKkZUhQJxiMLX5Xk': Decimal('0.1'), u'mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA': Decimal('0.1') }) wallet = Wallet.objects.get(id=self.wallet.id) self.assertEqual(wallet.holded, Decimal('0')) self.assertEqual(wallet.balance, Decimal('0.5999')) fee_operation = Operation.objects.get(wallet=wallet, description='Network fee') self.assertEqual(fee_operation.balance, Decimal('-0.0001')) self.assertEqual(fee_operation.holded, Decimal('-0.4'))
def form_valid(self, form): wallet = self.request.user.user_ext.wallet try: wallet.withdraw(form.cleaned_data['amount'], form.cleaned_data['address']) except ValueError as e: form.add_error(e) return self.form_valid(form) process_withdraw_transactions(ticker=wallet.currency.ticker) return super(WalletView, self).form_valid(form)
def test_withdraw_error(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('21000000')) wallet_before.withdraw_to_address('yT58gFY67LNSb1wG9TYsvMx4W4wt93cej9', Decimal('21000000')) try: tasks.process_withdraw_transactions('tdsh') except JSONRPCException: pass wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0')) self.assertEqual(wallet_after1.holded, Decimal('21000000')) wtx = WithdrawTransaction.objects.last() wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wtx.state, wtx.ERROR)
def test_withdraw_error(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('21000000')) wallet_before.withdraw_to_address('tmGa4dwQrtw6ctnijug586PwXt9h8JExguc', Decimal('21000000')) try: tasks.process_withdraw_transactions('tzec') except JSONRPCException: pass wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0')) self.assertEqual(wallet_after1.holded, Decimal('21000000')) wtx = WithdrawTransaction.objects.last() wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wtx.state, wtx.ERROR)
def test_withdraw_error(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('21000000')) wallet_before.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('21000000')) try: tasks.process_withdraw_transactions('tbtc') except JSONRPCException: pass wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0')) self.assertEqual(wallet_after1.holded, Decimal('21000000')) wtx = WithdrawTransaction.objects.last() wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wtx.state, wtx.ERROR)
def test_withdraw_error(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('21000000')) wallet_before.withdraw_to_address('QfMAfiiLioTdkWmSG9v6VjDot9LH1d1nJo', Decimal('21000000')) try: tasks.process_withdraw_transactions('tbtc') except JSONRPCException: pass wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0')) self.assertEqual(wallet_after1.holded, Decimal('21000000')) wtx = WithdrawTransaction.objects.last() wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wtx.state, wtx.ERROR)
def test_withdraw(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('1.0')) wallet_before.withdraw_to_address('tmGa4dwQrtw6ctnijug586PwXt9h8JExguc', Decimal('0.1')) wallet_before.withdraw_to_address('tmEHsxHvPS5inmcDYPDocFPmynGCz5PLYf3', Decimal('0.1')) wallet_before.withdraw_to_address('tmGa4dwQrtw6ctnijug586PwXt9h8JExguc', Decimal('0.1')) wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0.7')) self.assertEqual(wallet_after1.holded, Decimal('0.3')) tasks.process_withdraw_transactions('tzec') self.coin.generate(2) wtx = WithdrawTransaction.objects.last() tx = self.coin.gettransaction(wtx.txid) wallet_after2 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after2.balance, Decimal('0.7') + tx['fee']) self.assertEqual(wallet_after2.holded, Decimal('0'))
def test_withdraw(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('1.0')) wallet_before.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('0.1')) wallet_before.withdraw_to_address('mkYAsS9QLYo5mXVjuvxKkZUhQJxiMLX5Xk', Decimal('0.1')) wallet_before.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('0.1')) wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0.7')) self.assertEqual(wallet_after1.holded, Decimal('0.3')) tasks.process_withdraw_transactions('tbtc') self.coin.generate(2) wtx = WithdrawTransaction.objects.last() tx = self.coin.gettransaction(wtx.txid) wallet_after2 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after2.balance, Decimal('0.7') + tx['fee']) self.assertEqual(wallet_after2.holded, Decimal('0'))
def test_withdraw(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('1.0')) wallet_before.withdraw_to_address('QfMAfiiLioTdkWmSG9v6VjDot9LH1d1nJo', Decimal('0.1')) wallet_before.withdraw_to_address('QfiFeWcRV5txjDXS5wzzj1t8dD2hRXR78t', Decimal('0.1')) wallet_before.withdraw_to_address('QfMAfiiLioTdkWmSG9v6VjDot9LH1d1nJo', Decimal('0.1')) wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0.7')) self.assertEqual(wallet_after1.holded, Decimal('0.3')) tasks.process_withdraw_transactions('tbtc') self.coin.generate(2) wtx = WithdrawTransaction.objects.last() tx = self.coin.gettransaction(wtx.txid) wallet_after2 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after2.balance, Decimal('0.7') + tx['fee']) self.assertEqual(wallet_after2.holded, Decimal('0'))
def test_withdraw(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('1.0')) wallet_before.withdraw_to_address('yT58gFY67LNSb1wG9TYsvMx4W4wt93cej9', Decimal('0.1')) wallet_before.withdraw_to_address('ye4AYzjG8DuWzk1YTKG3cCUTumwC4Z2JQD', Decimal('0.1')) wallet_before.withdraw_to_address('yT58gFY67LNSb1wG9TYsvMx4W4wt93cej9', Decimal('0.1')) wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0.7')) self.assertEqual(wallet_after1.holded, Decimal('0.3')) tasks.process_withdraw_transactions('tdsh') self.coin.generate(2) wtx = WithdrawTransaction.objects.last() tx = self.coin.gettransaction(wtx.txid) wallet_after2 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after2.balance, Decimal('0.7') + tx['fee']) self.assertEqual(wallet_after2.holded, Decimal('0'))
def test_process_withdraw_transactions(self): self.wallet.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('1')) self.wallet.withdraw_to_address('mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA', Decimal('0.00000001')) with patch('cc.tasks.AuthServiceProxy', self.mock): tasks.process_withdraw_transactions(ticker=self.currency.ticker) self.mock.sendmany.assert_called_once_with('', { u'mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB': Decimal('1') }) wallet = Wallet.objects.get(id=self.wallet.id) self.assertEqual(wallet.balance, Decimal('0.99989999')) wt1 = WithdrawTransaction.objects.get(address='mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB') wt2 = WithdrawTransaction.objects.get(address='mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA') self.assertEqual(wt1.txid, self.txid) self.assertIsNone(wt2.txid)
def test_withdraw_error(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('21000000')) wallet_before.withdraw_to_address( 'tmGa4dwQrtw6ctnijug586PwXt9h8JExguc', Decimal('21000000')) try: tasks.process_withdraw_transactions('tzec') except JSONRPCException: pass wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0')) self.assertEqual(wallet_after1.holded, Decimal('21000000')) wtx = WithdrawTransaction.objects.last() wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wtx.state, wtx.ERROR)
def test_process_withdraw_transactions(self): self.wallet.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('1')) self.wallet.withdraw_to_address('mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA', Decimal('0.00000001')) with patch('cc.tasks.AuthServiceProxy', self.mock): tasks.process_withdraw_transactions(ticker=self.currency.ticker) self.mock.sendmany.assert_called_once_with( '', {u'mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB': Decimal('1')}) wallet = Wallet.objects.get(id=self.wallet.id) self.assertEqual(wallet.balance, Decimal('0.99989999')) wt1 = WithdrawTransaction.objects.get( address='mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB') wt2 = WithdrawTransaction.objects.get( address='mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA') self.assertEqual(wt1.txid, self.txid) self.assertIsNone(wt2.txid)
def test_withdraw(self): wallet_before = Wallet.objects.create(currency=self.currency, balance=Decimal('1.0')) wallet_before.withdraw_to_address( 'tmGa4dwQrtw6ctnijug586PwXt9h8JExguc', Decimal('0.1')) wallet_before.withdraw_to_address( 'tmEHsxHvPS5inmcDYPDocFPmynGCz5PLYf3', Decimal('0.1')) wallet_before.withdraw_to_address( 'tmGa4dwQrtw6ctnijug586PwXt9h8JExguc', Decimal('0.1')) wallet_after1 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after1.balance, Decimal('0.7')) self.assertEqual(wallet_after1.holded, Decimal('0.3')) tasks.process_withdraw_transactions('tzec') self.coin.generate(2) wtx = WithdrawTransaction.objects.last() tx = self.coin.gettransaction(wtx.txid) wallet_after2 = Wallet.objects.get(id=wallet_before.id) self.assertEqual(wallet_after2.balance, Decimal('0.7') + tx['fee']) self.assertEqual(wallet_after2.holded, Decimal('0'))
def test_process_withdraw_transactions(self): self.wallet.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('0.1')) self.wallet.withdraw_to_address('mkYAsS9QLYo5mXVjuvxKkZUhQJxiMLX5Xk', Decimal('0.1')) self.wallet.withdraw_to_address('mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB', Decimal('0.1')) self.wallet.withdraw_to_address('mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA', Decimal('0.1')) with patch('cc.tasks.AuthServiceProxy', self.mock): tasks.process_withdraw_transactions(ticker=self.currency.ticker) self.mock.gettransaction.assert_called_once_with(self.txid) self.mock.sendmany.assert_called_once_with('', { u'mvEnyQ9b9iTA11QMHAwSVtHUrtD4CTfiDB': Decimal('0.2'), u'mkYAsS9QLYo5mXVjuvxKkZUhQJxiMLX5Xk': Decimal('0.1'), u'mvfNqn5AoVWrsJGuKrdPuoQhYs71CR9uFA': Decimal('0.1') }) wallet = Wallet.objects.get(id=self.wallet.id) self.assertEqual(wallet.holded, Decimal('0')) self.assertEqual(wallet.balance, Decimal('0.5999')) fee_operation = Operation.objects.get(wallet=wallet, description='Network fee') self.assertEqual(fee_operation.balance, Decimal('-0.0001')) self.assertEqual(fee_operation.holded, Decimal('-0.4'))