From f056561aecbee393afbeaf83cbba8fc9121578e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=E1=BA=B7c?= Date: Sun, 14 Jan 2024 13:56:57 +0700 Subject: [PATCH] ibchooks testutil --- tests/ibc-hooks/testutils/testing_hooks.go | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/ibc-hooks/testutils/testing_hooks.go diff --git a/tests/ibc-hooks/testutils/testing_hooks.go b/tests/ibc-hooks/testutils/testing_hooks.go new file mode 100644 index 000000000..6c9e1d2a7 --- /dev/null +++ b/tests/ibc-hooks/testutils/testing_hooks.go @@ -0,0 +1,42 @@ +package testutils + +import ( + // external libraries + sdk "github.com/cosmos/cosmos-sdk/types" + + // ibc-go + channeltypes "github.com/cosmos/ibc-go/v6/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v6/modules/core/exported" + + ibchooks "github.com/terra-money/core/v2/x/ibc-hooks" +) + +var ( + _ ibchooks.Hooks = TestRecvOverrideHooks{} + _ ibchooks.Hooks = TestRecvBeforeAfterHooks{} +) + +type Status struct { + OverrideRan bool + BeforeRan bool + AfterRan bool +} + +// Recv +type TestRecvOverrideHooks struct{ Status *Status } + +func (t TestRecvOverrideHooks) OnRecvPacketOverride(im ibchooks.IBCMiddleware, ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) ibcexported.Acknowledgement { + t.Status.OverrideRan = true + ack := im.App.OnRecvPacket(ctx, packet, relayer) + return ack +} + +type TestRecvBeforeAfterHooks struct{ Status *Status } + +func (t TestRecvBeforeAfterHooks) OnRecvPacketBeforeHook(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) { + t.Status.BeforeRan = true +} + +func (t TestRecvBeforeAfterHooks) OnRecvPacketAfterHook(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, ack ibcexported.Acknowledgement) { + t.Status.AfterRan = true +}