Skip to content

Commit

Permalink
CM-286 getnshortestlease WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
rnistuk committed Mar 27, 2020
1 parent 3467c58 commit 33ba607
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 19 deletions.
14 changes: 8 additions & 6 deletions x/crud/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ func NewHandler(keeper keeper.IKeeper) sdk.Handler {
return handleMsgMultiUpdate(ctx, keeper, msg)
case types.MsgGetLease:
return handleMsgGetLease(ctx, keeper, msg)
case types.MsgGetNShortestLease:
return handleMsgGetNShortestLease(ctx, keeper, msg)
default:
return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, fmt.Sprintf("Unrecognized crud msg type: %v", msg.Type()))
}
Expand Down Expand Up @@ -292,10 +294,10 @@ func handleMsgGetLease(ctx sdk.Context, keeper keeper.IKeeper, msg types.MsgGetL
return &sdk.Result{Data: json_data}, nil
}

/*
func handleMsgGetNShortestLease(ctx sdk.Context, keeper keeper.IKeeper, UUID string, owner sdk.AccAddress, n uint64) (*sdk.Result, error) {
func handleMsgGetNShortestLease(ctx sdk.Context, keeper keeper.IKeeper, msg types.MsgGetNShortestLease) (*sdk.Result, error) {
if len(msg.UUID) == 0 || msg.N == 0 || msg.Owner.Empty() {
return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "Invalid message")
}

}*/
return &sdk.Result{}, nil
}
32 changes: 32 additions & 0 deletions x/crud/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package crud

import (
"encoding/json"
"fmt"
"github.com/bluzelle/curium/x/crud/internal/types"
"github.com/bluzelle/curium/x/crud/mocks"
sdk "github.com/cosmos/cosmos-sdk/types"
Expand Down Expand Up @@ -777,3 +778,34 @@ func Test_handleMsgGetLease(t *testing.T) {
}

}

func Test_handleMsgGetNShortestLease(t *testing.T) {
mockCtrl, mockKeeper, ctx, owner := initTest(t)
defer mockCtrl.Finish()

{
msgGetNShortestLease := types.MsgGetNShortestLease{
UUID: "uuid",
N: 5,
Owner: owner,
}

result, err := NewHandler(mockKeeper)(ctx, msgGetNShortestLease)

fmt.Println(result)
fmt.Println(err)

}

// Test for empty message parameters
{
_, err := handleMsgGetNShortestLease(ctx, mockKeeper, types.MsgGetNShortestLease{})
assert.NotNil(t, err)

_, err = handleMsgGetNShortestLease(ctx, mockKeeper, types.MsgGetNShortestLease{UUID: "uuid"})
assert.NotNil(t, err)

_, err = handleMsgGetNShortestLease(ctx, mockKeeper, types.MsgGetNShortestLease{UUID: "uuid", N: 11})
assert.NotNil(t, err)
}
}
27 changes: 14 additions & 13 deletions x/crud/internal/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,25 @@ type MaxKeeperSizes struct {
}

type IKeeper interface {
SetValue(ctx sdk.Context, store sdk.KVStore, UUID string, key string, value types.BLZValue)
GetValue(ctx sdk.Context, store sdk.KVStore, UUID string, key string) types.BLZValue
DeleteAll(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress)
DeleteLease(leaseStore sdk.KVStore, UUID string, key string, blockHeight int64, leaseBlocks int64)
DeleteValue(ctx sdk.Context, store sdk.KVStore, leaseStore sdk.KVStore, UUID string, key string)
IsKeyPresent(ctx sdk.Context, store sdk.KVStore, UUID string, key string) bool
GetValuesIterator(ctx sdk.Context, store sdk.KVStore) sdk.Iterator
GetKeys(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress) types.QueryResultKeys
GetOwner(ctx sdk.Context, store sdk.KVStore, UUID string, key string) sdk.AccAddress
GetCdc() *codec.Codec
GetCount(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress) types.QueryResultCount
GetDefaultLeaseBlocks() int64
GetKVStore(ctx sdk.Context) sdk.KVStore
GetKeyValues(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress) types.QueryResultKeyValues
GetKeys(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress) types.QueryResultKeys
GetLeaseStore(ctx sdk.Context) sdk.KVStore
GetNShortestLease(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress, n uint64) types.QueryResultNShortestLeaseKeys
GetOwner(ctx sdk.Context, store sdk.KVStore, UUID string, key string) sdk.AccAddress
GetValue(ctx sdk.Context, store sdk.KVStore, UUID string, key string) types.BLZValue
GetValuesIterator(ctx sdk.Context, store sdk.KVStore) sdk.Iterator
IsKeyPresent(ctx sdk.Context, store sdk.KVStore, UUID string, key string) bool
ProcessLeasesAtBlockHeight(ctx sdk.Context, store sdk.KVStore, leaseStore sdk.KVStore, lease int64)
RenameKey(ctx sdk.Context, store sdk.KVStore, UUID string, key string, newkey string) bool
GetCdc() *codec.Codec
GetKeyValues(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress) types.QueryResultKeyValues
GetCount(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress) types.QueryResultCount
DeleteAll(ctx sdk.Context, store sdk.KVStore, UUID string, owner sdk.AccAddress)
SetLease(leaseStore sdk.KVStore, UUID string, key string, blockHeight int64, lease int64)
DeleteLease(leaseStore sdk.KVStore, UUID string, key string, blockHeight int64, leaseBlocks int64)
ProcessLeasesAtBlockHeight(ctx sdk.Context, store sdk.KVStore, leaseStore sdk.KVStore, lease int64)
GetDefaultLeaseBlocks() int64
SetValue(ctx sdk.Context, store sdk.KVStore, UUID string, key string, value types.BLZValue)
}

type Keeper struct {
Expand Down

0 comments on commit 33ba607

Please sign in to comment.