def test_init(): client = BitJWSSwaggerClient.from_spec(load_file(specurl), 'https://0.0.0.0:8002') assert 'coin' in client.swagger_spec.definitions assert 'user' in client.swagger_spec.definitions ckey = client.coin.addCoin.swagger_spec.http_client.authenticator.privkey assert isinstance(ckey, bitjws.PrivateKey)
def test_user_can_only_get_own_coins(): """Tests that user cannot get other users' coins throught the server""" print "creating a new user" privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_url(specurl, privkey=privkey2) luser2 = client2.get_model('User')(username=username2) user2 = client2.user.addUser(user=luser2).result() assert user.id != user2.id print "creating coins for both users" lcoin = client.get_model('Coin')(metal='ub', mint='uranus') client.coin.addCoin(coin=lcoin) lcoin2 = client2.get_model('Coin')(metal='ub', mint='uranus') client2.coin.addCoin(coin=lcoin2) print "checking users cannot get each others's coins" coins = client.coin.findCoin().result() coins2 = client2.coin.findCoin().result() def get_others_coins(user, coins): for c in coins: if c.user.id != user.id: return True return False assert not get_others_coins(user, coins) assert not get_others_coins(user2, coins2)
def test_init_PrivateKey(): privkey = bitjws.PrivateKey(bitjws.wif_to_privkey(wif)) client = BitJWSSwaggerClient.from_spec(load_file(specurl), 'https://0.0.0.0:8002', privkey=privkey) assert 'coin' in client.swagger_spec.definitions assert 'user' in client.swagger_spec.definitions ckey = client.coin.addCoin.swagger_spec.http_client.authenticator.privkey assert isinstance(ckey, bitjws.PrivateKey) assert bitjws.privkey_to_wif(privkey.private_key) == \ bitjws.privkey_to_wif(ckey.private_key)
def test_register_user(): # register a new user privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_url(specurl, privkey=privkey2) luser2 = client2.get_model("User")(username=username2) user2 = client2.user.addUser(user=luser2).result() assert hasattr(user2, "id")
def test_register_user(): # register a new user privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_url(specurl, privkey=privkey2) luser2 = client2.get_model('User')(username=username2) user2 = client2.user.addUser(user=luser2).result() assert hasattr(user2, 'id')
def test_init_url_WIF(): url = "http://spec.com/swagger.json" spec = load_file(specurl) httpretty.enable() httpretty.register_uri(httpretty.GET, url, body=json.dumps(spec)) client = BitJWSSwaggerClient.from_url(url, privkey=wif) assert 'coin' in client.swagger_spec.definitions assert 'user' in client.swagger_spec.definitions ckey = client.coin.addCoin.swagger_spec.http_client.authenticator.privkey assert isinstance(ckey, bitjws.PrivateKey) assert wif == bitjws.privkey_to_wif(ckey.private_key) httpretty.disable() httpretty.reset()
def test_good_call(): url = "http://0.0.0.0:8002/coin" bjauth = BitJWSAuthenticator("0.0.0.0", privkey=wif) client = BitJWSSwaggerClient.from_spec(load_file(specurl), origin_url=url, privkey=wif) coin = [{"metal": "m", "mint": "n"}] data = bitjws.sign_serialize(bjauth.privkey, requrl="/response", iat=time.time(), data=coin) httpretty.enable() httpretty.register_uri(httpretty.GET, url, body=data, content_type="application/jose") resp = client.coin.findCoin().result() assert resp[0].metal == coin[0]["metal"] assert resp[0].mint == coin[0]["mint"] assert httpretty.last_request().headers["content-type"] == "application/jose" httpretty.disable() httpretty.reset()
import time from bravado_bitjws.client import BitJWSSwaggerClient from desw import CFG, ses, eng, models from desw.plugin import internal_credit, internal_address, internal_confirm_credit from bravado.swagger_model import load_file host = "0.0.0.0" url = "http://0.0.0.0:8002/" specurl = os.path.abspath('../desw/desw/static/swagger.json') privkey = bitjws.PrivateKey() my_pubkey = privkey.pubkey.serialize() my_address = bitjws.pubkey_to_addr(my_pubkey) username = str(my_address)[0:8] client = BitJWSSwaggerClient.from_spec(load_file(specurl), origin_url=url) luser = client.get_model('User')(username=username) user = client.user.addUser(user=luser).result().user privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_spec(load_file(specurl), origin_url=url) luser2 = client2.get_model('User')(username=username2) user2 = client2.user.addUser(user=luser2).result().user def test_addresses(): addy = client.get_model('Address')(currency='BTC', network='Internal') address = client.address.createAddress(address=addy).result()
import pytest import bitjws from bravado_bitjws.client import BitJWSSwaggerClient privkey = bitjws.PrivateKey() my_pubkey = privkey.pubkey.serialize() my_address = bitjws.pubkey_to_addr(my_pubkey) host = "0.0.0.0" url = "http://0.0.0.0:8002/" specurl = "%sstatic/swagger.json" % url username = str(my_address)[0:8] client = BitJWSSwaggerClient.from_url(specurl, privkey=privkey) luser = client.get_model("User")(username=username) user = client.user.addUser(user=luser).result() def test_register_user(): # register a new user privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_url(specurl, privkey=privkey2) luser2 = client2.get_model("User")(username=username2)
import bitjws from bravado.swagger_model import load_file from bravado_bitjws.client import BitJWSSwaggerClient from desw import CFG, ses, wm from desw.plugin import internal_credit, internal_address host = "0.0.0.0" url = "http://0.0.0.0:8002/" specurl = os.path.abspath('../desw/desw/static/swagger.json') privkey = bitjws.PrivateKey() my_pubkey = privkey.pubkey.serialize() my_address = bitjws.pubkey_to_addr(my_pubkey) username = str(my_address)[0:8] client = BitJWSSwaggerClient.from_spec(load_file(specurl), origin_url=url) luser = client.get_model('User')(username=username) user = client.user.addUser(user=luser).result().user privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_spec(load_file(specurl), origin_url=url) luser2 = client2.get_model('User')(username=username2) user2 = client2.user.addUser(user=luser2).result().user def test_address(): addy = client.get_model('Address')(currency='BTC', network='Internal') address = client.address.createAddress(address=addy).result()
import pytest import bitjws from bravado_bitjws.client import BitJWSSwaggerClient privkey = bitjws.PrivateKey() my_pubkey = privkey.pubkey.serialize() my_address = bitjws.pubkey_to_addr(my_pubkey) host = "0.0.0.0" url = "http://0.0.0.0:8002/" specurl = "%sstatic/swagger.json" % url username = str(my_address)[0:8] client = BitJWSSwaggerClient.from_url(specurl, privkey=privkey) luser = client.get_model('User')(username=username) user = client.user.addUser(user=luser).result() def test_register_user(): # register a new user privkey2 = bitjws.PrivateKey() my_pubkey2 = privkey2.pubkey.serialize() my_address2 = bitjws.pubkey_to_addr(my_pubkey2) username2 = str(my_address2)[0:8] client2 = BitJWSSwaggerClient.from_url(specurl, privkey=privkey2) luser2 = client2.get_model('User')(username=username2)
CLIENT_DIR = ".." if CLIENT_DIR not in sys.path: sys.path.insert(0, CLIENT_DIR) import pikaconfig TEST_URL = os.environ.get('WSOCK_URL', 'ws://localhost:8123/websocket') privkey = bitjws.PrivateKey() pubhash = bitjws.pubkey_to_addr(privkey.pubkey.serialize()) url = 'http://0.0.0.0:8002/' specurl = '%sstatic/swagger.json' % url try: bitjws_client = BitJWSSwaggerClient.from_url(specurl, privkey=privkey, aud='/response') username = str(pubhash)[0:8] luser = bitjws_client.get_model('User')(username=username) user = bitjws_client.user.addUser(user=luser).result() except: bitjws_client = None print "Could not connet to BitJWS server... Continuing without it." pass pika_url_parameters = pika.URLParameters(pikaconfig.BROKER_URL) pika_client = pika.BlockingConnection(pika_url_parameters) pika_channel = pika_client.channel() pika_channel.exchange_declare(**pikaconfig.EXCHANGE) def client_wait_for(client, method, model=None, n=20):