mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2025-04-02 22:45:41 +00:00
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
|
|
from test_framework.test_framework import TestFramework
|
|
from utility.utils import wait_until
|
|
|
|
|
|
class AutoSyncHistoricalTest(TestFramework):
|
|
def setup_params(self):
|
|
self.num_nodes = 4
|
|
|
|
# Enable auto sync
|
|
for i in range(self.num_nodes):
|
|
self.zgs_node_configs[i] = {"sync": {"auto_sync_enabled": True}}
|
|
|
|
def run_test(self):
|
|
# Stop the last node to verify historical file sync
|
|
self.stop_storage_node(self.num_nodes - 1)
|
|
|
|
# Submit and upload files on node 0
|
|
data_root_1 = self.__upload_file__(0, 256 * 1024)
|
|
data_root_2 = self.__upload_file__(0, 256 * 1024)
|
|
|
|
# Files should be available on other nodes via auto sync
|
|
for i in range(1, self.num_nodes - 1):
|
|
wait_until(lambda: self.nodes[i].zgs_get_file_info(data_root_1) is not None)
|
|
wait_until(
|
|
lambda: self.nodes[i].zgs_get_file_info(data_root_1)["finalized"]
|
|
)
|
|
wait_until(lambda: self.nodes[i].zgs_get_file_info(data_root_2) is not None)
|
|
wait_until(
|
|
lambda: self.nodes[i].zgs_get_file_info(data_root_2)["finalized"]
|
|
)
|
|
|
|
# Start the last node to verify historical file sync
|
|
self.start_storage_node(self.num_nodes - 1)
|
|
self.nodes[self.num_nodes - 1].wait_for_rpc_connection()
|
|
wait_until(
|
|
lambda: self.nodes[self.num_nodes - 1].zgs_get_file_info(data_root_1)
|
|
is not None
|
|
)
|
|
wait_until(
|
|
lambda: self.nodes[self.num_nodes - 1].zgs_get_file_info(data_root_1)[
|
|
"finalized"
|
|
]
|
|
)
|
|
wait_until(
|
|
lambda: self.nodes[self.num_nodes - 1].zgs_get_file_info(data_root_2)
|
|
is not None
|
|
)
|
|
wait_until(
|
|
lambda: self.nodes[self.num_nodes - 1].zgs_get_file_info(data_root_2)[
|
|
"finalized"
|
|
]
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
AutoSyncHistoricalTest().main()
|