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

Working on unit tests

parent 92ece80d
No related branches found
No related tags found
No related merge requests found
......@@ -4,24 +4,31 @@ from cutecoin.models.coin import Coin
issuer = "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
number = "0"
base = "1"
power = "1"
number = 0
base = 3
power = 2
origin = "A-2"
@pytest.fixture
def coin_id_regex():
return re.compile("^([A-Z\d]{40})-(\d+)-(\d)-(\d+)-((A|F|D)-\d+)$")
return re.compile("^([A-Z\d]{40})-(\d+)-(\d)-(\d+)-((A|F|D)-\d+)$")
@pytest.mark.order1
class Test_Coin:
def test_coin_init(coin_id_regex):
coin = Coin(issuer, number, base, power, origin)
assert coin_id_regex.match(coin.get_id()) is not None
def test_coin_init(self, coin_id_regex):
coin = Coin(issuer, number, base, power, origin)
assert coin_id_regex.match(coin.get_id()) is not None
def test_coin_from_id(coin_id_regex):
coin_id = issuer + "-" + number + "-" + base + "-" + power + "-" + origin
coin = Coin.from_id(coin_id)
assert coin is not None
assert coin_id_regex.match(coin.get_id()) is not None
def test_coin_from_id(self, coin_id_regex):
coin_id = issuer + "-" + number + "-" + base + "-" + power + "-" + origin
coin = Coin.from_id(coin_id)
assert coin is not None
assert coin_id_regex.match(coin.get_id()) is not None
def test_coin_value(self):
coin = Coin(issuer, number, base, power, origin)
assert coin.value() == 300
\ No newline at end of file
......@@ -2,44 +2,99 @@ import pytest
from mock import Mock
import ucoinpy as ucoin
from cutecoin.models.community import Community
from cutecoin.models.community import Node
#TODO: Unit test for community
def test_community_create(monkeypatch):
pass
@pytest.fixture
def mock_amendment_current_get():
mock_get = Mock(spec=ucoin.hdc.amendments.Current.__get__)
mock_get.return_value = {
"version": "1",
"currency": "beta_brousouf",
"number": "2",
"previousHash": "0F45DFDA214005250D4D2CBE4C7B91E60227B0E5",
"dividend": "100",
"coinMinimalPower": "0",
"votersRoot": "DC7A9229DFDABFB9769789B7BFAE08048BCB856F",
"votersCount": "2",
"votersChanges": [
"-C73882B64B7E72237A2F460CE9CAB76D19A8651E"
],
"membersRoot": "F92B6F81C85200250EE51783F5F9F6ACA57A9AFF",
"membersCount": "4",
"membersChanges": [
"+31A6302161AC8F5938969E85399EB3415C237F93"
],
"raw": "Version: 1\r\n...+31A6302161AC8F5938969E85399EB3415C237F93\r\n"
}
return mock_get
def test_community_dividend(monkeypatch):
pass
@pytest.fixture
def mock_amendments_members_get():
mock_get = Mock(spec=ucoin.hdc.amendments.Current.__get__)
mock_get.return_value = [{
"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
},
{
"hash": "3F69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": "3F69197FAB029D8669EF85E82457A1587CA0ED9C"
}]
return mock_get
@pytest.fixture
def mock_amendments_voters_get():
mock_get = Mock(spec=ucoin.hdc.amendments.Current.__get__)
mock_get.return_value = [{
"hash": "2E69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": "2E69197FAB029D8669EF85E82457A1587CA0ED9C"
},
{
"hash": "3F69197FAB029D8669EF85E82457A1587CA0ED9C",
"value": "3F69197FAB029D8669EF85E82457A1587CA0ED9C"
}]
return mock_get
def test_community_coin_minimal_power(monkeypatch):
pass
class Test_Community():
def test_community_create(self, monkeypatch, mock_amendment_current_get):
pass
def test_community_amendment_id(monkeypatch):
pass
def test_community_dividend(self, monkeypatch):
pass
def test_community_amendment_number(monkeypatch):
pass
def test_community_coin_minimal_power(self, monkeypatch):
pass
def test_community_person_quality(monkeypatch):
pass
def test_community_amendment_id(self, monkeypatch):
pass
def test_community_members_fingerprint(monkeypatch):
pass
def test_community_amendment_number(self, monkeypatch):
pass
def test_community_voters_fingerprint(monkeypatch):
pass
def test_community_person_quality(self, monkeypatch):
pass
def test_community_to_json():
pass
def test_community_members_fingerprint(self, monkeypatch):
pass
def test_community_from_json():
pass
def test_community_voters_fingerprint(self, monkeypatch):
pass
def test_community_to_json(self):
pass
def test_community_from_json(self):
pass
......@@ -3,55 +3,66 @@ import ucoinpy as ucoin
from mock import Mock
from cutecoin.models.node import Node
@pytest.fixture
def mock_peers_get():
mock_get = Mock(spec=ucoin.ucg.peering.Peers.__get__)
mock_get.return_value = [{
"version": "1",
"currency": "beta_brousouf",
"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF468",
"dns": "DNS_VALUE",
"ipv4": "192.168.100.10",
"ipv6": "",
"port": "3800",
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
},
{
"version": "1",
"currency": "beta_brousouf",
"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF469",
"dns": "DNS_VALUE",
"ipv4": "192.168.100.11",
"ipv6": "",
"port": "3801",
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
}]
return mock_get
def test_peers(monkeypatch):
mock_peers_get = Mock(spec=ucoin.ucg.peering.Peers.__get__)
mock_peers_get.return_value = [{"version": "1",
"currency": "beta_brousouf",
"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF468",
"dns": "DNS_VALUE",
"ipv4": "192.168.100.10",
"ipv6": "",
"port": "3800",
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
},
{"version": "1",
"currency": "beta_brousouf",
"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF469",
"dns": "DNS_VALUE",
"ipv4": "192.168.100.11",
"ipv6": "",
"port": "3801",
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
}]
monkeypatch.setattr(ucoin.ucg.peering.Peers, '__get__', mock_peers_get)
node = Node("192.168.100.12", 3800)
peers = node.peers()
assert peers[0]["ipv4"] == "192.168.100.10"
assert peers[1]["ipv4"] == "192.168.100.11"
def test_peering(monkeypatch):
mock_peering_get = Mock(spec=ucoin.ucg.peering.Peer.__get__)
mock_peering_get.return_value = {
"version": "1",
"currency": "beta_brousouf",
"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF468",
"dns": "DNS_VALUE",
"ipv4": "192.168.100.10",
"ipv6": "",
"port": "3800",
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
}
monkeypatch.setattr(ucoin.ucg.peering.Peer, '__get__', mock_peering_get)
node = Node("192.168.100.12", 3800)
peering = node.peering()
assert peering["ipv4"] == "192.168.100.10"
assert peering["port"] == str(3800)
#TODO: Test node jsonify
def test_node_jsonify(monkeypatch):
pass
@pytest.fixture
def mock_peer_get():
mock_get = Mock(spec=ucoin.ucg.peering.Peer.__get__)
mock_get.return_value = {
"version": "1",
"currency": "beta_brousouf",
"fingerprint": "A70B8E8E16F91909B6A06DFB7EEF1651D9CCF468",
"dns": "DNS_VALUE",
"ipv4": "192.168.100.10",
"ipv6": "",
"port": "3800",
"signature": "-----BEGIN PGP SIGNATURE----- ... -----END PGP SIGNATURE-----"
}
return mock_get
class Test_Node():
def test_peers(self, monkeypatch, mock_peers_get):
monkeypatch.setattr(ucoin.ucg.peering.Peers, '__get__', mock_peers_get)
node = Node("192.168.100.12", 3800)
peers = node.peers()
assert peers[0]["ipv4"] == "192.168.100.10"
assert peers[1]["ipv4"] == "192.168.100.11"
def test_peering(self, monkeypatch, mock_peer_get):
monkeypatch.setattr(ucoin.ucg.peering.Peer, '__get__', mock_peer_get)
node = Node("192.168.100.12", 3800)
peering = node.peering()
assert peering["ipv4"] == "192.168.100.10"
assert peering["port"] == str(3800)
def test_node_jsonify(self, monkeypatch):
pass
......@@ -5,37 +5,43 @@ from cutecoin.models.person import Person
from cutecoin.models.community import Community
#TODO: Lookup for person after community was tested
def test_person_lookup(monkeypatch):
pks_lookup_get = Mock(spec = ucoin.pks.Lookup.get)
pks_lookup_get.return_value = [
{
"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",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
},
{
"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",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}]
@pytest.fixture
def mock_lookup_get():
mock_get = Mock(spec = ucoin.pks.Lookup.__get__)
mock_get.return_value = [
{
"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",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
},
{
"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",
"raw":"-----BEGIN PGP PUBLIC KEY BLOCK----- ... -----END PGP PUBLIC KEY BLOCK-----\r\n"
}
}]
return mock_get
#TODO: Lookup for person after community was tested
class Test_Person():
def test_person_lookup(self, monkeypatch):
pass
def test_person_jsonify():
pass
def test_person_jsonify(self):
pass
def test_person_from_json():
pass
def test_person_from_json(self):
pass
import pytest
import ucoinpy as ucoin
from mock import Mock
from cutecoin.models.wallet import Wallet
from cutecoin.models.community import Community
@pytest.fixture
def mock_coins_list_get():
mock_get = Mock(spec=ucoin.hdc.coins.List.__get__)
mock_get.return_value = {
"owner": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
"coins": [{
"issuer": "86F7E437FAA5A7FCE15D1DDCB9EAEAEA377667B8",
"ids": ["1-5-2-A-1", "2-4-1-A-1"]
},{
"issuer": "31A6302161AC8F5938969E85399EB3415C237F93",
"ids": ["10-1-2-F-14"]
}]
}
return mock_get
#TODO: Test wallet
def test_wallet_create():
pass
@pytest.fixture
def mock_community_request(request, mock_coins_list_get):
if request == ucoin.hdc.coins.List.get:
return mock_coins_list_get()
else:
return "Failed !"
def test_wallet_load():
pass
@pytest.fixture
def mock_community(mock_community_request):
community = Mock(spec=Community)
instance = community.return_value
instance.network.request.return_value = mock_community_request
return community
def test_wallet_value():
pass
class Test_Wallet:
def test_wallet_create(self, mock_community):
wallet = Wallet([], mock_community)
assert wallet is not None
def test_wallet_refresh_coins():
pass
def test_wallet_load(self):
pass
def test_wallet_get_text():
pass
def test_wallet_value(self, mock_community):
wallet = Wallet([], mock_community)
assert wallet.value() == 640
pass
def test_wallet_jsonify():
pass
def test_wallet_refresh_coins(self):
pass
def test_wallet_get_text(self):
pass
def test_wallet_jsonify(self):
pass
'''
Created on 6 avr. 2014
@author: inso
'''
#TODO: Scenario de tests
'''
def pytest_generate_tests(metafunc):
idlist = []
argvalues = []
for scenario in metafunc.cls.scenarios:
idlist.append(scenario[0])
items = scenario[1].items()
argnames = [x[0] for x in items]
argvalues.append(([x[1] for x in items]))
metafunc.parametrize(argnames, argvalues, ids=idlist, scope="class")
'''
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