Skip to content

Commit 5861282

Browse files
committed
add backup test
1 parent dc9b94b commit 5861282

File tree

2 files changed

+63
-2
lines changed

2 files changed

+63
-2
lines changed

.github/workflows/fiber.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jobs:
7979
name: jfoa-open_channel-reports-${{ runner.os }}
8080
path: ./report
8181

82-
fiber_test_accept_channel_cancel_invoice_connect_peer_disconnect_peer:
82+
fiber_test_accept_channel_cancel_invoice_connect_peer_disconnect_peer_backup:
8383
needs: prepare
8484
runs-on: ubuntu-22.04
8585

@@ -106,7 +106,7 @@ jobs:
106106
tar -xzf prepare-backup.tar.gz
107107
108108
- name: Run fiber_test_demo
109-
run: make fiber_test_demo FIBER_TEST_DEMO="test_cases/fiber/devnet/accept_channel test_cases/fiber/devnet/cancel_invoice test_cases/fiber/devnet/connect_peer test_cases/fiber/devnet/disconnect_peer"
109+
run: make fiber_test_demo FIBER_TEST_DEMO="test_cases/fiber/devnet/accept_channel test_cases/fiber/devnet/cancel_invoice test_cases/fiber/devnet/connect_peer test_cases/fiber/devnet/disconnect_peer test_cases/fiber/devnet/backup"
110110

111111
- name: Publish reports
112112
if: failure()
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import shutil
2+
import time
3+
4+
from framework.basic_fiber import FiberTest
5+
6+
7+
class TestBackup(FiberTest):
8+
9+
def test_backup(self):
10+
"""
11+
1. 关闭节点
12+
2. 替换节点
13+
3. 重启,send payment
14+
Returns:
15+
"""
16+
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1)
17+
before_graph_nodes = self.fiber2.get_client().graph_nodes()
18+
self.fiber1.stop()
19+
self.fiber1.prepare({"fiber_listening_addr": "/ip4/127.0.0.1/tcp/8238"})
20+
self.fiber1.start()
21+
time.sleep(5)
22+
after_graph_nodes = self.fiber2.get_client().graph_nodes()
23+
self.send_payment(self.fiber1, self.fiber2, 1)
24+
print(before_graph_nodes)
25+
print(after_graph_nodes)
26+
assert (
27+
after_graph_nodes["nodes"][1]["addresses"]
28+
== self.fiber1.get_client().node_info()["addresses"]
29+
)
30+
31+
def test_backup2(self):
32+
"""
33+
1. 不关闭节点
34+
2. 直接备份数据
35+
3. 重启,send payment
36+
Returns:
37+
"""
38+
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1)
39+
shutil.copytree(
40+
f"{self.fiber1.tmp_path}/fiber", f"{self.fiber1.tmp_path}/fiber.bak"
41+
)
42+
self.fiber1.stop()
43+
shutil.rmtree(f"{self.fiber1.tmp_path}/fiber")
44+
shutil.copytree(
45+
f"{self.fiber1.tmp_path}/fiber.bak", f"{self.fiber1.tmp_path}/fiber"
46+
)
47+
self.fiber1.start()
48+
time.sleep(5)
49+
self.send_payment(self.fiber1, self.fiber2, 1)
50+
51+
def test_backup3(self):
52+
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1)
53+
self.fiber1.stop()
54+
self.fiber1.prepare({"fiber_listening_addr": "/ip4/127.0.0.1/tcp/8238"})
55+
self.fiber1.start("newPassword2")
56+
time.sleep(5)
57+
self.send_payment(self.fiber1, self.fiber2, 1)
58+
self.fiber1.stop()
59+
self.fiber1.start("newPassword2")
60+
time.sleep(5)
61+
self.send_payment(self.fiber1, self.fiber2, 1)

0 commit comments

Comments
 (0)