github.com/Finschia/finschia-sdk@v0.48.1/x/foundation/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/rest"
     9  
    10  	sdk "github.com/Finschia/finschia-sdk/types"
    11  	"github.com/Finschia/finschia-sdk/x/foundation"
    12  )
    13  
    14  func (s *IntegrationTestSuite) TestGRPCParams() {
    15  	val := s.network.Validators[0]
    16  
    17  	testCases := []struct {
    18  		name       string
    19  		url        string
    20  		expErr     bool
    21  		respType   proto.Message
    22  		expectResp proto.Message
    23  	}{
    24  		{
    25  			"valid request",
    26  			fmt.Sprintf("%s/lbm/foundation/v1/params", val.APIAddress),
    27  			false,
    28  			&foundation.QueryParamsResponse{},
    29  			&foundation.QueryParamsResponse{
    30  				Params: foundation.Params{
    31  					FoundationTax: sdk.MustNewDecFromStr("0.2"),
    32  				},
    33  			},
    34  		},
    35  	}
    36  
    37  	for _, tc := range testCases {
    38  		tc := tc
    39  		s.Run(tc.name, func() {
    40  			resp, err := rest.GetRequest(tc.url)
    41  			s.Require().NoError(err)
    42  
    43  			err = s.cfg.Codec.UnmarshalJSON(resp, tc.respType)
    44  
    45  			if tc.expErr {
    46  				s.Require().Error(err)
    47  			} else {
    48  				s.Require().NoError(err)
    49  				s.Require().Equal(tc.expectResp.String(), tc.respType.String())
    50  			}
    51  		})
    52  	}
    53  }