Skip to content

Commit e59d8b8

Browse files
committed
Update infura tests for websockets & refactor
1 parent 17bf33b commit e59d8b8

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

tests/core/providers/test_auto_provider.py

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,42 +42,57 @@ def test_load_provider_from_env(monkeypatch, uri, expected_type, expected_attrs)
4242
assert getattr(provider, attr) == val
4343

4444

45-
def test_web3_auto_infura_empty_key(monkeypatch, caplog):
46-
monkeypatch.setenv('INFURA_API_KEY', '')
45+
@pytest.mark.parametrize('environ_name', ['INFURA_API_KEY', 'WEB3_INFURA_API_KEY'])
46+
def test_web3_auto_infura_empty_key(monkeypatch, caplog, environ_name):
47+
monkeypatch.setenv('WEB3_INFURA_SCHEME', 'https')
48+
monkeypatch.setenv(environ_name, '')
4749

4850
importlib.reload(infura)
4951
assert len(caplog.record_tuples) == 1
5052
logger, level, msg = caplog.record_tuples[0]
51-
assert 'INFURA_API_KEY' in msg
53+
assert 'WEB3_INFURA_API_KEY' in msg
5254
assert level == logging.WARNING
5355

5456
w3 = infura.w3
5557
assert isinstance(w3.providers[0], HTTPProvider)
56-
assert getattr(w3.providers[0], 'endpoint_uri') == infura.INFURA_MAINNET_BASE_URL
58+
assert getattr(w3.providers[0], 'endpoint_uri') == 'https://mainnet.infura.io/'
5759

5860

59-
def test_web3_auto_infura_missing_key(monkeypatch, caplog):
60-
monkeypatch.delenv('INFURA_API_KEY', raising=False)
61+
@pytest.mark.parametrize('environ_name', ['INFURA_API_KEY', 'WEB3_INFURA_API_KEY'])
62+
def test_web3_auto_infura_deleted_key(monkeypatch, caplog, environ_name):
63+
monkeypatch.setenv('WEB3_INFURA_SCHEME', 'https')
64+
monkeypatch.delenv(environ_name, raising=False)
6165

6266
importlib.reload(infura)
6367
assert len(caplog.record_tuples) == 1
6468
logger, level, msg = caplog.record_tuples[0]
65-
assert 'INFURA_API_KEY' in msg
69+
assert 'WEB3_INFURA_API_KEY' in msg
6670
assert level == logging.WARNING
6771

6872
w3 = infura.w3
6973
assert isinstance(w3.providers[0], HTTPProvider)
70-
assert getattr(w3.providers[0], 'endpoint_uri') == infura.INFURA_MAINNET_BASE_URL
74+
assert getattr(w3.providers[0], 'endpoint_uri') == 'https://mainnet.infura.io/'
7175

7276

73-
def test_web3_auto_infura(monkeypatch, caplog):
77+
@pytest.mark.parametrize('environ_name', ['INFURA_API_KEY', 'WEB3_INFURA_API_KEY'])
78+
def test_web3_auto_infura(monkeypatch, caplog, environ_name):
79+
monkeypatch.setenv('WEB3_INFURA_SCHEME', 'https')
7480
API_KEY = 'aoeuhtns'
75-
monkeypatch.setenv('INFURA_API_KEY', API_KEY)
76-
expected_url = '%s/%s' % (infura.INFURA_MAINNET_BASE_URL, API_KEY)
81+
monkeypatch.setenv(environ_name, API_KEY)
82+
expected_url = 'https://%s/%s' % (infura.INFURA_MAINNET_DOMAIN, API_KEY)
7783

7884
importlib.reload(infura)
7985
assert len(caplog.record_tuples) == 0
8086

8187
w3 = infura.w3
8288
assert isinstance(w3.providers[0], HTTPProvider)
8389
assert getattr(w3.providers[0], 'endpoint_uri') == expected_url
90+
91+
92+
def test_web3_auto_infura_websocket_default(caplog):
93+
importlib.reload(infura)
94+
assert len(caplog.record_tuples) == 0
95+
96+
w3 = infura.w3
97+
assert isinstance(w3.providers[0], WebsocketProvider)
98+
assert getattr(w3.providers[0], 'endpoint_uri') == 'wss://mainnet.infura.io/ws'

0 commit comments

Comments
 (0)