github.com/cosmos/cosmos-sdk@v0.50.10/x/group/internal/orm/genesis_test.go (about) 1 package orm 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 storetypes "cosmossdk.io/store/types" 9 10 "github.com/cosmos/cosmos-sdk/codec" 11 "github.com/cosmos/cosmos-sdk/codec/types" 12 "github.com/cosmos/cosmos-sdk/testutil/testdata" 13 ) 14 15 func TestImportExportTableData(t *testing.T) { 16 interfaceRegistry := types.NewInterfaceRegistry() 17 cdc := codec.NewProtoCodec(interfaceRegistry) 18 19 table, err := NewAutoUInt64Table(AutoUInt64TablePrefix, AutoUInt64TableSeqPrefix, &testdata.TableModel{}, cdc) 20 require.NoError(t, err) 21 22 ctx := NewMockContext() 23 store := ctx.KVStore(storetypes.NewKVStoreKey("test")) 24 25 tms := []*testdata.TableModel{ 26 { 27 Id: 1, 28 Name: "my test 1", 29 Number: 123, 30 Metadata: []byte("metadata 1"), 31 }, 32 { 33 Id: 2, 34 Name: "my test 2", 35 Number: 456, 36 Metadata: []byte("metadata 2"), 37 }, 38 } 39 40 err = table.Import(store, tms, 2) 41 require.NoError(t, err) 42 43 for _, g := range tms { 44 var loaded testdata.TableModel 45 _, err := table.GetOne(store, g.Id, &loaded) 46 require.NoError(t, err) 47 48 require.Equal(t, g, &loaded) 49 } 50 51 var exported []*testdata.TableModel 52 seq, err := table.Export(store, &exported) 53 require.NoError(t, err) 54 require.Equal(t, seq, uint64(2)) 55 56 for i, g := range exported { 57 require.Equal(t, g, tms[i]) 58 } 59 }