github.com/stafiprotocol/go-substrate-rpc-client@v1.4.7/rpc/state/get_storage_test.go (about) 1 // Go Substrate RPC Client (GSRPC) provides APIs and types around Polkadot and any Substrate-based chain RPC calls 2 // 3 // Copyright 2020 Stafi Protocol 4 // 5 // Licensed under the Apache License, Version 2.0 (the "License"); 6 // you may not use this file except in compliance with the License. 7 // You may obtain a copy of the License at 8 // 9 // http://www.apache.org/licenses/LICENSE-2.0 10 // 11 // Unless required by applicable law or agreed to in writing, software 12 // distributed under the License is distributed on an "AS IS" BASIS, 13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 // See the License for the specific language governing permissions and 15 // limitations under the License. 16 17 package state 18 19 import ( 20 "testing" 21 22 "github.com/stafiprotocol/go-substrate-rpc-client/types" 23 "github.com/stretchr/testify/assert" 24 ) 25 26 func TestState_GetStorageLatest(t *testing.T) { 27 var decoded types.U64 28 ok, err := state.GetStorageLatest(types.MustHexDecodeString(mockSrv.storageKeyHex), &decoded) 29 assert.NoError(t, err) 30 assert.True(t, ok) 31 assert.Equal(t, types.U64(0x5d892db8), decoded) 32 } 33 34 func TestState_GetStorage(t *testing.T) { 35 var decoded types.U64 36 ok, err := state.GetStorage(types.MustHexDecodeString(mockSrv.storageKeyHex), &decoded, mockSrv.blockHashLatest) 37 assert.NoError(t, err) 38 assert.True(t, ok) 39 assert.Equal(t, types.U64(0x5d892db8), decoded) 40 } 41 42 func TestState_GetStorageEmpty(t *testing.T) { 43 var decoded types.U64 44 ok, err := state.GetStorage([]byte{0xab}, &decoded, mockSrv.blockHashLatest) 45 assert.NoError(t, err) 46 assert.False(t, ok) 47 } 48 49 func TestState_GetStorageRawLatest(t *testing.T) { 50 data, err := state.GetStorageRawLatest(types.MustHexDecodeString(mockSrv.storageKeyHex)) 51 assert.NoError(t, err) 52 assert.Equal(t, mockSrv.storageDataHex, data.Hex()) 53 } 54 55 func TestState_GetStorageRaw(t *testing.T) { 56 data, err := state.GetStorageRaw(types.MustHexDecodeString(mockSrv.storageKeyHex), mockSrv.blockHashLatest) 57 assert.NoError(t, err) 58 assert.Equal(t, mockSrv.storageDataHex, data.Hex()) 59 }