test: add additional actor events checks
This commit is contained in:
parent
5e8cf36e7c
commit
b91da8eb32
@ -232,6 +232,20 @@ func TestOnboardRawPieceVerified_WithActorEvents(t *testing.T) {
|
|||||||
require.ElementsMatch(t, expectedEntries, allocationEvents[1].Entries)
|
require.ElementsMatch(t, expectedEntries, allocationEvents[1].Entries)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
allocationEvents := filterEvents(eventsFromMessages, "allocation-removed")
|
||||||
|
require.Len(t, allocationEvents, 1)
|
||||||
|
|
||||||
|
// manual removal of the bogus allocation
|
||||||
|
expectedEntries := []types.EventEntry{
|
||||||
|
{Flags: 0x03, Codec: uint64(multicodec.Cbor), Key: "$type", Value: must.One(ipld.Encode(basicnode.NewString("allocation-removed"), dagcbor.Encode))},
|
||||||
|
{Flags: 0x03, Codec: uint64(multicodec.Cbor), Key: "id", Value: must.One(ipld.Encode(basicnode.NewInt(int64(allocationId)-1), dagcbor.Encode))},
|
||||||
|
{Flags: 0x03, Codec: uint64(multicodec.Cbor), Key: "provider", Value: must.One(ipld.Encode(basicnode.NewInt(int64(minerId)), dagcbor.Encode))},
|
||||||
|
{Flags: 0x03, Codec: uint64(multicodec.Cbor), Key: "client", Value: must.One(ipld.Encode(basicnode.NewInt(int64(clientId)), dagcbor.Encode))},
|
||||||
|
}
|
||||||
|
require.ElementsMatch(t, expectedEntries, allocationEvents[0].Entries)
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
claimEvents := filterEvents(eventsFromMessages, "claim")
|
claimEvents := filterEvents(eventsFromMessages, "claim")
|
||||||
require.Len(t, claimEvents, 1)
|
require.Len(t, claimEvents, 1)
|
||||||
|
@ -2,10 +2,15 @@
|
|||||||
package itests
|
package itests
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/ipld/go-ipld-prime"
|
||||||
|
"github.com/ipld/go-ipld-prime/codec/dagcbor"
|
||||||
|
"github.com/ipld/go-ipld-prime/node/basicnode"
|
||||||
|
"github.com/multiformats/go-multicodec"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/filecoin-project/go-bitfield"
|
"github.com/filecoin-project/go-bitfield"
|
||||||
@ -13,6 +18,7 @@ import (
|
|||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/types"
|
"github.com/filecoin-project/lotus/chain/types"
|
||||||
"github.com/filecoin-project/lotus/itests/kit"
|
"github.com/filecoin-project/lotus/itests/kit"
|
||||||
|
"github.com/filecoin-project/lotus/lib/must"
|
||||||
sealing "github.com/filecoin-project/lotus/storage/pipeline"
|
sealing "github.com/filecoin-project/lotus/storage/pipeline"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -164,4 +170,31 @@ loop:
|
|||||||
|
|
||||||
require.Equal(t, p.MinerPower, p.TotalPower)
|
require.Equal(t, p.MinerPower, p.TotalPower)
|
||||||
require.Equal(t, types.NewInt(uint64(ssz)*uint64(nSectors-1)), p.MinerPower.RawBytePower)
|
require.Equal(t, types.NewInt(uint64(ssz)*uint64(nSectors-1)), p.MinerPower.RawBytePower)
|
||||||
|
|
||||||
|
// check "sector-terminated" actor event
|
||||||
|
var epochZero abi.ChainEpoch
|
||||||
|
allEvents, err := miner.FullNode.GetActorEvents(ctx, &types.ActorEventFilter{
|
||||||
|
FromHeight: &epochZero,
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
for _, key := range []string{"sector-precommitted", "sector-activated", "sector-terminated"} {
|
||||||
|
var found bool
|
||||||
|
keyBytes := must.One(ipld.Encode(basicnode.NewString(key), dagcbor.Encode))
|
||||||
|
for _, event := range allEvents {
|
||||||
|
for _, e := range event.Entries {
|
||||||
|
if e.Key == "$type" && bytes.Equal(e.Value, keyBytes) {
|
||||||
|
found = true
|
||||||
|
if key == "sector-terminated" {
|
||||||
|
expectedEntries := []types.EventEntry{
|
||||||
|
{Flags: 0x03, Codec: uint64(multicodec.Cbor), Key: "$type", Value: keyBytes},
|
||||||
|
{Flags: 0x03, Codec: uint64(multicodec.Cbor), Key: "sector", Value: must.One(ipld.Encode(basicnode.NewInt(int64(toTerminate)), dagcbor.Encode))},
|
||||||
|
}
|
||||||
|
require.ElementsMatch(t, expectedEntries, event.Entries)
|
||||||
|
}
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
require.True(t, found, "expected to find event %s", key)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user