fix more paychmgr tests
This commit is contained in:
parent
e1634128c1
commit
f00698aafd
@ -748,7 +748,7 @@ func testSetupMgrWithChannel(t *testing.T) *testScaffold {
|
|||||||
Target: toAcct,
|
Target: toAcct,
|
||||||
Direction: DirOutbound,
|
Direction: DirOutbound,
|
||||||
}
|
}
|
||||||
err = mgr.store.putChannelInfo(ci)
|
err = mgr.store.putChannelInfo(context.Background(), ci)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Add the from signing key to the wallet
|
// Add the from signing key to the wallet
|
||||||
|
@ -87,7 +87,7 @@ func TestPaychGetCreateChannelThenAddFunds(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should have no channels yet (message sent but channel not created)
|
// Should have no channels yet (message sent but channel not created)
|
||||||
cis, err := mgr.ListChannels()
|
cis, err := mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 0)
|
require.Len(t, cis, 0)
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ func TestPaychGetCreateChannelThenAddFunds(t *testing.T) {
|
|||||||
require.NotEqual(t, createMsgCid, addFundsMsgCid)
|
require.NotEqual(t, createMsgCid, addFundsMsgCid)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err := mgr.ListChannels()
|
cis, err := mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
@ -121,7 +121,7 @@ func TestPaychGetCreateChannelThenAddFunds(t *testing.T) {
|
|||||||
// channel).
|
// channel).
|
||||||
// PendingAmount should be amount sent in second GetPaych
|
// PendingAmount should be amount sent in second GetPaych
|
||||||
// (second GetPaych triggered add funds, which has not yet been confirmed)
|
// (second GetPaych triggered add funds, which has not yet been confirmed)
|
||||||
ci, err := mgr.GetChannelInfo(ch)
|
ci, err := mgr.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.EqualValues(t, 10, ci.Amount.Int64())
|
require.EqualValues(t, 10, ci.Amount.Int64())
|
||||||
require.EqualValues(t, 5, ci.PendingAmount.Int64())
|
require.EqualValues(t, 5, ci.PendingAmount.Int64())
|
||||||
@ -135,13 +135,13 @@ func TestPaychGetCreateChannelThenAddFunds(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should still have one channel
|
// Should still have one channel
|
||||||
cis, err = mgr.ListChannels()
|
cis, err = mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
|
|
||||||
// Channel amount should include last amount sent to GetPaych
|
// Channel amount should include last amount sent to GetPaych
|
||||||
ci, err = mgr.GetChannelInfo(ch)
|
ci, err = mgr.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.EqualValues(t, 15, ci.Amount.Int64())
|
require.EqualValues(t, 15, ci.Amount.Int64())
|
||||||
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
||||||
@ -203,12 +203,12 @@ func TestPaychGetCreateChannelWithErrorThenCreateAgain(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err := mgr.ListChannels()
|
cis, err := mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
|
|
||||||
ci, err := mgr.GetChannelInfo(ch)
|
ci, err := mgr.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, amt2, ci.Amount)
|
require.Equal(t, amt2, ci.Amount)
|
||||||
}()
|
}()
|
||||||
@ -259,12 +259,12 @@ func TestPaychGetRecoverAfterError(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err := mgr.ListChannels()
|
cis, err := mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
|
|
||||||
ci, err := mgr.GetChannelInfo(ch)
|
ci, err := mgr.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, amt2, ci.Amount)
|
require.Equal(t, amt2, ci.Amount)
|
||||||
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
||||||
@ -311,12 +311,12 @@ func TestPaychGetRecoverAfterAddFundsError(t *testing.T) {
|
|||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err := mgr.ListChannels()
|
cis, err := mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
|
|
||||||
ci, err := mgr.GetChannelInfo(ch)
|
ci, err := mgr.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, amt, ci.Amount)
|
require.Equal(t, amt, ci.Amount)
|
||||||
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
||||||
@ -338,13 +338,13 @@ func TestPaychGetRecoverAfterAddFundsError(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err = mgr.ListChannels()
|
cis, err = mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
|
|
||||||
// Amount should include amount for successful add funds msg
|
// Amount should include amount for successful add funds msg
|
||||||
ci, err = mgr.GetChannelInfo(ch)
|
ci, err = mgr.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, amt.Int64()+amt3.Int64(), ci.Amount.Int64())
|
require.Equal(t, amt.Int64()+amt3.Int64(), ci.Amount.Int64())
|
||||||
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
||||||
@ -384,7 +384,7 @@ func TestPaychGetRestartAfterCreateChannelMsg(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should have no channels yet (message sent but channel not created)
|
// Should have no channels yet (message sent but channel not created)
|
||||||
cis, err := mgr2.ListChannels()
|
cis, err := mgr2.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 0)
|
require.Len(t, cis, 0)
|
||||||
|
|
||||||
@ -409,7 +409,7 @@ func TestPaychGetRestartAfterCreateChannelMsg(t *testing.T) {
|
|||||||
require.NotEqual(t, createMsgCid, addFundsMsgCid)
|
require.NotEqual(t, createMsgCid, addFundsMsgCid)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err := mgr2.ListChannels()
|
cis, err := mgr2.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
@ -418,7 +418,7 @@ func TestPaychGetRestartAfterCreateChannelMsg(t *testing.T) {
|
|||||||
// channel).
|
// channel).
|
||||||
// PendingAmount should be amount sent in second GetPaych
|
// PendingAmount should be amount sent in second GetPaych
|
||||||
// (second GetPaych triggered add funds, which has not yet been confirmed)
|
// (second GetPaych triggered add funds, which has not yet been confirmed)
|
||||||
ci, err := mgr2.GetChannelInfo(ch)
|
ci, err := mgr2.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.EqualValues(t, 10, ci.Amount.Int64())
|
require.EqualValues(t, 10, ci.Amount.Int64())
|
||||||
require.EqualValues(t, 5, ci.PendingAmount.Int64())
|
require.EqualValues(t, 5, ci.PendingAmount.Int64())
|
||||||
@ -481,13 +481,13 @@ func TestPaychGetRestartAfterAddFundsMsg(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Should have one channel, whose address is the channel that was created
|
// Should have one channel, whose address is the channel that was created
|
||||||
cis, err := mgr2.ListChannels()
|
cis, err := mgr2.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 1)
|
require.Len(t, cis, 1)
|
||||||
require.Equal(t, ch, cis[0])
|
require.Equal(t, ch, cis[0])
|
||||||
|
|
||||||
// Amount should include amount for successful add funds msg
|
// Amount should include amount for successful add funds msg
|
||||||
ci, err := mgr2.GetChannelInfo(ch)
|
ci, err := mgr2.GetChannelInfo(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, amt.Int64()+amt2.Int64(), ci.Amount.Int64())
|
require.Equal(t, amt.Int64()+amt2.Int64(), ci.Amount.Int64())
|
||||||
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
require.EqualValues(t, 0, ci.PendingAmount.Int64())
|
||||||
@ -917,7 +917,7 @@ func TestPaychAvailableFunds(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// No channel created yet so available funds should be all zeroes
|
// No channel created yet so available funds should be all zeroes
|
||||||
av, err := mgr.AvailableFundsByFromTo(from, to)
|
av, err := mgr.AvailableFundsByFromTo(ctx, from, to)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Nil(t, av.Channel)
|
require.Nil(t, av.Channel)
|
||||||
require.Nil(t, av.PendingWaitSentinel)
|
require.Nil(t, av.PendingWaitSentinel)
|
||||||
@ -932,7 +932,7 @@ func TestPaychAvailableFunds(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Available funds should reflect create channel message sent
|
// Available funds should reflect create channel message sent
|
||||||
av, err = mgr.AvailableFundsByFromTo(from, to)
|
av, err = mgr.AvailableFundsByFromTo(ctx, from, to)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Nil(t, av.Channel)
|
require.Nil(t, av.Channel)
|
||||||
require.EqualValues(t, 0, av.ConfirmedAmt.Int64())
|
require.EqualValues(t, 0, av.ConfirmedAmt.Int64())
|
||||||
@ -961,7 +961,7 @@ func TestPaychAvailableFunds(t *testing.T) {
|
|||||||
waitForQueueSize(t, mgr, from, to, 1)
|
waitForQueueSize(t, mgr, from, to, 1)
|
||||||
|
|
||||||
// Available funds should now include queued funds
|
// Available funds should now include queued funds
|
||||||
av, err = mgr.AvailableFundsByFromTo(from, to)
|
av, err = mgr.AvailableFundsByFromTo(ctx, from, to)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Nil(t, av.Channel)
|
require.Nil(t, av.Channel)
|
||||||
require.NotNil(t, av.PendingWaitSentinel)
|
require.NotNil(t, av.PendingWaitSentinel)
|
||||||
@ -996,7 +996,7 @@ func TestPaychAvailableFunds(t *testing.T) {
|
|||||||
|
|
||||||
// Available funds should now include the channel and also a wait sentinel
|
// Available funds should now include the channel and also a wait sentinel
|
||||||
// for the add funds message
|
// for the add funds message
|
||||||
av, err = mgr.AvailableFunds(ch)
|
av, err = mgr.AvailableFunds(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, av.Channel)
|
require.NotNil(t, av.Channel)
|
||||||
require.NotNil(t, av.PendingWaitSentinel)
|
require.NotNil(t, av.PendingWaitSentinel)
|
||||||
@ -1018,7 +1018,7 @@ func TestPaychAvailableFunds(t *testing.T) {
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Available funds should no longer have a wait sentinel
|
// Available funds should no longer have a wait sentinel
|
||||||
av, err = mgr.AvailableFunds(ch)
|
av, err = mgr.AvailableFunds(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, av.Channel)
|
require.NotNil(t, av.Channel)
|
||||||
require.Nil(t, av.PendingWaitSentinel)
|
require.Nil(t, av.PendingWaitSentinel)
|
||||||
@ -1039,7 +1039,7 @@ func TestPaychAvailableFunds(t *testing.T) {
|
|||||||
_, err = mgr.AddVoucherOutbound(ctx, ch, voucher, nil, types.NewInt(0))
|
_, err = mgr.AddVoucherOutbound(ctx, ch, voucher, nil, types.NewInt(0))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
av, err = mgr.AvailableFunds(ch)
|
av, err = mgr.AvailableFunds(ctx, ch)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, av.Channel)
|
require.NotNil(t, av.Channel)
|
||||||
require.Nil(t, av.PendingWaitSentinel)
|
require.Nil(t, av.PendingWaitSentinel)
|
||||||
|
@ -63,7 +63,7 @@ func TestPaychSettle(t *testing.T) {
|
|||||||
require.NotEqual(t, ch, ch2)
|
require.NotEqual(t, ch, ch2)
|
||||||
|
|
||||||
// There should now be two channels
|
// There should now be two channels
|
||||||
cis, err := mgr.ListChannels()
|
cis, err := mgr.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, cis, 2)
|
require.Len(t, cis, 2)
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package paychmgr
|
package paychmgr
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-address"
|
"github.com/filecoin-project/go-address"
|
||||||
@ -12,8 +13,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestStore(t *testing.T) {
|
func TestStore(t *testing.T) {
|
||||||
|
ctx := context.Background()
|
||||||
|
|
||||||
store := NewStore(ds_sync.MutexWrap(ds.NewMapDatastore()))
|
store := NewStore(ds_sync.MutexWrap(ds.NewMapDatastore()))
|
||||||
addrs, err := store.ListChannels()
|
addrs, err := store.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, addrs, 0)
|
require.Len(t, addrs, 0)
|
||||||
|
|
||||||
@ -38,19 +41,19 @@ func TestStore(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Track the channel
|
// Track the channel
|
||||||
_, err = store.TrackChannel(ci)
|
_, err = store.TrackChannel(ctx, ci)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Tracking same channel again should error
|
// Tracking same channel again should error
|
||||||
_, err = store.TrackChannel(ci)
|
_, err = store.TrackChannel(ctx, ci)
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
|
|
||||||
// Track another channel
|
// Track another channel
|
||||||
_, err = store.TrackChannel(ci2)
|
_, err = store.TrackChannel(ctx, ci2)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// List channels should include all channels
|
// List channels should include all channels
|
||||||
addrs, err = store.ListChannels()
|
addrs, err = store.ListChannels(ctx)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, addrs, 2)
|
require.Len(t, addrs, 2)
|
||||||
t0100, err := address.NewIDAddress(100)
|
t0100, err := address.NewIDAddress(100)
|
||||||
@ -61,25 +64,25 @@ func TestStore(t *testing.T) {
|
|||||||
require.Contains(t, addrs, t0200)
|
require.Contains(t, addrs, t0200)
|
||||||
|
|
||||||
// Request vouchers for channel
|
// Request vouchers for channel
|
||||||
vouchers, err := store.VouchersForPaych(*ci.Channel)
|
vouchers, err := store.VouchersForPaych(ctx, *ci.Channel)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Len(t, vouchers, 1)
|
require.Len(t, vouchers, 1)
|
||||||
|
|
||||||
// Requesting voucher for non-existent channel should error
|
// Requesting voucher for non-existent channel should error
|
||||||
_, err = store.VouchersForPaych(tutils.NewIDAddr(t, 300))
|
_, err = store.VouchersForPaych(ctx, tutils.NewIDAddr(t, 300))
|
||||||
require.Equal(t, err, ErrChannelNotTracked)
|
require.Equal(t, err, ErrChannelNotTracked)
|
||||||
|
|
||||||
// Allocate lane for channel
|
// Allocate lane for channel
|
||||||
lane, err := store.AllocateLane(*ci.Channel)
|
lane, err := store.AllocateLane(ctx, *ci.Channel)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, lane, uint64(0))
|
require.Equal(t, lane, uint64(0))
|
||||||
|
|
||||||
// Allocate next lane for channel
|
// Allocate next lane for channel
|
||||||
lane, err = store.AllocateLane(*ci.Channel)
|
lane, err = store.AllocateLane(ctx, *ci.Channel)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, lane, uint64(1))
|
require.Equal(t, lane, uint64(1))
|
||||||
|
|
||||||
// Allocate next lane for non-existent channel should error
|
// Allocate next lane for non-existent channel should error
|
||||||
_, err = store.AllocateLane(tutils.NewIDAddr(t, 300))
|
_, err = store.AllocateLane(ctx, tutils.NewIDAddr(t, 300))
|
||||||
require.Equal(t, err, ErrChannelNotTracked)
|
require.Equal(t, err, ErrChannelNotTracked)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user