|
1 | 1 | import pytest |
2 | | -import os |
3 | 2 |
|
4 | 3 | from typing import Optional |
5 | 4 | from typing_extensions import override |
6 | 5 | from monero import ( |
7 | | - MoneroWalletFull, MoneroWalletConfig, MoneroNetworkType, MoneroAccount, |
| 6 | + MoneroWalletFull, MoneroWalletConfig, MoneroAccount, |
8 | 7 | MoneroSubaddress, MoneroDaemonRpc, MoneroWallet |
9 | 8 | ) |
10 | 9 |
|
11 | 10 | from utils import TestUtils as Utils |
12 | 11 | from test_monero_wallet_common import BaseTestMoneroWallet |
13 | 12 |
|
14 | | -Utils.load_config() |
15 | 13 |
|
16 | | - |
17 | | -# TODO enable full wallet tests |
18 | | -@pytest.mark.skipif(True, reason="TODO") |
19 | 14 | class TestMoneroWalletFull(BaseTestMoneroWallet): |
20 | 15 |
|
21 | 16 | _daemon: MoneroDaemonRpc = Utils.get_daemon_rpc() |
22 | 17 | _wallet: MoneroWalletFull = Utils.get_wallet_full() # type: ignore |
23 | 18 |
|
| 19 | + #region Overrides |
| 20 | + |
24 | 21 | @override |
25 | 22 | def _create_wallet(self, config: Optional[MoneroWalletConfig], start_syncing: bool = True): |
26 | 23 | # assign defaults |
@@ -82,33 +79,13 @@ def _get_seed_languages(self) -> list[str]: |
82 | 79 | def get_test_wallet(self) -> MoneroWallet: |
83 | 80 | return Utils.get_wallet_full() |
84 | 81 |
|
85 | | - def test_wallet_creation_and_close(self): |
86 | | - config_keys = MoneroWalletConfig() |
87 | | - config_keys.language = "English" |
88 | | - config_keys.network_type = MoneroNetworkType.TESTNET |
89 | | - keys_wallet = MoneroWalletFull.create_wallet(config_keys) |
90 | | - seed = keys_wallet.get_seed() |
91 | | - |
92 | | - config = MoneroWalletConfig() |
93 | | - config.path = "test_wallet_sync" |
94 | | - config.password = "password" |
95 | | - config.network_type = MoneroNetworkType.TESTNET |
96 | | - config.restore_height = 0 |
97 | | - config.seed = seed |
98 | | - config.language = "English" |
| 82 | + #endregion |
99 | 83 |
|
100 | | - wallet = MoneroWalletFull.create_wallet(config) |
101 | | - assert wallet.is_view_only() is False |
102 | | - wallet.close(save=False) |
103 | | - |
104 | | - for ext in ["", ".keys", ".address.txt"]: |
105 | | - try: |
106 | | - os.remove(f"test_wallet_sync{ext}") |
107 | | - except FileNotFoundError: |
108 | | - pass |
| 84 | + #region Tests |
109 | 85 |
|
110 | 86 | # Can create a subaddress with and without a label |
111 | 87 | @pytest.mark.skipif(Utils.TEST_NON_RELAYS is False, reason="TEST_NON_RELAYS disabled") |
| 88 | + @override |
112 | 89 | def test_create_subaddress(self): |
113 | 90 | # create subaddresses across accounts |
114 | 91 | accounts: list[MoneroAccount] = self._wallet.get_accounts() |
@@ -138,3 +115,84 @@ def test_create_subaddress(self): |
138 | 115 | Utils.assert_equals(len(subaddresses), len(subaddresses_new) - 1) |
139 | 116 | Utils.assert_equals(subaddress, subaddresses_new[len(subaddresses_new) - 1]) |
140 | 117 | account_idx += 1 |
| 118 | + |
| 119 | + #endregion |
| 120 | + |
| 121 | + #region Disabled Tests |
| 122 | + |
| 123 | + @pytest.mark.skipif(Utils.REGTEST, reason="Cannot retrieve accurate height by date from regtest fakechain") |
| 124 | + @override |
| 125 | + def test_get_height_by_date(self): |
| 126 | + return super().test_get_height_by_date() |
| 127 | + |
| 128 | + @pytest.mark.skip(reason="TODO") |
| 129 | + @override |
| 130 | + def test_create_wallet_random(self) -> None: |
| 131 | + return super().test_create_wallet_random() |
| 132 | + |
| 133 | + @pytest.mark.skip(reason="TODO") |
| 134 | + @override |
| 135 | + def test_create_wallet_from_seed(self, test_config: BaseTestMoneroWallet.Config) -> None: |
| 136 | + return super().test_create_wallet_from_seed(test_config) |
| 137 | + |
| 138 | + @pytest.mark.skip(reason="TODO") |
| 139 | + @override |
| 140 | + def test_create_wallet_from_keys(self) -> None: |
| 141 | + return super().test_create_wallet_from_keys() |
| 142 | + |
| 143 | + @pytest.mark.skip(reason="TODO") |
| 144 | + @override |
| 145 | + def test_create_wallet_from_seed_with_offset(self) -> None: |
| 146 | + return super().test_create_wallet_from_seed_with_offset() |
| 147 | + |
| 148 | + @pytest.mark.skip(reason="TODO") |
| 149 | + @override |
| 150 | + def test_wallet_equality_ground_truth(self): |
| 151 | + return super().test_wallet_equality_ground_truth() |
| 152 | + |
| 153 | + @pytest.mark.skip(reason="TODO") |
| 154 | + @override |
| 155 | + def test_get_payment_uri(self): |
| 156 | + return super().test_get_payment_uri() |
| 157 | + |
| 158 | + @pytest.mark.skip(reason="TODO") |
| 159 | + @override |
| 160 | + def test_set_tx_note(self) -> None: |
| 161 | + return super().test_set_tx_note() |
| 162 | + |
| 163 | + @pytest.mark.skip(reason="TODO") |
| 164 | + @override |
| 165 | + def test_set_tx_notes(self): |
| 166 | + return super().test_set_tx_notes() |
| 167 | + |
| 168 | + @pytest.mark.skip(reason="TODO") |
| 169 | + @override |
| 170 | + def test_set_daemon_connection(self): |
| 171 | + return super().test_set_daemon_connection() |
| 172 | + |
| 173 | + @pytest.mark.skip(reason="TODO") |
| 174 | + @override |
| 175 | + def test_mining(self): |
| 176 | + return super().test_mining() |
| 177 | + |
| 178 | + @pytest.mark.skip(reason="TODO") |
| 179 | + @override |
| 180 | + def test_export_key_images(self): |
| 181 | + return super().test_export_key_images() |
| 182 | + |
| 183 | + @pytest.mark.skip(reason="TODO (monero-project): https://github.com/monero-project/monero/issues/5812") |
| 184 | + @override |
| 185 | + def test_import_key_images(self): |
| 186 | + return super().test_import_key_images() |
| 187 | + |
| 188 | + @pytest.mark.skip(reason="TODO") |
| 189 | + @override |
| 190 | + def test_get_new_key_images_from_last_import(self): |
| 191 | + return super().test_get_new_key_images_from_last_import() |
| 192 | + |
| 193 | + @pytest.mark.skip(reason="TODO") |
| 194 | + @override |
| 195 | + def test_subaddress_lookahead(self) -> None: |
| 196 | + return super().test_subaddress_lookahead() |
| 197 | + |
| 198 | + #endregion |
0 commit comments