diff --git a/tests/patched/money.py b/tests/patched/money.py index 03c8914cba149f45e96986c10f33fd6ba9347800..d84e5e167219d9ba0969b8d52ef974c5b62fd618 100644 --- a/tests/patched/money.py +++ b/tests/patched/money.py @@ -1,17 +1,6 @@ from silkaj.money import amount_in_current_base from duniterpy.documents.transaction import InputSource - -## Mocked values - -mock_ud_value = 314 - -pubkey_list = [ - {"pubkey": "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", "uid": ""}, - {"pubkey": "4szFkvQ5tzzhwcfUtZD32hdoG2ZzhvG3ZtfR61yjnxdw", "uid": ""}, - {"pubkey": "BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh", "uid": "riri"}, - {"pubkey": "C1oAV9FX2y9iz2sdp7kZBFu3EBNAa6UkrrRG3EwouPeH", "uid": "fifi"}, - {"pubkey": "7Hr6oUxE6nGZxFG7gVbpMK6oUkNTh5eU686EiCXWCrBF", "uid": "loulou"}, -] +from utils_tests import pubkey_list, mock_ud_value # mock UDValue @@ -24,10 +13,10 @@ async def patched_get_sources(pubkey): """ Returns transaction sources. This function does not cover all possibilities : no other unlock conditions than SIG(pubkey). - if pubkey == DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw : 3 TXsources, amount = 600 - if pubkey == 4szFkvQ5tzzhwcfUtZD32hdoG2ZzhvG3ZtfR61yjnxdw : 53 TXsources, amount = 143100 - if pubkey == BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh : 10 UDsources, amount = 3140 - if pubkey == C1oAV9FX2y9iz2sdp7kZBFu3EBNAa6UkrrRG3EwouPeH : 50 UDsources and 20 TXsources, amount = 36700 + if pubkey == CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp : 3 TXsources, amount = 600 + if pubkey == HcRgKh4LwbQVYuAc3xAdCynYXpKoiPE6qdxCMa8JeHat : 53 TXsources, amount = 143100 + if pubkey == 2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY : 10 UDsources, amount = 3140 + if pubkey == 9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp : 50 UDsources and 20 TXsources, amount = 36700 else : 0 sources, amount = 0 For convenience, the hash is always the same. This should change for other testing purposes. """ @@ -65,16 +54,16 @@ async def patched_get_sources(pubkey): listinput, n = list(), 0 amount = 0 - if pubkey == "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw": + if pubkey == "CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp": max_tx = 3 max_ud = 0 - elif pubkey == "4szFkvQ5tzzhwcfUtZD32hdoG2ZzhvG3ZtfR61yjnxdw": + elif pubkey == "HcRgKh4LwbQVYuAc3xAdCynYXpKoiPE6qdxCMa8JeHat": max_tx = 53 max_ud = 0 - elif pubkey == "BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh": + elif pubkey == "2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY": max_tx = 0 max_ud = 10 - elif pubkey == "C1oAV9FX2y9iz2sdp7kZBFu3EBNAa6UkrrRG3EwouPeH": + elif pubkey == "9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp": max_tx = 20 max_ud = 50 else: diff --git a/tests/test_unit_tx.py b/tests/test_unit_tx.py index ff42a68bb28cca2ef80cc420327239968bdb525e..5cffc149c1102e855bd919599d945260716cb839 100644 --- a/tests/test_unit_tx.py +++ b/tests/test_unit_tx.py @@ -408,24 +408,24 @@ async def test_generate_transaction_document( @pytest.mark.parametrize( "pubkey, TXamount, expected", [ - ("DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", 200, (2, 300, False)), - ("DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", 600, (3, 600, False)), + ("CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp", 200, (2, 300, False)), + ("CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp", 600, (3, 600, False)), ( - "DBM6F5ChMJzpmkUdL5zD9UXKExmZGfQ1AgPDQy4MxSBw", + "CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp", 800, "Error: you don't have enough money", ), - ("4szFkvQ5tzzhwcfUtZD32hdoG2ZzhvG3ZtfR61yjnxdw", 143100, (40, 82000, True)), - ("BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh", 200, (1, 314, False)), - ("BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh", 3140, (10, 3140, False)), + ("HcRgKh4LwbQVYuAc3xAdCynYXpKoiPE6qdxCMa8JeHat", 143100, (40, 82000, True)), + ("2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY", 200, (1, 314, False)), + ("2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY", 3140, (10, 3140, False)), ( - "BFb5yv8z1fowR6Z8mBXTALy5z7gHfMU976WtXhmRsUMh", + "2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY", 5000, "Error: you don't have enough money", ), - ("C1oAV9FX2y9iz2sdp7kZBFu3EBNAa6UkrrRG3EwouPeH", 2900, (8, 3600, False)), - ("C1oAV9FX2y9iz2sdp7kZBFu3EBNAa6UkrrRG3EwouPeH", 22500, (25, 22570, False)), - ("C1oAV9FX2y9iz2sdp7kZBFu3EBNAa6UkrrRG3EwouPeH", 29000, (40, 27280, True)), + ("9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp", 2900, (8, 3600, False)), + ("9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp", 22500, (25, 22570, False)), + ("9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp", 29000, (40, 27280, True)), ], ) @pytest.mark.asyncio diff --git a/tests/utils_tests.py b/tests/utils_tests.py new file mode 100644 index 0000000000000000000000000000000000000000..f2b4d313a5ccdb6c12b4fff4ae31594ec588b857 --- /dev/null +++ b/tests/utils_tests.py @@ -0,0 +1,24 @@ +# This file contains helpers for testing. +from duniterpy.key import SigningKey + +mock_ud_value = 314 + +pubkey_list = [ + {"pubkey": "9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp", "uid": ""}, + {"pubkey": "BUhLyJT17bzDVXW66xxfk1F7947vytmwJVadTaWb8sJS", "uid": ""}, + {"pubkey": "CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp", "uid": "riri"}, + {"pubkey": "HcRgKh4LwbQVYuAc3xAdCynYXpKoiPE6qdxCMa8JeHat", "uid": "fifi"}, + {"pubkey": "2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY", "uid": "loulou"}, +] + + +def insecure_key(pass_salt): + """ + generate unsecure keys for testing purpose. + pubkey(riri) = CtM5RZHopnSRAAoWNgTWrUhDEmspcCAxn6fuCEWDWudp + pubkey(fifi) = HcRgKh4LwbQVYuAc3xAdCynYXpKoiPE6qdxCMa8JeHat + pubkey(loulou) = 2sq4w8yYVDWNxVWZqGWWDriFf5z7dn7iLahDCvEEotuY + pubkey(0) = 9cwBBgXcSVMT74xiKYygX6FM5yTdwd3NABj1CfHbbAmp + pubkey(1) = BUhLyJT17bzDVXW66xxfk1F7947vytmwJVadTaWb8sJS + """ + return SigningKey.from_credentials(pass_salt, pass_salt)