@@ -33,44 +33,74 @@ def test_load_provider_from_env(monkeypatch, uri, expected_type, expected_attrs)
33
33
assert getattr (provider , attr ) == val
34
34
35
35
36
- @pytest .mark .parametrize ('environ_name' , ['INFURA_API_KEY ' , 'WEB3_INFURA_API_KEY ' ])
36
+ @pytest .mark .parametrize ('environ_name' , ['WEB3_INFURA_API_KEY ' , 'WEB3_INFURA_PROJECT_ID ' ])
37
37
def test_web3_auto_infura_empty_key (monkeypatch , caplog , environ_name ):
38
38
monkeypatch .setenv ('WEB3_INFURA_SCHEME' , 'https' )
39
39
monkeypatch .setenv (environ_name , '' )
40
40
41
41
importlib .reload (infura )
42
42
assert len (caplog .record_tuples ) == 1
43
43
logger , level , msg = caplog .record_tuples [0 ]
44
- assert 'WEB3_INFURA_API_KEY ' in msg
44
+ assert 'WEB3_INFURA_PROJECT_ID ' in msg
45
45
assert level == logging .WARNING
46
46
47
47
w3 = infura .w3
48
48
assert isinstance (w3 .provider , HTTPProvider )
49
49
assert getattr (w3 .provider , 'endpoint_uri' ) == 'https://mainnet.infura.io/'
50
50
51
51
52
- @pytest .mark .parametrize ('environ_name' , ['INFURA_API_KEY ' , 'WEB3_INFURA_API_KEY ' ])
52
+ @pytest .mark .parametrize ('environ_name' , ['WEB3_INFURA_API_KEY ' , 'WEB3_INFURA_PROJECT_ID ' ])
53
53
def test_web3_auto_infura_deleted_key (monkeypatch , caplog , environ_name ):
54
54
monkeypatch .setenv ('WEB3_INFURA_SCHEME' , 'https' )
55
55
monkeypatch .delenv (environ_name , raising = False )
56
56
57
57
importlib .reload (infura )
58
58
assert len (caplog .record_tuples ) == 1
59
59
logger , level , msg = caplog .record_tuples [0 ]
60
- assert 'WEB3_INFURA_API_KEY ' in msg
60
+ assert 'WEB3_INFURA_PROJECT_ID ' in msg
61
61
assert level == logging .WARNING
62
62
63
63
w3 = infura .w3
64
64
assert isinstance (w3 .provider , HTTPProvider )
65
65
assert getattr (w3 .provider , 'endpoint_uri' ) == 'https://mainnet.infura.io/'
66
66
67
67
68
- @pytest .mark .parametrize ('environ_name' , ['INFURA_API_KEY' , 'WEB3_INFURA_API_KEY' ])
68
+ @pytest .mark .parametrize ('environ_name' , ['WEB3_INFURA_API_KEY' , 'WEB3_INFURA_PROJECT_ID' ])
69
+ def test_web3_auto_infura_websocket_empty_key (monkeypatch , caplog , environ_name ):
70
+ monkeypatch .setenv (environ_name , '' )
71
+
72
+ importlib .reload (infura )
73
+ assert len (caplog .record_tuples ) == 1
74
+ logger , level , msg = caplog .record_tuples [0 ]
75
+ assert 'WEB3_INFURA_PROJECT_ID' in msg
76
+ assert level == logging .WARNING
77
+
78
+ w3 = infura .w3
79
+ assert isinstance (w3 .provider , WebsocketProvider )
80
+ assert getattr (w3 .provider , 'endpoint_uri' ) == 'wss://mainnet.infura.io/ws/'
81
+
82
+
83
+ @pytest .mark .parametrize ('environ_name' , ['WEB3_INFURA_API_KEY' , 'WEB3_INFURA_PROJECT_ID' ])
84
+ def test_web3_auto_infura_websocket_deleted_key (monkeypatch , caplog , environ_name ):
85
+ monkeypatch .delenv (environ_name , raising = False )
86
+
87
+ importlib .reload (infura )
88
+ assert len (caplog .record_tuples ) == 1
89
+ logger , level , msg = caplog .record_tuples [0 ]
90
+ assert 'WEB3_INFURA_PROJECT_ID' in msg
91
+ assert level == logging .WARNING
92
+
93
+ w3 = infura .w3
94
+ assert isinstance (w3 .provider , WebsocketProvider )
95
+ assert getattr (w3 .provider , 'endpoint_uri' ) == 'wss://mainnet.infura.io/ws/'
96
+
97
+
98
+ @pytest .mark .parametrize ('environ_name' , ['WEB3_INFURA_API_KEY' , 'WEB3_INFURA_PROJECT_ID' ])
69
99
def test_web3_auto_infura (monkeypatch , caplog , environ_name ):
70
100
monkeypatch .setenv ('WEB3_INFURA_SCHEME' , 'https' )
71
101
API_KEY = 'aoeuhtns'
72
102
monkeypatch .setenv (environ_name , API_KEY )
73
- expected_url = 'https://%s/%s' % (infura .INFURA_MAINNET_DOMAIN , API_KEY )
103
+ expected_url = 'https://%s/v3/ %s' % (infura .INFURA_MAINNET_DOMAIN , API_KEY )
74
104
75
105
importlib .reload (infura )
76
106
assert len (caplog .record_tuples ) == 0
@@ -80,10 +110,16 @@ def test_web3_auto_infura(monkeypatch, caplog, environ_name):
80
110
assert getattr (w3 .provider , 'endpoint_uri' ) == expected_url
81
111
82
112
83
- def test_web3_auto_infura_websocket_default (caplog ):
113
+ @pytest .mark .parametrize ('environ_name' , ['WEB3_INFURA_API_KEY' , 'WEB3_INFURA_PROJECT_ID' ])
114
+ def test_web3_auto_infura_websocket_default (monkeypatch , caplog , environ_name ):
115
+ monkeypatch .setenv ('WEB3_INFURA_SCHEME' , 'wss' )
116
+ API_KEY = 'aoeuhtns'
117
+ monkeypatch .setenv (environ_name , API_KEY )
118
+ expected_url = 'wss://%s/ws/v3/%s' % (infura .INFURA_MAINNET_DOMAIN , API_KEY )
119
+
84
120
importlib .reload (infura )
85
121
assert len (caplog .record_tuples ) == 0
86
122
87
123
w3 = infura .w3
88
124
assert isinstance (w3 .provider , WebsocketProvider )
89
- assert getattr (w3 .provider , 'endpoint_uri' ) == 'wss://mainnet.infura.io/ws'
125
+ assert getattr (w3 .provider , 'endpoint_uri' ) == expected_url
0 commit comments