github.com/ChainSafe/chainbridge-core@v1.4.2/chains/evm/cli/admin/admin_test.go (about)

     1  package admin
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/spf13/cobra"
     7  	"github.com/stretchr/testify/suite"
     8  )
     9  
    10  var (
    11  	validAddr   = "0xd606A00c1A39dA53EA7Bb3Ab570BBE40b156EB66"
    12  	invalidAddr = "0xd606A00c1A39dA53EA7Bb3Ab570BBE40b156EXYZ"
    13  )
    14  
    15  type AdminTestSuite struct {
    16  	suite.Suite
    17  }
    18  
    19  func TestAdminTestSuite(t *testing.T) {
    20  	suite.Run(t, new(AdminTestSuite))
    21  }
    22  
    23  func (s *AdminTestSuite) SetupSuite() {
    24  }
    25  func (s *AdminTestSuite) TearDownSuite() {}
    26  
    27  func (s *AdminTestSuite) TearDownTest() {}
    28  
    29  func (s *AdminTestSuite) TestValidateAddAdminFlags() {
    30  	cmd := new(cobra.Command)
    31  	BindAddAdminFlags(cmd)
    32  
    33  	err := cmd.Flag("admin").Value.Set(validAddr)
    34  	s.Nil(err)
    35  	err = cmd.Flag("bridge").Value.Set(validAddr)
    36  	s.Nil(err)
    37  
    38  	err = ValidateAddAdminFlags(
    39  		cmd,
    40  		[]string{},
    41  	)
    42  	s.Nil(err)
    43  }
    44  
    45  func (s *AdminTestSuite) TestValidateAddAdminFlagsInvalidAddresses() {
    46  	cmd := new(cobra.Command)
    47  	BindAddAdminFlags(cmd)
    48  
    49  	err := cmd.Flag("admin").Value.Set(invalidAddr)
    50  	s.Nil(err)
    51  	err = cmd.Flag("bridge").Value.Set(invalidAddr)
    52  	s.Nil(err)
    53  
    54  	err = ValidateAddAdminFlags(
    55  		cmd,
    56  		[]string{},
    57  	)
    58  	s.NotNil(err)
    59  }
    60  
    61  func (s *AdminTestSuite) TestValidateAddRelayerFlags() {
    62  	cmd := new(cobra.Command)
    63  	BindAddRelayerFlags(cmd)
    64  
    65  	err := cmd.Flag("relayer").Value.Set(validAddr)
    66  	s.Nil(err)
    67  	err = cmd.Flag("bridge").Value.Set(validAddr)
    68  	s.Nil(err)
    69  
    70  	err = ValidateAddRelayerFlags(
    71  		cmd,
    72  		[]string{},
    73  	)
    74  	s.Nil(err)
    75  }
    76  
    77  func (s *AdminTestSuite) TestValidateAddRelayerFlagsInvalidAddresses() {
    78  	cmd := new(cobra.Command)
    79  	BindAddRelayerFlags(cmd)
    80  
    81  	err := cmd.Flag("relayer").Value.Set(invalidAddr)
    82  	s.Nil(err)
    83  	err = cmd.Flag("bridge").Value.Set(invalidAddr)
    84  	s.Nil(err)
    85  
    86  	err = ValidateAddRelayerFlags(
    87  		cmd,
    88  		[]string{},
    89  	)
    90  	s.NotNil(err)
    91  }
    92  
    93  func (s *AdminTestSuite) TestValidateGetThresholdFlags() {
    94  	cmd := new(cobra.Command)
    95  	BindGetThresholdFlags(cmd)
    96  
    97  	err := cmd.Flag("bridge").Value.Set(validAddr)
    98  	s.Nil(err)
    99  
   100  	err = ValidateGetThresholdFlags(
   101  		cmd,
   102  		[]string{},
   103  	)
   104  	s.Nil(err)
   105  }
   106  
   107  func (s *AdminTestSuite) TestValidateGetThresholdFlagsInvalidAddress() {
   108  	cmd := new(cobra.Command)
   109  	BindGetThresholdFlags(cmd)
   110  
   111  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   112  	s.Nil(err)
   113  
   114  	err = ValidateGetThresholdFlags(
   115  		cmd,
   116  		[]string{},
   117  	)
   118  	s.NotNil(err)
   119  }
   120  
   121  func (s *AdminTestSuite) TestValidateIsRelayerFlags() {
   122  	cmd := new(cobra.Command)
   123  	BindIsRelayerFlags(cmd)
   124  
   125  	err := cmd.Flag("bridge").Value.Set(validAddr)
   126  	s.Nil(err)
   127  	err = cmd.Flag("relayer").Value.Set(validAddr)
   128  	s.Nil(err)
   129  
   130  	err = ValidateIsRelayerFlags(
   131  		cmd,
   132  		[]string{},
   133  	)
   134  	s.Nil(err)
   135  }
   136  
   137  func (s *AdminTestSuite) TestValidateIsRelayerInvalidAddresses() {
   138  	cmd := new(cobra.Command)
   139  	BindIsRelayerFlags(cmd)
   140  
   141  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   142  	s.Nil(err)
   143  	err = cmd.Flag("relayer").Value.Set(invalidAddr)
   144  	s.Nil(err)
   145  
   146  	err = ValidateIsRelayerFlags(
   147  		cmd,
   148  		[]string{},
   149  	)
   150  	s.NotNil(err)
   151  }
   152  
   153  func (s *AdminTestSuite) TestValidatePauseFlags() {
   154  	cmd := new(cobra.Command)
   155  	BindPauseFlags(cmd)
   156  
   157  	err := cmd.Flag("bridge").Value.Set(validAddr)
   158  	s.Nil(err)
   159  
   160  	err = ValidatePauseFlags(
   161  		cmd,
   162  		[]string{},
   163  	)
   164  	s.Nil(err)
   165  }
   166  
   167  func (s *AdminTestSuite) TestValidatePauseInvalidAddress() {
   168  	cmd := new(cobra.Command)
   169  	BindPauseFlags(cmd)
   170  
   171  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   172  	s.Nil(err)
   173  
   174  	err = ValidatePauseFlags(
   175  		cmd,
   176  		[]string{},
   177  	)
   178  	s.NotNil(err)
   179  }
   180  
   181  func (s *AdminTestSuite) TestValidateRemoveAdminFlags() {
   182  	cmd := new(cobra.Command)
   183  	BindRemoveAdminFlags(cmd)
   184  
   185  	err := cmd.Flag("bridge").Value.Set(validAddr)
   186  	s.Nil(err)
   187  	err = cmd.Flag("admin").Value.Set(validAddr)
   188  	s.Nil(err)
   189  
   190  	err = ValidateRemoveAdminFlags(
   191  		cmd,
   192  		[]string{},
   193  	)
   194  	s.Nil(err)
   195  }
   196  
   197  func (s *AdminTestSuite) TestValidateRemoveAdminInvalidAddresses() {
   198  	cmd := new(cobra.Command)
   199  	BindRemoveAdminFlags(cmd)
   200  
   201  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   202  	s.Nil(err)
   203  	err = cmd.Flag("admin").Value.Set(invalidAddr)
   204  	s.Nil(err)
   205  
   206  	err = ValidateRemoveAdminFlags(
   207  		cmd,
   208  		[]string{},
   209  	)
   210  	s.NotNil(err)
   211  }
   212  
   213  func (s *AdminTestSuite) TestValidateRemoveRelayerFlags() {
   214  	cmd := new(cobra.Command)
   215  	BindRemoveRelayerFlags(cmd)
   216  
   217  	err := cmd.Flag("bridge").Value.Set(validAddr)
   218  	s.Nil(err)
   219  	err = cmd.Flag("relayer").Value.Set(validAddr)
   220  	s.Nil(err)
   221  
   222  	err = ValidateRemoveRelayerFlags(
   223  		cmd,
   224  		[]string{},
   225  	)
   226  	s.Nil(err)
   227  }
   228  
   229  func (s *AdminTestSuite) TestValidateRemoveRelayerInvalidAddresses() {
   230  	cmd := new(cobra.Command)
   231  	BindRemoveRelayerFlags(cmd)
   232  
   233  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   234  	s.Nil(err)
   235  	err = cmd.Flag("relayer").Value.Set(invalidAddr)
   236  	s.Nil(err)
   237  
   238  	err = ValidateRemoveRelayerFlags(
   239  		cmd,
   240  		[]string{},
   241  	)
   242  	s.NotNil(err)
   243  }
   244  
   245  func (s *AdminTestSuite) TestValidateSetDepositNonceFlags() {
   246  	cmd := new(cobra.Command)
   247  	BindSetDepositNonceFlags(cmd)
   248  
   249  	err := cmd.Flag("bridge").Value.Set(validAddr)
   250  	s.Nil(err)
   251  
   252  	err = ValidateSetDepositNonceFlags(
   253  		cmd,
   254  		[]string{},
   255  	)
   256  	s.Nil(err)
   257  }
   258  
   259  func (s *AdminTestSuite) TestValidateSetDepositNonceInvalidAddress() {
   260  	cmd := new(cobra.Command)
   261  	BindSetDepositNonceFlags(cmd)
   262  
   263  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   264  	s.Nil(err)
   265  
   266  	err = ValidateSetDepositNonceFlags(
   267  		cmd,
   268  		[]string{},
   269  	)
   270  	s.NotNil(err)
   271  }
   272  
   273  func (s *AdminTestSuite) TestValidateSetFeeFlags() {
   274  	cmd := new(cobra.Command)
   275  	BindSetFeeFlags(cmd)
   276  
   277  	err := cmd.Flag("bridge").Value.Set(validAddr)
   278  	s.Nil(err)
   279  
   280  	err = ValidateSetFeeFlags(
   281  		cmd,
   282  		[]string{},
   283  	)
   284  	s.Nil(err)
   285  }
   286  
   287  func (s *AdminTestSuite) TestValidateSetFeeInvalidAddress() {
   288  	cmd := new(cobra.Command)
   289  	BindSetFeeFlags(cmd)
   290  
   291  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   292  	s.Nil(err)
   293  
   294  	err = ValidateSetFeeFlags(
   295  		cmd,
   296  		[]string{},
   297  	)
   298  	s.NotNil(err)
   299  }
   300  
   301  func (s *AdminTestSuite) TestValidateSetThresholdFlags() {
   302  	cmd := new(cobra.Command)
   303  	BindSetThresholdFlags(cmd)
   304  
   305  	err := cmd.Flag("bridge").Value.Set(validAddr)
   306  	s.Nil(err)
   307  
   308  	err = ValidateSetThresholdFlags(
   309  		cmd,
   310  		[]string{},
   311  	)
   312  	s.Nil(err)
   313  }
   314  
   315  func (s *AdminTestSuite) TestValidateSetThresholdInvalidAddress() {
   316  	cmd := new(cobra.Command)
   317  	BindSetThresholdFlags(cmd)
   318  
   319  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   320  	s.Nil(err)
   321  
   322  	err = ValidateSetThresholdFlags(
   323  		cmd,
   324  		[]string{},
   325  	)
   326  	s.NotNil(err)
   327  }
   328  
   329  func (s *AdminTestSuite) TestValidateUnpauseFlags() {
   330  	cmd := new(cobra.Command)
   331  	BindUnpauseFlags(cmd)
   332  
   333  	err := cmd.Flag("bridge").Value.Set(validAddr)
   334  	s.Nil(err)
   335  
   336  	err = ValidateUnpauseFlags(
   337  		cmd,
   338  		[]string{},
   339  	)
   340  	s.Nil(err)
   341  }
   342  
   343  func (s *AdminTestSuite) TestValidateUnpauseInvalidAddress() {
   344  	cmd := new(cobra.Command)
   345  	BindUnpauseFlags(cmd)
   346  
   347  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   348  	s.Nil(err)
   349  
   350  	err = ValidateUnpauseFlags(
   351  		cmd,
   352  		[]string{},
   353  	)
   354  	s.NotNil(err)
   355  }
   356  
   357  func (s *AdminTestSuite) TestValidateWithdrawFlags() {
   358  	cmd := new(cobra.Command)
   359  	BindWithdrawFlags(cmd)
   360  
   361  	err := cmd.Flag("bridge").Value.Set(validAddr)
   362  	s.Nil(err)
   363  	err = cmd.Flag("handler").Value.Set(validAddr)
   364  	s.Nil(err)
   365  	err = cmd.Flag("token-contract").Value.Set(validAddr)
   366  	s.Nil(err)
   367  	err = cmd.Flag("recipient").Value.Set(validAddr)
   368  	s.Nil(err)
   369  	err = cmd.Flag("amount").Value.Set("1")
   370  	s.Nil(err)
   371  
   372  	err = ValidateWithdrawFlags(
   373  		cmd,
   374  		[]string{},
   375  	)
   376  	s.Nil(err)
   377  }
   378  
   379  func (s *AdminTestSuite) TestValidateWithdrawInvalidAddresses() {
   380  	cmd := new(cobra.Command)
   381  	BindWithdrawFlags(cmd)
   382  
   383  	err := cmd.Flag("bridge").Value.Set(invalidAddr)
   384  	s.Nil(err)
   385  	err = cmd.Flag("handler").Value.Set(invalidAddr)
   386  	s.Nil(err)
   387  	err = cmd.Flag("token-contract").Value.Set(invalidAddr)
   388  	s.Nil(err)
   389  	err = cmd.Flag("recipient").Value.Set(invalidAddr)
   390  	s.Nil(err)
   391  	err = cmd.Flag("amount").Value.Set("1")
   392  	s.Nil(err)
   393  
   394  	err = ValidateWithdrawFlags(
   395  		cmd,
   396  		[]string{},
   397  	)
   398  	s.NotNil(err)
   399  }
   400  
   401  func (s *AdminTestSuite) TestValidateWithdrawAmountTokenConflict() {
   402  	cmd := new(cobra.Command)
   403  	BindWithdrawFlags(cmd)
   404  
   405  	err := cmd.Flag("bridge").Value.Set(validAddr)
   406  	s.Nil(err)
   407  	err = cmd.Flag("handler").Value.Set(validAddr)
   408  	s.Nil(err)
   409  	err = cmd.Flag("token-contract").Value.Set(validAddr)
   410  	s.Nil(err)
   411  	err = cmd.Flag("recipient").Value.Set(validAddr)
   412  	s.Nil(err)
   413  	err = cmd.Flag("amount").Value.Set("1")
   414  	s.Nil(err)
   415  	err = cmd.Flag("token").Value.Set("1")
   416  	s.Nil(err)
   417  
   418  	err = ValidateWithdrawFlags(
   419  		cmd,
   420  		[]string{},
   421  	)
   422  	s.NotNil(err)
   423  }