forked from multiversx/mx-sdk-py-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_proxy.py
More file actions
46 lines (36 loc) · 1.59 KB
/
test_proxy.py
File metadata and controls
46 lines (36 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from multiversx_sdk import Address, NetworkProviderConfig, ProxyNetworkProvider
from multiversx_sdk_cli.cli import main
from multiversx_sdk_cli.config import get_config_for_network_providers
def test_sync_nonce():
account = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")
config = get_config_for_network_providers()
proxy = ProxyNetworkProvider("https://testnet-api.multiversx.com", config=config)
nonce = proxy.get_account(account).nonce
assert True if nonce else False
def test_query_contract():
result = main(
[
"contract",
"query",
"erd1qqqqqqqqqqqqqpgq6qr0w0zzyysklfneh32eqp2cf383zc89d8sstnkl60",
"--function",
"getSum",
"--proxy",
"https://devnet-api.multiversx.com",
]
)
assert False if result else True
def test_proxy_extra_headers():
from unittest.mock import MagicMock, patch
config = NetworkProviderConfig(requests_options={"headers": {"x-custom-header": "test"}})
proxy = ProxyNetworkProvider("", config=config)
def echo_headers(url, **kwargs):
received_headers = kwargs.get("headers", {})
mock_resp = MagicMock()
mock_resp.status_code = 200
mock_resp.json.return_value = {"data": {"headers": received_headers}, "error": "", "code": "successful"}
return mock_resp
with patch("requests.Session.get", side_effect=echo_headers):
response = proxy.do_get_generic("headers")
headers = response.get("headers", {})
assert headers["x-custom-header"] == "test"