|
4 | 4 | import pytest
|
5 | 5 | import time
|
6 | 6 |
|
7 |
| -from async_substrate_interface.substrate_addons import RetrySyncSubstrate |
8 |
| -from async_substrate_interface.errors import MaxRetriesExceeded |
| 7 | +from async_substrate_interface import AsyncSubstrateInterface, SubstrateInterface |
| 8 | +from async_substrate_interface.substrate_addons import ( |
| 9 | + RetrySyncSubstrate, |
| 10 | + RetryAsyncSubstrate, |
| 11 | +) |
| 12 | +from async_substrate_interface.errors import MaxRetriesExceeded, StateDiscardedError |
9 | 13 | from tests.conftest import start_docker_container
|
10 | 14 |
|
11 | 15 | LATENT_LITE_ENTRYPOINT = "wss://lite.sub.latent.to:443"
|
@@ -70,3 +74,28 @@ def test_retry_sync_substrate_offline():
|
70 | 74 | RetrySyncSubstrate(
|
71 | 75 | "ws://127.0.0.1:9945", fallback_chains=["ws://127.0.0.1:9946"]
|
72 | 76 | )
|
| 77 | + |
| 78 | + |
| 79 | +@pytest.mark.asyncio |
| 80 | +async def test_retry_async_subtensor_archive_node(): |
| 81 | + async with AsyncSubstrateInterface("wss://lite.sub.latent.to:443") as substrate: |
| 82 | + current_block = await substrate.get_block_number() |
| 83 | + old_block = current_block - 1000 |
| 84 | + with pytest.raises(StateDiscardedError): |
| 85 | + await substrate.get_block(block_number=old_block) |
| 86 | + async with RetryAsyncSubstrate( |
| 87 | + "wss://lite.sub.latent.to:443", archive_nodes=["ws://178.156.172.75:9944"] |
| 88 | + ) as substrate: |
| 89 | + assert isinstance((await substrate.get_block(block_number=old_block)), dict) |
| 90 | + |
| 91 | + |
| 92 | +def test_retry_sync_subtensor_archive_node(): |
| 93 | + with SubstrateInterface("wss://lite.sub.latent.to:443") as substrate: |
| 94 | + current_block = substrate.get_block_number() |
| 95 | + old_block = current_block - 1000 |
| 96 | + with pytest.raises(StateDiscardedError): |
| 97 | + substrate.get_block(block_number=old_block) |
| 98 | + with RetrySyncSubstrate( |
| 99 | + "wss://lite.sub.latent.to:443", archive_nodes=["ws://178.156.172.75:9944"] |
| 100 | + ) as substrate: |
| 101 | + assert isinstance((substrate.get_block(block_number=old_block)), dict) |
0 commit comments