Skip to content

Commit 6724f93

Browse files
committed
pytest: add tests for channel_state_changed into the CLOSED state.
Signed-off-by: Rusty Russell <[email protected]>
1 parent 88394c4 commit 6724f93

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

tests/test_plugin.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,7 @@ def wait_for_event(node):
940940
assert(event2['cause'] == "remote")
941941
assert(event2['message'] == "Closing complete")
942942

943-
bitcoind.generate_block(100, wait_for_mempool=1) # so it gets settled
943+
bitcoind.generate_block(99, wait_for_mempool=1) # so it gets settled
944944

945945
event1 = wait_for_event(l1)
946946
assert(event1['old_state'] == "CLOSINGD_COMPLETE")
@@ -964,6 +964,18 @@ def wait_for_event(node):
964964
assert(event2['cause'] == "remote")
965965
assert(event2['message'] == "Onchain init reply")
966966

967+
bitcoind.generate_block(1)
968+
event1 = wait_for_event(l1)
969+
assert(event1['old_state'] == "ONCHAIN")
970+
assert(event1['new_state'] == "CLOSED")
971+
assert(event1['cause'] == "unknown")
972+
assert('message' not in event1)
973+
event2 = wait_for_event(l2)
974+
assert(event2['old_state'] == "ONCHAIN")
975+
assert(event2['new_state'] == "CLOSED")
976+
assert(event2['cause'] == "unknown")
977+
assert('message' not in event2)
978+
967979

968980
@pytest.mark.openchannel('v1')
969981
@pytest.mark.openchannel('v2')
@@ -1058,8 +1070,8 @@ def wait_for_event(node):
10581070
assert(event1['cause'] == "protocol")
10591071
assert(event1['message'] == "channeld: received ERROR channel {}: Forcibly closed by `close` command timeout".format(cid))
10601072

1061-
# settle the channel closure
1062-
bitcoind.generate_block(100)
1073+
# Almost settle the channel closure
1074+
bitcoind.generate_block(99, wait_for_mempool=1)
10631075

10641076
event2 = wait_for_event(l2)
10651077
assert(event2['old_state'] == "AWAITING_UNILATERAL")
@@ -1087,6 +1099,19 @@ def wait_for_event(node):
10871099
assert(event1['cause'] == "onchain")
10881100
assert(event1['message'] == "Onchain init reply")
10891101

1102+
bitcoind.generate_block(1)
1103+
event1 = wait_for_event(l1)
1104+
assert(event1['old_state'] == "ONCHAIN")
1105+
assert(event1['new_state'] == "CLOSED")
1106+
assert(event1['cause'] == "unknown")
1107+
assert('message' not in event1)
1108+
1109+
event2 = wait_for_event(l2)
1110+
assert(event2['old_state'] == "ONCHAIN")
1111+
assert(event2['new_state'] == "CLOSED")
1112+
assert(event2['cause'] == "unknown")
1113+
assert('message' not in event2)
1114+
10901115

10911116
@pytest.mark.openchannel('v1')
10921117
@pytest.mark.openchannel('v2')

0 commit comments

Comments
 (0)