Skip to content

Commit 3c3a496

Browse files
authored
test: remove custom rpc request id (#6918)
1 parent 0646f63 commit 3c3a496

File tree

8 files changed

+43
-56
lines changed

8 files changed

+43
-56
lines changed

tests-functional/clients/rpc.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,31 @@ class RpcClient(ApiClient):
66

77
def __init__(self, client=requests.Session()):
88
self.client = client
9-
self.request_counter = 0
9+
self._request_id = 0
1010

11-
def validate_json_rpc_response(self, response, _id=None):
11+
@property
12+
def request_id(self) -> int:
13+
self._request_id += 1
14+
return self._request_id
15+
16+
def validate_json_rpc_response(self, response, _id):
1217
# Must contain exactly one of 'result' or 'error'
1318
has_result = "result" in response
1419
has_error = "error" in response
1520

1621
if not (has_result ^ has_error): # True only if exactly one is True
1722
raise AssertionError(f"Invalid structure: must contain exactly one of 'result' or 'error', got: {response}")
1823

19-
if _id:
20-
try:
21-
if _id != response["id"]:
22-
raise AssertionError(f"got id: {response['id']} instead of expected id: {_id}")
23-
except KeyError:
24-
raise AssertionError(f"no id in response {response}")
24+
try:
25+
if _id != response["id"]:
26+
raise AssertionError(f"got id: {response['id']} instead of expected id: {_id}")
27+
except KeyError:
28+
raise AssertionError(f"no id in response {response}")
29+
2530
return response
2631

27-
def rpc_valid_request(self, method, params=None, _id=None):
28-
if not _id:
29-
request_id = self.request_counter
30-
self.request_counter += 1
31-
else:
32-
request_id = _id
32+
def rpc_valid_request(self, method, params=None):
33+
request_id = self.request_id
3334

3435
if params is None:
3536
params = []

tests-functional/tests/test_accounts.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
2-
import random
2+
33
import pytest
4+
45
from resources.constants import user_1
56

67

@@ -22,8 +23,7 @@ def setup_backend(self, backend_new_profile):
2223
],
2324
)
2425
def test_(self, method, params):
25-
_id = str(random.randint(1, 8888))
26-
self.rpc_client.rpc_valid_request(method, params, _id)
26+
self.rpc_client.rpc_valid_request(method, params)
2727
# TODO: Add assertions on response
2828

2929
def test_store_identity_image(self):

tests-functional/tests/test_app_general.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import random
21
import pytest
32

43

@@ -18,7 +17,5 @@ def setup_backend(self, backend_new_profile):
1817
],
1918
)
2019
def test_(self, method, params):
21-
_id = str(random.randint(1, 8888))
22-
23-
self.rpc_client.rpc_valid_request(method, params, _id)
20+
self.rpc_client.rpc_valid_request(method, params)
2421
# TODO: Add more assertions on response

tests-functional/tests/test_wakuext_profile.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import random
1+
import logging
22

33
import pytest
4-
import logging
54

65
from clients.signals import SignalType
76
from steps.messenger import MessengerSteps
@@ -35,8 +34,7 @@ def setup_backend(self, backend_new_profile):
3534
],
3635
)
3736
def test_wakuext_(self, method, params):
38-
_id = str(random.randint(1, 8888))
39-
self.rpc_client.rpc_valid_request(method, params, _id)
37+
self.rpc_client.rpc_valid_request(method, params)
4038

4139
@pytest.mark.parametrize(
4240
"method, setting_name, default_value, changed_value",
@@ -61,14 +59,12 @@ def test_wakuext_(self, method, params):
6159
],
6260
)
6361
def test_settings_(self, method, setting_name, default_value, changed_value):
64-
_id = str(random.randint(1, 8888))
65-
6662
logging.info("Step: check that %s is %s by default " % (setting_name, default_value))
6763
response = self.rpc_client.rpc_valid_request("settings_getSettings", [])
6864
assert response[setting_name] == default_value
6965

7066
logging.info("Step: change %s to %s and check it is updated" % (setting_name, changed_value))
71-
self.rpc_client.rpc_valid_request(method, [setting_name, changed_value], _id)
67+
self.rpc_client.rpc_valid_request(method, [setting_name, changed_value])
7268
response = self.rpc_client.rpc_valid_request("settings_getSettings", [])
7369
assert response[setting_name] == changed_value
7470

@@ -95,14 +91,12 @@ def test_settings_(self, method, setting_name, default_value, changed_value):
9591
],
9692
)
9793
def test_omitempty_false_(self, method, setting_name, set_value):
98-
_id = str(random.randint(1, 8888))
99-
10094
logging.info("Step: assert that %s is not retrieved in settings before setting" % (setting_name))
10195
response = self.rpc_client.rpc_valid_request("settings_getSettings", [])
10296
assert setting_name not in response
10397

10498
logging.info("Step: change %s to %s and check it is updated" % (setting_name, set_value))
105-
self.rpc_client.rpc_valid_request(method, [setting_name, set_value], _id)
99+
self.rpc_client.rpc_valid_request(method, [setting_name, set_value])
106100
response = self.rpc_client.rpc_valid_request("settings_getSettings", [])
107101
assert response[setting_name] == set_value
108102

@@ -121,14 +115,12 @@ def test_omitempty_false_(self, method, setting_name, set_value):
121115
],
122116
)
123117
def test_omitempty_true_(self, method, setting_name, set_value):
124-
_id = str(random.randint(1, 8888))
125-
126118
logging.info("Step: assert that %s is retrieved in settings before unsetting" % (setting_name))
127119
response = self.rpc_client.rpc_valid_request("settings_getSettings", [])
128120
assert setting_name in response
129121

130122
logging.info("Step: change %s to %s and check it is updated and does not retrieve anymore" % (setting_name, set_value))
131-
self.rpc_client.rpc_valid_request(method, [setting_name, set_value], _id)
123+
self.rpc_client.rpc_valid_request(method, [setting_name, set_value])
132124
response = self.rpc_client.rpc_valid_request("settings_getSettings", [])
133125
assert setting_name not in response
134126

tests-functional/tests/test_wakuext_rpc.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import random
21
import pytest
32

43

@@ -16,7 +15,5 @@ def setup_backend(self, backend_new_profile):
1615
],
1716
)
1817
def test_valid_rpc_requests(self, method, params):
19-
_id = str(random.randint(1, 8888))
20-
21-
self.rpc_client.rpc_valid_request(method, params, _id)
18+
self.rpc_client.rpc_valid_request(method, params)
2219
# TODO: Add more assertions on response

tests-functional/tests/test_wallet_activity_session.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
import json
2-
import random
3-
from utils import wallet_utils
42
import uuid as uuid_lib
3+
54
import pytest
5+
from web3 import Web3
66

7-
from resources.constants import user_1, user_2
8-
from clients.signals import SignalType
97
from clients.anvil import Anvil
8+
from clients.contract_deployers.communities import CommunitiesDeployer
9+
from clients.contract_deployers.snt import (
10+
SNTDeployer,
11+
SNTV2_ABI,
12+
SNT_TOKEN_CONTROLLER_ABI,
13+
)
14+
from clients.signals import SignalType
1015
from clients.smart_contract_runner import SmartContractRunner
11-
from clients.contract_deployers.snt import SNTDeployer, SNTV2_ABI, SNT_TOKEN_CONTROLLER_ABI
1216
from resources.constants import DEPLOYER_ACCOUNT
13-
from clients.contract_deployers.communities import CommunitiesDeployer
14-
from web3 import Web3
17+
from resources.constants import user_1, user_2
18+
from utils import wallet_utils
1519

1620
EventActivityFilteringDone = "wallet-activity-filtering-done"
1721
EventActivityFilteringUpdate = "wallet-activity-filtering-entries-updated"
@@ -74,7 +78,6 @@ def setup_backend(self, backend_recovered_profile):
7478
# Create backend
7579
self.rpc_client = backend_recovered_profile(name="rpc_client", user=user_1, token_overrides=token_overrides)
7680

77-
self.request_id = str(random.randint(1, 8888))
7881
self.mint_snt(user_1.address, 1000000000000000000000000)
7982

8083
def test_wallet_start_activity_filter_session(self):
@@ -124,7 +127,7 @@ def test_wallet_start_activity_filter_session(self):
124127
1,
125128
lambda signal: signal["event"]["type"] == EventActivityFilteringDone,
126129
)
127-
response = self.rpc_client.rpc_valid_request(method, params, self.request_id)
130+
response = self.rpc_client.rpc_valid_request(method, params)
128131
event_response = self.rpc_client.wait_for_signal("wallet", timeout=10)["event"]
129132

130133
# Check response
@@ -181,7 +184,7 @@ def test_wallet_start_activity_filter_session(self):
181184
1,
182185
lambda signal: signal["event"]["type"] == EventActivityFilteringDone and signal["event"]["requestId"] == sessionID,
183186
)
184-
response = self.rpc_client.rpc_valid_request(method, params, self.request_id)
187+
response = self.rpc_client.rpc_valid_request(method, params)
185188
event_response = self.rpc_client.wait_for_signal("wallet", timeout=10)["event"]
186189

187190
# Check response event

tests-functional/tests/test_wallet_rpc.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import random
21
import pytest
2+
33
from resources.constants import user_1
44

55

@@ -82,7 +82,5 @@ def setup_backend(self, backend_recovered_profile):
8282
],
8383
)
8484
def test_(self, method, params):
85-
_id = str(random.randint(1, 8888))
86-
87-
self.rpc_client.rpc_valid_request(method, params, _id)
85+
self.rpc_client.rpc_valid_request(method, params)
8886
# TODO: Add more assertions on response

tests-functional/tests/test_wallet_signals.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import json
2-
import random
2+
33
import pytest
44

5-
from resources.constants import user_1
65
from clients.signals import SignalType
6+
from resources.constants import user_1
77

88

99
@pytest.mark.wallet
@@ -13,7 +13,6 @@ class TestWalletSignals:
1313

1414
@pytest.fixture(autouse=True)
1515
def setup_backend(self, backend_recovered_profile):
16-
self.request_id = str(random.randint(1, 8888))
1716
self.rpc_client = backend_recovered_profile(name="rpc_client", user=user_1)
1817

1918
@pytest.mark.skip # TODO: returns empty response in most of the cases, so needs to be fixed with attention of required signals in signal_response
@@ -31,7 +30,7 @@ def test_wallet_get_owned_collectibles_async(self):
3130
1,
3231
{"fetch-type": 2, "max-cache-age-seconds": 3600},
3332
]
34-
self.rpc_client.rpc_valid_request(method, params, self.request_id)
33+
self.rpc_client.rpc_valid_request(method, params)
3534
signal_response = self.rpc_client.wait_for_signal(SignalType.WALLET.value, timeout=60)
3635
# TODO: Add more assertions on response
3736
assert signal_response["event"]["type"] == "wallet-owned-collectibles-filtering-done"

0 commit comments

Comments
 (0)