github.com/Finschia/finschia-sdk@v0.48.1/x/params/client/testutil/grpc.go (about) 1 package testutil 2 3 import ( 4 "fmt" 5 6 "github.com/gogo/protobuf/proto" 7 8 "github.com/Finschia/finschia-sdk/testutil" 9 "github.com/Finschia/finschia-sdk/x/params/types/proposal" 10 ) 11 12 func (s *IntegrationTestSuite) TestQueryParamsGRPC() { 13 val := s.network.Validators[0] 14 baseURL := val.APIAddress 15 16 testCases := []struct { 17 name string 18 url string 19 headers map[string]string 20 expErr bool 21 respType proto.Message 22 expected proto.Message 23 }{ 24 { 25 "with no subspace, key", 26 fmt.Sprintf("%s/cosmos/params/v1beta1/params?subspace=%s&key=%s", baseURL, "", ""), 27 map[string]string{}, 28 true, 29 &proposal.QueryParamsResponse{}, 30 &proposal.QueryParamsResponse{ 31 Param: proposal.ParamChange{ 32 Subspace: "staking", 33 Key: "MaxValidators", 34 Value: "100", 35 }, 36 }, 37 }, 38 { 39 "with wrong subspace", 40 fmt.Sprintf("%s/cosmos/params/v1beta1/params?subspace=%s&key=%s", baseURL, "wrongSubspace", "MaxValidators"), 41 map[string]string{}, 42 true, 43 &proposal.QueryParamsResponse{}, 44 &proposal.QueryParamsResponse{ 45 Param: proposal.ParamChange{ 46 Subspace: "staking", 47 Key: "MaxValidators", 48 Value: "100", 49 }, 50 }, 51 }, 52 { 53 "with wrong key", 54 fmt.Sprintf("%s/cosmos/params/v1beta1/params?subspace=%s&key=%s", baseURL, "staking", "wrongKey"), 55 map[string]string{}, 56 false, 57 &proposal.QueryParamsResponse{}, 58 &proposal.QueryParamsResponse{ 59 Param: proposal.ParamChange{ 60 Subspace: "staking", 61 Key: "wrongKey", 62 Value: "", 63 }, 64 }, 65 }, 66 { 67 "params", 68 fmt.Sprintf("%s/cosmos/params/v1beta1/params?subspace=%s&key=%s", baseURL, "staking", "MaxValidators"), 69 map[string]string{}, 70 false, 71 &proposal.QueryParamsResponse{}, 72 &proposal.QueryParamsResponse{ 73 Param: proposal.ParamChange{ 74 Subspace: "staking", 75 Key: "MaxValidators", 76 Value: "100", 77 }, 78 }, 79 }, 80 } 81 82 for _, tc := range testCases { 83 tc := tc 84 s.Run(tc.name, func() { 85 resp, err := testutil.GetRequestWithHeaders(tc.url, tc.headers) 86 s.Require().NoError(err) 87 88 err = val.ClientCtx.Codec.UnmarshalJSON(resp, tc.respType) 89 90 if tc.expErr { 91 s.Require().Error(err) 92 } else { 93 s.Require().NoError(err) 94 s.Require().Equal(tc.expected.String(), tc.respType.String()) 95 } 96 }) 97 } 98 }