From dec362fda79ee520af9a03b7d9acb88098c35930 Mon Sep 17 00:00:00 2001 From: szotov Date: Fri, 2 Mar 2018 20:49:42 +0300 Subject: [PATCH] [KMS-ETH]- Fixed bugs and tests with 32 bytes miner id --- nkms_eth/miner.py | 7 ++++--- tests/contracts/test_miners_escrow.py | 25 +++++-------------------- tests/entities/test_miner.py | 7 ++++--- 3 files changed, 13 insertions(+), 26 deletions(-) diff --git a/nkms_eth/miner.py b/nkms_eth/miner.py index 6019a13c3..92312f32c 100644 --- a/nkms_eth/miner.py +++ b/nkms_eth/miner.py @@ -79,7 +79,7 @@ class Miner: def publish_dht_key(self, dht_id) -> str: """Store a new DHT key""" - txhash = self.escrow.transact({'from': self.address}).publishDHTKey(dht_id) + txhash = self.escrow.transact({'from': self.address}).setMinerId(dht_id) self.blockchain._chain.wait.for_receipt(txhash) return txhash @@ -87,8 +87,9 @@ class Miner: def get_dht_key(self) -> tuple: """Retrieve all stored DHT keys for this miner""" - count = self.escrow().getDHTKeysCount(self.address) - dht_keys = tuple(self.escrow().getDHTKey(self.address, index) for index in range(count)) + count = self.escrow().getMinerIdsCount(self.address) + # TODO change when v4 web3.py will released + dht_keys = tuple(self.escrow().getMinerId(self.address, index).encode('latin-1') for index in range(count)) return dht_keys diff --git a/tests/contracts/test_miners_escrow.py b/tests/contracts/test_miners_escrow.py index a1c0fbf9a..62d8d9aad 100644 --- a/tests/contracts/test_miners_escrow.py +++ b/tests/contracts/test_miners_escrow.py @@ -569,29 +569,14 @@ def test_miner_id(web3, chain, token, escrow_contract): # Set miner ids miner_id = os.urandom(32) - print(miner_id) # TODO delete - print(type(miner_id)) # TODO delete - print(web3.toHex(miner_id)) # TODO delete - print(type(web3.toHex(miner_id))) # TODO delete - print(web3.toBytes(miner_id)) # TODO delete - print(type(web3.toBytes(miner_id))) # TODO delete - # print(bytes(web3.toHex(miner_id))) # TODO delete - # print(type(bytes(web3.toHex(miner_id)))) # TODO delete - # miner_id = bytearray(32) - # print(type(miner_id)) # TODO delete - tx = escrow.transact({'from': miner}).setMinerId(miner_id) chain.wait.for_receipt(tx) - - print(escrow.call().getMinerId(miner, 0)) # TODO delete - print(escrow.call().getMinerId(miner, 0).encode()) # TODO delete - print(bytes(escrow.call().getMinerId(miner, 0).encode())) # TODO delete - print(escrow.call().getMinerId(miner, 0).decode()) # TODO delete - assert 1 == escrow.call().getMinerIdsCount(miner) - assert miner_id == bytes(escrow.call().getMinerId(miner, 0).encode()) - miner_id = os.urandom(32).hex() + # TODO change when v4 web3.py will released + assert miner_id == escrow.call().getMinerId(miner, 0).encode('latin-1') + miner_id = os.urandom(32) tx = escrow.transact({'from': miner}).setMinerId(miner_id) chain.wait.for_receipt(tx) assert 2 == escrow.call().getMinerIdsCount(miner) - assert miner_id == escrow.call().getMinerId(miner, 1) + # TODO change when v4 web3.py will released + assert miner_id == escrow.call().getMinerId(miner, 1).encode('latin-1') diff --git a/tests/entities/test_miner.py b/tests/entities/test_miner.py index 39c2038d1..96909dc87 100644 --- a/tests/entities/test_miner.py +++ b/tests/entities/test_miner.py @@ -56,7 +56,7 @@ def test_publish_dht_key(testerchain, token, escrow): miner.lock(amount=balance, locktime=1) # Publish DHT keys - mock_dht_key = os.urandom(66).hex() + mock_dht_key = os.urandom(32) txhash = miner.publish_dht_key(mock_dht_key) stored_miner_dht_keys = miner.get_dht_key() @@ -64,14 +64,15 @@ def test_publish_dht_key(testerchain, token, escrow): assert len(stored_miner_dht_keys) == 1 assert mock_dht_key == stored_miner_dht_keys[0] - another_mock_dht_key = os.urandom(66).hex() + another_mock_dht_key = os.urandom(32) txhash = miner.publish_dht_key(another_mock_dht_key) stored_miner_dht_keys = miner.get_dht_key() assert len(stored_miner_dht_keys) == 2 assert another_mock_dht_key == stored_miner_dht_keys[1] - assert another_mock_dht_key == escrow().getDHTKey(miner_addr, 1) + # TODO change when v4 web3.py will released + assert another_mock_dht_key == escrow().getMinerId(miner_addr, 1).encode('latin-1') def test_select_ursulas(testerchain, token, escrow):