Exemplo n.º 1
0
 def test_create_order(self):
   client = Client(api_key, api_secret)
   # Start with none of the required arguments, and slowly make requests with
   # an additional required argument, expecting failure until all arguments
   # are present.
   send_kwargs = {}
   required_kwargs = {'name': 'bar', 'amount': '1.0', 'currency': 'USD'}
   while required_kwargs:
     with self.assertRaises(ValueError):
       client.create_order(**send_kwargs)
     for key in required_kwargs:
       send_kwargs[key] = required_kwargs.pop(key)
       break
   order = client.create_order(**send_kwargs)
   self.assertIsInstance(order, Order)
   self.assertEqual(order, mock_item)
Exemplo n.º 2
0
 def test_create_order(self):
     client = Client(api_key, api_secret)
     # Start with none of the required arguments, and slowly make requests with
     # an additional required argument, expecting failure until all arguments
     # are present.
     send_kwargs = {}
     required_kwargs = {'name': 'bar', 'amount': '1.0', 'currency': 'USD'}
     while required_kwargs:
         with self.assertRaises(ValueError):
             client.create_order(**send_kwargs)
         for key in required_kwargs:
             send_kwargs[key] = required_kwargs.pop(key)
             break
     order = client.create_order(**send_kwargs)
     self.assertIsInstance(order, Order)
     self.assertEqual(order, mock_item)
Exemplo n.º 3
0
class Coin():
    """
    """
    def __init__(self):
        API_KEY = os.getenv('COINBASE_API_KEY', False)
        API_SECRET = os.getenv('COINBASE_API_SECRET', False)
        self.client = Client(API_KEY, API_SECRET)
        self.primary_account = self.client.get_primary_account()

    def list_accounts(self):
        accounts = self.client.get_accounts()
        for account in accounts.data:
            balance = account.balance
            print('{0}: {1} {2}'.format(account.name, balance.amount, balance.currency))
            print(account.get_transactions)

    def create_account(self, wallet_name):
        account = self.client.create_account(name=wallet_name)
        balance = account.balance
        print('{0}: {1} {2}'.format(account.name, balance.amount, balance.currency))

    def create_order(self):
        metadata = dict()
        metadata['name'] = 'Joe Doe'
        metadata['email'] = '*****@*****.**'
        metadata['shipping_address'] = '123 5th Avenue, Portland OR 97171'
        order = self.client.create_order(amount='0.00000108', currency='BTC', name='Order #0108', description='Awesome energy bar', metadata=metadata)
        self.generate_qrcode(order.bitcoin_uri)
        print(order)
        return order

    def generate_qrcode(self, uri):
        img = qrcode.make(uri)
        img.save('out.png')

    def get_order(self, order_id):
        order = self.client.get_order(order_id)
        print(order)

    def list_orders(self):
        orders = self.client.get_orders().data
        for order in orders:
            print(json.dumps(order))
            # print('{0}: {1} {2} {3} {4}'.format(order.id, order.created_at, order.status, order.bitcoin_amount, order.name))

    def receive_money(self):
        address = self.primary_account.create_address()
        print(address)

    def request_money(self):
        self.primary_account.request_money(to="*****@*****.**", amount="1", currency="BTC")

    def get_account_balance(self):
        balance = self.primary_account.balance
        print(balance)

    def list_transactions(self):
        transactions = self.primary_account.get_transactions().data
        for transaction in transactions:
            print('{0} {1}: {2} {3} {4}'.format(transaction.id, transaction.created_at, transaction.type, transaction.amount, transaction.status))

    def get_latest_transaction(self):
        transactions = self.primary_account.get_transactions().data
        if len(transactions):
            transaction = transactions[-1]
            print('{0} {1}: {2} {3} {4}'.format(transaction.id, transaction.created_at, transaction.type, transaction.amount, transaction.status))

    def list_notifications(self):
        print(self.client.get_notifications())