Skip to content

Commit d688023

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

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
@@ -938,7 +938,7 @@ def wait_for_event(node):
938938
assert(event2['cause'] == "remote")
939939
assert(event2['message'] == "Closing complete")
940940

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

943943
event1 = wait_for_event(l1)
944944
assert(event1['old_state'] == "CLOSINGD_COMPLETE")
@@ -962,6 +962,18 @@ def wait_for_event(node):
962962
assert(event2['cause'] == "remote")
963963
assert(event2['message'] == "Onchain init reply")
964964

965+
bitcoind.generate_block(1)
966+
event1 = wait_for_event(l1)
967+
assert(event1['old_state'] == "ONCHAIN")
968+
assert(event1['new_state'] == "CLOSED")
969+
assert(event1['cause'] == "onchain")
970+
assert(event1['message'] is None)
971+
event2 = wait_for_event(l2)
972+
assert(event2['old_state'] == "ONCHAIN")
973+
assert(event2['new_state'] == "CLOSED")
974+
assert(event2['cause'] == "onchain")
975+
assert(event2['message'] is None)
976+
965977

966978
@pytest.mark.openchannel('v1')
967979
@pytest.mark.openchannel('v2')
@@ -1056,8 +1068,8 @@ def wait_for_event(node):
10561068
assert(event1['cause'] == "protocol")
10571069
assert(event1['message'] == "channeld: received ERROR channel {}: Forcibly closed by `close` command timeout".format(cid))
10581070

1059-
# settle the channel closure
1060-
bitcoind.generate_block(100)
1071+
# Almost settle the channel closure
1072+
bitcoind.generate_block(99, wait_for_mempool=1)
10611073

10621074
event2 = wait_for_event(l2)
10631075
assert(event2['old_state'] == "AWAITING_UNILATERAL")
@@ -1085,6 +1097,19 @@ def wait_for_event(node):
10851097
assert(event1['cause'] == "onchain")
10861098
assert(event1['message'] == "Onchain init reply")
10871099

1100+
bitcoind.generate_block(1)
1101+
event1 = wait_for_event(l1)
1102+
assert(event1['old_state'] == "ONCHAIN")
1103+
assert(event1['new_state'] == "CLOSED")
1104+
assert(event1['cause'] == "onchain")
1105+
assert(event1['message'] is None)
1106+
1107+
event2 = wait_for_event(l2)
1108+
assert(event2['old_state'] == "ONCHAIN")
1109+
assert(event2['new_state'] == "CLOSED")
1110+
assert(event2['cause'] == "onchain")
1111+
assert(event2['message'] is None)
1112+
10881113

10891114
@pytest.mark.openchannel('v1')
10901115
@pytest.mark.openchannel('v2')

0 commit comments

Comments
 (0)