Skip to content

add max fee test #94

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/fiber.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
name: jfoa-open_channel-reports-${{ runner.os }}
path: ./report

fiber_test_accept_channel_cancel_invoice_connect_peer_disconnect_peer:
fiber_test_accept_channel_cancel_invoice_connect_peer_disconnect_peer_backup:
needs: prepare
runs-on: ubuntu-22.04

Expand All @@ -106,7 +106,7 @@ jobs:
tar -xzf prepare-backup.tar.gz

- name: Run fiber_test_demo
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"
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"

- name: Publish reports
if: failure()
Expand Down
61 changes: 61 additions & 0 deletions test_cases/fiber/devnet/backup/test_backup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import shutil
import time

from framework.basic_fiber import FiberTest


class TestBackup(FiberTest):

def test_backup(self):
"""
1. 关闭节点
2. 替换节点
3. 重启,send payment
Returns:
"""
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1)
before_graph_nodes = self.fiber2.get_client().graph_nodes()
self.fiber1.stop()
self.fiber1.prepare({"fiber_listening_addr": "/ip4/127.0.0.1/tcp/8238"})
self.fiber1.start()
time.sleep(5)
after_graph_nodes = self.fiber2.get_client().graph_nodes()
self.send_payment(self.fiber1, self.fiber2, 1)
print(before_graph_nodes)
print(after_graph_nodes)
assert (
after_graph_nodes["nodes"][1]["addresses"]
== self.fiber1.get_client().node_info()["addresses"]
)

def test_backup2(self):
"""
1. 不关闭节点
2. 直接备份数据
3. 重启,send payment
Returns:
"""
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1)
shutil.copytree(
f"{self.fiber1.tmp_path}/fiber", f"{self.fiber1.tmp_path}/fiber.bak"
)
self.fiber1.stop()
shutil.rmtree(f"{self.fiber1.tmp_path}/fiber")
shutil.copytree(
f"{self.fiber1.tmp_path}/fiber.bak", f"{self.fiber1.tmp_path}/fiber"
)
self.fiber1.start()
time.sleep(5)
self.send_payment(self.fiber1, self.fiber2, 1)

def test_backup3(self):
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1)
self.fiber1.stop()
self.fiber1.prepare({"fiber_listening_addr": "/ip4/127.0.0.1/tcp/8238"})
self.fiber1.start("newPassword2")
time.sleep(5)
self.send_payment(self.fiber1, self.fiber2, 1)
self.fiber1.stop()
self.fiber1.start("newPassword2")
time.sleep(5)
self.send_payment(self.fiber1, self.fiber2, 1)
35 changes: 27 additions & 8 deletions test_cases/fiber/devnet/send_payment/params/test_max_fee_amount.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,30 @@ def test_fee(self):
)
self.wait_payment_state(self.fiber1, payment1["payment_hash"])

#
#
# def test_max_fee_amount_is_none(self):
# """
# max_fee_amount == node 代表什么
# Returns:
#
# """
@pytest.mark.skip(reason="panic")
def test_max_fee_0xffffffffffffffffffffffffffffffff(self):
self.open_channel(self.fiber1, self.fiber2, 1000 * 100000000, 1000 * 100000000)
invoice = self.fiber1.get_client().new_invoice(
{
"amount": hex(1 * 100000000),
"currency": "Fibd",
"description": "test invoice generated by node2",
"expiry": "0xe10",
"final_cltv": "0x28",
"payment_preimage": self.generate_random_preimage(),
"hash_algorithm": "sha256",
}
)
with pytest.raises(Exception) as exc_info:
self.fiber2.get_client().send_payment(
{
"invoice": invoice["invoice_address"],
"max_fee_amount": "0xffffffffffffffffffffffffffffffff",
}
)
expected_error_message = ""
assert expected_error_message in exc_info.value.args[0], (
f"Expected substring '{expected_error_message}' "
f"not found in actual string '{exc_info.value.args[0]}'"
)
self.fiber2.get_client().node_info()
Loading