Skip to content
Snippets Groups Projects
Commit a673ac88 authored by unknown's avatar unknown
Browse files

More test, more bugs fixed

parent d5d30722
No related branches found
No related tags found
No related merge requests found
Showing
with 558 additions and 80 deletions
import pytest
import ucoinpy as ucoin
import gnupg
from mock import Mock
from cutecoin.models.account import Account
from cutecoin.models.account.communities import Communities
from cutecoin.models.community import Community, CommunityNetwork
user_keys = {
"0x31A6302161AC8F5938969E85399EB3415C237F93" : {
"keys": [
{
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"key":
{
"email":"mistertest@testmail.com",
"comment":"",
"name":"Mister test",
"fingerprint":"31A6302161AC8F5938969E85399EB3415C237F93",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}
]
},
"0x2E69197FAB029D8669EF85E82457A1587CA0ED9C" : {
"keys": [
{
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"key":
{
"email":"mistertest2@testmail.com",
"comment":"",
"name":"Mister test2",
"fingerprint":"2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}
]
}
}
def patch_transactions_recipient_get(*arg, **kwargs):
return iter([{
"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": {
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"transaction":
{
"version": 1,
"currency": "beta_brousouf",
"sender": "31A6302161AC8F5938969E85399EB3415C237F93",
"number": 15,
"previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
"recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"type": "TRANSFER",
"coins": [
{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
}
],
"comment": "Too much coins ! Making big one."
}
}
}])
def patch_transactions_sent_get(*arg, **kwargs):
return iter([{
"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": {
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"transaction":
{
"version": 1,
"currency": "beta_brousouf",
"sender": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"number": 15,
"previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
"recipient": "31A6302161AC8F5938969E85399EB3415C237F93",
"type": "TRANSFER",
"coins": [
{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
"transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
"transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
"transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
}
],
"comment": "Too much coins ! Making big one."
}
}
}])
def patch_transactions_view_get(*arg, **kwargs):
return {
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"transaction":
{
"version": 1,
"currency": "beta_brousouf",
"sender": "31A6302161AC8F5938969E85399EB3415C237F93",
"number": 15,
"previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
"recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"type": "TRANSFER",
"coins": [
{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
}
],
"comment": "Too much coins ! Making big one."
}
}
def patch_transactions_issuances_get(*arg, **kwargs):
return iter([{
"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": {
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"transaction":
{
"version": 1,
"currency": "beta_brousouf",
"sender": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"number": 1,
"previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
"recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"type": "ISSUANCE",
"coins": [
{
"id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-2-4-1-A-1",
"transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
},{
"id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-3-6-1-A-1",
"transaction_id": "2E69197FAB029D8669EF85E82457A1587CA0ED9C-1"
}
],
"comment": "Too much coins ! Making big one."
}
}
}
])
def mock_gpg():
def gpg_list_keys():
return [{
'keyid': u'25500A07',
'fingerprint': '2E69197FAB029D8669EF85E82457A1587CA0ED9C',
'uids': [u'Mister Test <mister_test@testmail.com>'],
'expires': u'',
'length': u'1024',
'algo': u'17',
'date': u'1221156445',
'type': u'pub'
}]
mock = Mock(spec=gnupg.GPG)
instance = mock.return_value
instance.list_keys = gpg_list_keys
return instance
@pytest.fixture
def mock_community():
def community_request(request, get_args={}):
if type(request) is ucoin.hdc.transactions.Recipient:
return patch_transactions_recipient_get()
elif type(request) is ucoin.hdc.transactions.sender.Last:
return patch_transactions_sent_get()
elif type(request) is ucoin.hdc.transactions.View:
return patch_transactions_view_get()
elif type(request) is ucoin.hdc.transactions.sender.Issuance:
return patch_transactions_issuances_get()
elif type(request) is ucoin.hdc.coins.List:
return {
"owner": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"coins": [{
"issuer": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"ids": ["1-5-2-A-1", "2-4-1-A-1"]
},
{
"issuer": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"ids": ["10-1-2-F-14"]
}]
}
elif type(request) == ucoin.pks.Lookup:
return user_keys[ get_args['search'] ]
else:
assert 0
mock_network = Mock(spec=CommunityNetwork, request=community_request)
mock = Mock(spec=Community, network=mock_network, currency="test_currency")
return mock
@pytest.fixture
def mock_communities():
mock = Mock(spec=Communities, communities_list=[])
return mock
#TODO: Test account
class Test_Account:
def test_account_create(self):
pass
def test_account_create1(self, mock_communities):
account = Account.create("25500A07", "TestUser", mock_communities)
assert account is not None
def test_account_create2(self, monkeypatch, mock_communities, mock_community):
monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
mock_communities.communities_list=[mock_community]
account = Account.create("25500A07", "TestUser", mock_communities)
assert account is not None
def test_account_load(self):
pass
def test_account_add_wallet(self):
pass
def test_account_add_contact(self):
pass
def test_account_fingerprint(self):
pass
def test_account_fingerprint(self, monkeypatch, mock_communities):
monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
account = Account.create("25500A07", "TestUser", mock_communities)
assert account.fingerprint() == "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
def test_account_transactions_received(self):
pass
def test_account_transactions_received(self, monkeypatch, mock_community, mock_communities):
monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
mock_communities.communities_list=[mock_community]
account = Account.create("25500A07", "TestUser", mock_communities)
assert len(account.transactions_received()) == 1
assert sum( trx.value() for trx in account.transactions_received()) == 200
def test_account_transactions_sent(self):
pass
def test_account_transactions_sent(self, monkeypatch, mock_community, mock_communities):
monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
mock_communities.communities_list=[mock_community]
account = Account.create("25500A07", "TestUser", mock_communities)
assert len(account.transactions_sent()) == 1
assert sum( trx.value() for trx in account.transactions_sent()) == 200
def test_account_last_issuances(self):
pass
def test_account_last_issuances(self, monkeypatch, mock_community, mock_communities):
monkeypatch.setattr(gnupg, 'GPG', mock_gpg)
mock_communities.communities_list=[mock_community]
account = Account.create("25500A07", "TestUser", mock_communities)
assert len(account.last_issuances(mock_community)) == 1
def test_account_issued_last_dividend(self):
pass
......@@ -44,5 +277,3 @@ class Test_Account:
def test_account_pull_tht(self):
pass
def test_account_quality(self):
pass
......@@ -5,9 +5,6 @@ from cutecoin.models.account.communities import Communities
#TODO: Test communities
class Test_Communities:
def test_communities_add_community(self):
pass
def test_communities_jsonify(self):
pass
......
import pytest
import ucoinpy as ucoin
from mock import Mock
from mock import Mock, MagicMock
from cutecoin.models.wallet import Wallet
from cutecoin.models.account.wallets import Wallets
from cutecoin.models.community import Community, CommunityNetwork
def mock_community():
def community_request(request):
if type(request) is ucoin.hdc.coins.List:
return {
"owner": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
"coins": [{
"issuer": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
"ids": ["1-5-2-A-1", "2-4-1-A-1"]
},
{
"issuer": "31A6302161AC8F5938969E85399EB3415C237F93",
"ids": ["10-1-2-F-14"]
}]
}
else:
assert 0
mock_network = Mock(spec=CommunityNetwork, request=community_request)
community = MagicMock(spec=Community, network=mock_network)
return community
def mock_wallet():
def wallet_eq(mock1, mock2):
return mock1.community == mock2.community
mock_wallet = MagicMock(spec=Wallet, __eq__=wallet_eq)
#TODO: Test wallets
class Test_Wallets:
def test_wallets_add_wallet(self):
pass
wallets = Wallets()
wallet = wallets.add_wallet(mock_community())
assert wallet is not None
def test_wallets_get_wallet(self):
pass
mock1 = mock_community()
mock2 = mock_community()
mock3 = mock_community()
mock_wallet1 = Mock(spec=Wallet, community=mock1)
mock_wallet2 = Mock(spec=Wallet, community=mock2)
mock_wallet3 = Mock(spec=Wallet, community=mock3)
wallets = Wallets()
wallets.wallets_list.append(mock_wallet1)
wallets.wallets_list.append(mock_wallet2)
assert wallets.get_wallet(mock_wallet1) is not None
assert wallets.get_wallet(mock_wallet2) is not None
assert wallets.get_wallet(mock_wallet3) is None
def test_wallets_remove_all_wallets_of(self):
pass
mock1 = mock_community()
mock2 = mock_community()
mock_wallet1 = Mock(spec=Wallet, community=mock1)
mock_wallet2 = Mock(spec=Wallet, community=mock2)
wallets = Wallets()
wallets.wallets_list.append(mock_wallet1)
wallets.wallets_list.append(mock_wallet2)
wallets.remove_all_wallets_of(mock1)
assert wallets.get_wallet(mock_wallet1) is None
assert wallets.get_wallet(mock_wallet2) is not None
def test_wallets_jsonify(self):
pass
......@@ -5,6 +5,9 @@ from cutecoin.models.community import Community
from cutecoin.models.community import Node
amendment_hash = "3682F828EFB1A1AFF45ACC6DDBB2BAD100DCD605"
def patch_amendment_current_get(*args, **kwargs):
return {
"version": "1",
......@@ -23,9 +26,23 @@ def patch_amendment_current_get(*args, **kwargs):
"membersChanges": [
"+31A6302161AC8F5938969E85399EB3415C237F93"
],
"raw": "Version: 1\r\n...+31A6302161AC8F5938969E85399EB3415C237F93\r\n"
"raw": """Version: 1
Currency: beta_brousouf
Number: 2
Dividend: 100
CoinMinimalPower: 0
PreviousHash: 0F45DFDA214005250D4D2CBE4C7B91E60227B0E5
MembersRoot: F92B6F81C85200250EE51783F5F9F6ACA57A9AFF
MembersCount: 4
MembersChanges:
+31A6302161AC8F5938969E85399EB3415C237F93
VotersRoot: DC7A9229DFDABFB9769789B7BFAE08048BCB856F
VotersCount: 2
VotersChanges:
-C73882B64B7E72237A2F460CE9CAB76D19A8651E
"""
}
def patch_amendments_members_get(*args, **kwargs):
return iter([{
......@@ -60,7 +77,7 @@ def mock_node():
mock = Mock(spec=Node, trust=True, hoster=True,
server="192.168.100.10", port=3800)
mock.getText.return_value = "Mock node"
mock.get_text.return_value = "Mock node"
mock.use = node_use
return mock
......@@ -84,8 +101,11 @@ class Test_Community():
community = Community.create(mock_node)
assert community.coin_minimal_power() == 0
def test_community_amendment_id(self, monkeypatch):
pass
def test_community_amendment_id(self, monkeypatch, mock_node):
monkeypatch.setattr(ucoin.hdc.amendments.Current,
'__get__', patch_amendment_current_get)
community = Community.create(mock_node)
assert community.amendment_id() == "2-"+amendment_hash.upper()
def test_community_amendment_number(self, monkeypatch, mock_node):
monkeypatch.setattr(ucoin.hdc.amendments.Current,
......
......@@ -58,5 +58,5 @@ class Test_Node():
assert peering["port"] == str(3800)
#TODO: Test node json
def test_node_jsonify(self, monkeypatch):
def test_node_jsonify(self):
pass
import pytest
import ucoinpy as ucoin
from mock import Mock
from mock import Mock, MagicMock
from cutecoin.models.person import Person
from cutecoin.models.community import Community
from cutecoin.models.community import Community, CommunityNetwork
@pytest.fixture
def mock_lookup_get():
mock_get = Mock(spec=ucoin.pks.Lookup.__get__)
mock_get.return_value = [
user_keys = {
"0x31A6302161AC8F5938969E85399EB3415C237F93" : {
"keys": [
{
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"key":
{
"email":"misterk@supermail.com",
"comment":"udid2;c;CAT;LOL;2000-04-19;e+43.70-079.42;0;",
"name":"LoL Cat",
"fingerprint":"C73882B64B7E72237A2F460CE9CAB76D19A8651E",
"email":"mistertest@testmail.com",
"comment":"",
"name":"Mister test",
"fingerprint":"31A6302161AC8F5938969E85399EB3415C237F93",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
},
}
]
},
"0x2E69197FAB029D8669EF85E82457A1587CA0ED9C" : {
"keys": [
{
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"key":
{
"email":"mistery@undermail.com",
"comment":"udid2;c;CAT;LOL;2000-04-19;e+43.70-079.42;0;",
"name":"LoL Cat",
"fingerprint":"C73882B64B7E72237A2F460CE9CAB76D19A8651E",
"email":"mistertest2@testmail.com",
"comment":"",
"name":"Mister test2",
"fingerprint":"2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}]
return mock_get
}
]
}
}
@pytest.fixture
def mock_community():
def community_request(request, get_args={}):
return user_keys[ get_args['search'] ]
mock_network = Mock(spec=CommunityNetwork, request=community_request)
community = MagicMock(spec=Community, network=mock_network)
return community
#TODO: Lookup for person after community was tested
class Test_Person():
def test_person_lookup(self, monkeypatch):
pass
def test_person_lookup(self, monkeypatch, mock_community):
person = Person.lookup("2E69197FAB029D8669EF85E82457A1587CA0ED9C", mock_community)
assert person.name == "Mister test2"
assert person.fingerprint == "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
assert person.email == "mistertest2@testmail.com"
def test_person_jsonify(self):
pass
......
import pytest
import re
import ucoinpy as ucoin
from mock import Mock, MagicMock
from cutecoin.models.transaction import Transaction, Transfer, Issuance
from cutecoin.models.transaction import factory
from cutecoin.models.community import Community, CommunityNetwork
user_keys = {
"0x31A6302161AC8F5938969E85399EB3415C237F93" : {
"keys": [
{
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"key":
{
"email":"mistertest@testmail.com",
"comment":"",
"name":"Mister test",
"fingerprint":"31A6302161AC8F5938969E85399EB3415C237F93",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}
]
},
"0x2E69197FAB029D8669EF85E82457A1587CA0ED9C" : {
"keys": [
{
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"key":
{
"email":"mistertest2@testmail.com",
"comment":"",
"name":"Mister test2",
"fingerprint":"2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}
]
}
}
def community_request_issuance(request, get_args={}):
if type(request) == ucoin.hdc.transactions.View:
return {
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"raw": "Version: 1\r\n...\r\n",
"transaction":
{
"version": 1,
"currency": "beta_brousouf",
"sender": "31A6302161AC8F5938969E85399EB3415C237F93",
"number": 1,
"previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
"recipient": "31A6302161AC8F5938969E85399EB3415C237F93",
"type": "ISSUANCE",
"coins": [
{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
}
],
"comment": "Too much coins ! Making big one."
}
}
elif type(request) == ucoin.pks.Lookup:
return user_keys[ get_args['search'] ]
else:
assert 0
def community_request_transfer(request, get_args={}):
if type(request) == ucoin.hdc.transactions.View:
return {
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----",
"raw": "Version: 1\r\n...\r\n",
"transaction":
{
"version": 1,
"currency": "beta_brousouf",
"sender": "31A6302161AC8F5938969E85399EB3415C237F93",
"number": 15,
"previousHash": "BE522363749E62BA1034C7B1358B01C75289DA48",
"recipient": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"type": "TRANSFER",
"coins": [
{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-10-1-2-F-14",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-2-4-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
},{
"id": "31A6302161AC8F5938969E85399EB3415C237F93-3-6-1-A-1",
"transaction_id": "31A6302161AC8F5938969E85399EB3415C237F93-1"
}
],
"comment": "Too much coins ! Making big one."
}
}
elif type(request) == ucoin.pks.Lookup:
return user_keys[ get_args['search'] ]
else:
assert 0
def mock_community(community_request):
mock_network = Mock(spec=CommunityNetwork, request=community_request)
community = MagicMock(spec=Community, network=mock_network)
return community
class Test_Transaction:
def test_create_transaction_issuance(self):
community = mock_community( community_request_issuance )
trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 1, community)
assert trx is not None
assert type(trx) is Issuance
def test_create_transaction_transfer(self):
community = mock_community( community_request_transfer )
trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 15, community)
assert trx is not None
assert type(trx) is Transfer
def test_transaction_value(self):
community = mock_community( community_request_issuance )
trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 1, community)
assert trx.value() == 100
def test_transaction_currency(self):
community = mock_community( community_request_issuance )
trx = factory.create_transaction("31A6302161AC8F5938969E85399EB3415C237F93", 1, community)
assert trx.currency() == "beta_brousouf"
import pytest
import ucoinpy as ucoin
from mock import Mock, patch
from mock import Mock, MagicMock, patch
from cutecoin.models.wallet import Wallet
from cutecoin.models.community import Community, CommunityNetwork
@pytest.fixture
def mock_community():
def community_request(request):
if type(request) is ucoin.hdc.coins.List:
......@@ -22,23 +21,27 @@ def mock_community():
}
else:
assert 0
def community_eq(mock1, mock2):
return mock1.amendment_id() == mock2.amendment_id()
mock_network = Mock(spec=CommunityNetwork, request=community_request)
community = Mock(spec=Community, network=mock_network)
community = MagicMock(spec=Community, network=mock_network, __eq__=community_eq)
return community
class Test_Wallet:
def test_wallet_create(self, mock_community):
wallet = Wallet([], mock_community)
def test_wallet_create(self,):
wallet = Wallet([], mock_community())
assert wallet is not None
#TODO: Test json
def test_wallet_load(self):
pass
def test_wallet_value(self, mock_community):
wallet = Wallet([], mock_community)
def test_wallet_value(self):
wallet = Wallet([], mock_community())
assert wallet.value() == 0
wallet.refresh_coins("86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8")
assert wallet.value() == 640
......@@ -46,6 +49,27 @@ class Test_Wallet:
def test_wallet_get_text(self):
pass
def test_eq(self):
mock1 = mock_community()
mock1.amendment_id.return_value = "2-AMENDMENTTEST"
mock2 = mock_community()
mock2.amendment_id.return_value = "2-AMENDMENTTEST"
wallet1 = Wallet([], mock1)
wallet2 = Wallet([], mock2)
assert wallet1 == wallet2
def test_not_eq(self):
mock1 = mock_community()
mock1.amendment_id.return_value = "2-AMENDMENTTEST"
mock2 = mock_community()
mock2.amendment_id.return_value = "1-AMENDMENTTEST"
wallet1 = Wallet([], mock1)
wallet2 = Wallet([], mock2)
assert wallet1 != wallet2
def test_wallet_jsonify(self):
pass
......@@ -42,8 +42,8 @@ class Account(object):
wallets = Wallets()
account = cls(keyid, name, communities, wallets, [])
for community in account.communities.communities_list:
wallet = account.wallets.add_wallet(community.currency)
wallet.refresh_coins(community, account.fingerprint())
wallet = account.wallets.add_wallet(community)
wallet.refresh_coins(account.fingerprint())
return account
@classmethod
......@@ -73,9 +73,6 @@ class Account(object):
else:
return False
def add_wallet(self, name, currency):
self.wallets.add_wallet(name, currency)
def add_contact(self, person):
self.contacts.append(person)
......@@ -95,11 +92,11 @@ class Account(object):
transactions_data = community.network.request(
ucoin.hdc.transactions.Recipient(
self.fingerprint()))
for trxData in transactions_data:
for trx_data in transactions_data:
received.append(
factory.create_transaction(
trxData['value']['transaction']['sender'],
trxData['value']['transaction']['number'],
trx_data['value']['transaction']['sender'],
trx_data['value']['transaction']['number'],
community))
return received
......@@ -115,8 +112,8 @@ class Account(object):
if not isinstance(trx_data, str):
sent.append(
factory.create_transaction(
trxData['value']['transaction']['sender'],
trxData['value']['transaction']['number'],
trx_data['value']['transaction']['sender'],
trx_data['value']['transaction']['number'],
community))
return sent
......
......@@ -19,15 +19,16 @@ class Wallets(object):
'''
self.wallets_list = []
def add_wallet(self, currency):
def add_wallet(self, community):
'''
Create a new wallet of a specific currency.
This wallet must not already be present in the account,
it means the wallet must have a different name or a different currency.
'''
wallet = Wallet.create(currency)
wallet = Wallet.create(community)
if wallet not in self.wallets_list:
self.wallets_list.append(wallet)
return wallet
else:
return self.wallets_list.get(wallet)
......@@ -35,7 +36,7 @@ class Wallets(object):
'''
Look for a wallet in the wallets list.
'''
for w in self.walletsLists:
for w in self.wallets_list:
if w == wallet:
return w
return None
......
......@@ -26,9 +26,6 @@ class Community(object):
An account is a member of a community if he is a member of the current amendment.
'''
self.network = network
print(self.network)
print(self.network.request)
print(self.network.request(ucoin.hdc.amendments.Current()))
current_amendment = self.network.request(ucoin.hdc.amendments.Current())
self.currency = current_amendment['currency']
......
......@@ -21,14 +21,14 @@ class CommunityNetwork(object):
def request(self, request, get_args={}):
for node in self.trusts():
logging.debug("Trying to connect to : " + node.getText())
logging.debug("Trying to connect to : " + node.get_text())
node.use(request)
return request.get(**get_args)
raise RuntimeError("Cannot connect to any node")
def post(self, request, get_args={}):
for node in self.hosters():
logging.debug("Trying to connect to : " + node.getText())
logging.debug("Trying to connect to : " + node.get_text())
node.use(request)
return request.post(**get_args)
raise RuntimeError("Cannot connect to any node")
......
......@@ -25,7 +25,7 @@ class Node(object):
def __eq__(self, other):
return (self.server == other.server and self.port == other.port)
def getText(self):
def get_text(self):
return self.server + ":" + str(self.port)
'''
......
......@@ -35,7 +35,7 @@ class Transaction(object):
currency = trx_data['transaction']['currency']
return currency
def transactionID(self):
def transaction_id(self):
return self.sender_fingerprint + "-" + self.increment
......@@ -48,7 +48,7 @@ class Transfer(Transaction):
def __init__(self):
super(Transfer).__init__()
def getText(self):
def get_text(self):
return str(self.value()) + " " + self.currency() + \
" from " + self.sender.name
......@@ -62,9 +62,9 @@ class Issuance(Transaction):
def __init__(self):
super(Issuance).__init__()
def amendmentNumber(self):
def amendment_number(self):
self.community.network.request(
ucoin.hdc.transactions.View(self.sender.fingerprint + "-" + str(self.increment)))
def getText(self):
def get_text(self):
return str(self.value()) + " " + self.currency()
......@@ -48,9 +48,9 @@ class Wallet(object):
def refresh_coins(self, fingerprint):
data_list = self.community.network.request(
ucoin.hdc.coins.List({'pgp_fingerprint': fingerprint}))
for issaunces in data_list['coins']:
issuer = issaunces['issuer']
for coins_ids in issaunces['ids']:
for issuances in data_list['coins']:
issuer = issuances['issuer']
for coins_ids in issuances['ids']:
shortened_id = coins_ids
coin = Coin.from_id(issuer + "-" + shortened_id)
self.coins.append(coin)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment