mirror of
https://github.com/planetmint/planetmint-go.git
synced 2025-05-21 22:36:37 +00:00

* feat: add counter for activated TAs * feat: add QueryActivatedTrustAnchorCount * feat: add migration for activated ta counter --------- Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
80 lines
1.9 KiB
Go
80 lines
1.9 KiB
Go
package keeper_test
|
|
|
|
import (
|
|
"encoding/hex"
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
|
|
keepertest "github.com/planetmint/planetmint-go/testutil/keeper"
|
|
|
|
"github.com/planetmint/planetmint-go/x/machine/keeper"
|
|
"github.com/planetmint/planetmint-go/x/machine/types"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func createNTrustAnchor(t *testing.T, keeper *keeper.Keeper, ctx sdk.Context, n int) []types.TrustAnchor {
|
|
items := make([]types.TrustAnchor, n)
|
|
for i := range items {
|
|
pk := fmt.Sprintf("pubkey%v", i)
|
|
if i%2 == 1 {
|
|
pk = strings.ToUpper(pk)
|
|
}
|
|
|
|
items[i].Pubkey = hex.EncodeToString([]byte(pk))
|
|
var activated bool
|
|
if i%2 == 1 {
|
|
activated = true
|
|
} else {
|
|
activated = false
|
|
}
|
|
err := keeper.StoreTrustAnchor(ctx, items[i], activated)
|
|
assert.False(t, (err != nil))
|
|
}
|
|
return items
|
|
}
|
|
|
|
func TestGetTrustAnchor(t *testing.T) {
|
|
t.Parallel()
|
|
keeper, ctx := keepertest.MachineKeeper(t)
|
|
items := createNTrustAnchor(t, keeper, ctx, 10)
|
|
for i, item := range items {
|
|
ta, activated, found := keeper.GetTrustAnchor(ctx, item.Pubkey)
|
|
assert.True(t, found)
|
|
assert.Equal(t, item, ta)
|
|
if i%2 == 1 {
|
|
assert.True(t, activated)
|
|
} else {
|
|
assert.False(t, activated)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestUpdateTrustAnchor(t *testing.T) {
|
|
t.Parallel()
|
|
keeper, ctx := keepertest.MachineKeeper(t)
|
|
items := createNTrustAnchor(t, keeper, ctx, 10)
|
|
for _, item := range items {
|
|
ta, activated, _ := keeper.GetTrustAnchor(ctx, item.Pubkey)
|
|
if !activated {
|
|
err := keeper.StoreTrustAnchor(ctx, ta, true)
|
|
assert.False(t, (err != nil))
|
|
}
|
|
}
|
|
|
|
for _, item := range items {
|
|
_, activated, _ := keeper.GetTrustAnchor(ctx, item.Pubkey)
|
|
assert.True(t, activated)
|
|
}
|
|
}
|
|
|
|
func TestActivatedTACounter(t *testing.T) {
|
|
t.Parallel()
|
|
keeper, ctx := keepertest.MachineKeeper(t)
|
|
createNTrustAnchor(t, keeper, ctx, 100)
|
|
counter := keeper.GetActivatedTACount(ctx)
|
|
assert.Equal(t, uint64(50), counter)
|
|
}
|