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

     1  package erc721
     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 ERC721TestSuite struct {
    16  	suite.Suite
    17  }
    18  
    19  func TestERC721TestSuite(t *testing.T) {
    20  	suite.Run(t, new(ERC721TestSuite))
    21  }
    22  
    23  func (s *ERC721TestSuite) SetupSuite() {
    24  }
    25  func (s *ERC721TestSuite) TearDownSuite() {}
    26  
    27  func (s *ERC721TestSuite) TearDownTest() {}
    28  
    29  func (s *ERC721TestSuite) TestValidateAddMinterFlags() {
    30  	cmd := new(cobra.Command)
    31  	BindAddMinterFlags(cmd)
    32  
    33  	err := cmd.Flag("contract").Value.Set(validAddr)
    34  	s.Nil(err)
    35  	err = cmd.Flag("minter").Value.Set(validAddr)
    36  	s.Nil(err)
    37  
    38  	err = ValidateAddMinterFlags(
    39  		cmd,
    40  		[]string{},
    41  	)
    42  	s.Nil(err)
    43  }
    44  
    45  func (s *ERC721TestSuite) TestValidateAddMinterInvalidAddress() {
    46  	cmd := new(cobra.Command)
    47  	BindAddMinterFlags(cmd)
    48  
    49  	err := cmd.Flag("contract").Value.Set(invalidAddr)
    50  	s.Nil(err)
    51  	err = cmd.Flag("minter").Value.Set(invalidAddr)
    52  	s.Nil(err)
    53  
    54  	err = ValidateAddMinterFlags(
    55  		cmd,
    56  		[]string{},
    57  	)
    58  	s.NotNil(err)
    59  }
    60  
    61  func (s *ERC721TestSuite) TestValidateApproveFlags() {
    62  	cmd := new(cobra.Command)
    63  	BindApproveFlags(cmd)
    64  
    65  	err := cmd.Flag("contract").Value.Set(validAddr)
    66  	s.Nil(err)
    67  	err = cmd.Flag("recipient").Value.Set(validAddr)
    68  	s.Nil(err)
    69  
    70  	err = ValidateApproveFlags(
    71  		cmd,
    72  		[]string{},
    73  	)
    74  	s.Nil(err)
    75  }
    76  
    77  func (s *ERC721TestSuite) TestValidateApproveInvalidAddress() {
    78  	cmd := new(cobra.Command)
    79  	BindApproveFlags(cmd)
    80  
    81  	err := cmd.Flag("contract").Value.Set(invalidAddr)
    82  	s.Nil(err)
    83  	err = cmd.Flag("recipient").Value.Set(invalidAddr)
    84  	s.Nil(err)
    85  
    86  	err = ValidateApproveFlags(
    87  		cmd,
    88  		[]string{},
    89  	)
    90  	s.NotNil(err)
    91  }
    92  
    93  func (s *ERC721TestSuite) TestValidateDepositFlags() {
    94  	cmd := new(cobra.Command)
    95  	BindDepositFlags(cmd)
    96  
    97  	err := cmd.Flag("recipient").Value.Set(validAddr)
    98  	s.Nil(err)
    99  	err = cmd.Flag("bridge").Value.Set(validAddr)
   100  	s.Nil(err)
   101  
   102  	err = ValidateDepositFlags(
   103  		cmd,
   104  		[]string{},
   105  	)
   106  	s.Nil(err)
   107  }
   108  
   109  func (s *ERC721TestSuite) TestValidateDepositInvalidAddress() {
   110  	cmd := new(cobra.Command)
   111  	BindDepositFlags(cmd)
   112  
   113  	err := cmd.Flag("recipient").Value.Set(invalidAddr)
   114  	s.Nil(err)
   115  	err = cmd.Flag("bridge").Value.Set(invalidAddr)
   116  	s.Nil(err)
   117  
   118  	err = ValidateDepositFlags(
   119  		cmd,
   120  		[]string{},
   121  	)
   122  	s.NotNil(err)
   123  }
   124  
   125  func (s *ERC721TestSuite) TestValidateMintFlags() {
   126  	cmd := new(cobra.Command)
   127  	BindMintFlags(cmd)
   128  
   129  	err := cmd.Flag("contract").Value.Set(validAddr)
   130  	s.Nil(err)
   131  	err = cmd.Flag("recipient").Value.Set(validAddr)
   132  	s.Nil(err)
   133  
   134  	err = ValidateMintFlags(
   135  		cmd,
   136  		[]string{},
   137  	)
   138  	s.Nil(err)
   139  }
   140  
   141  func (s *ERC721TestSuite) TestValidateMintInvalidAddress() {
   142  	cmd := new(cobra.Command)
   143  	BindMintFlags(cmd)
   144  
   145  	err := cmd.Flag("contract").Value.Set(invalidAddr)
   146  	s.Nil(err)
   147  	err = cmd.Flag("recipient").Value.Set(invalidAddr)
   148  	s.Nil(err)
   149  
   150  	err = ValidateMintFlags(
   151  		cmd,
   152  		[]string{},
   153  	)
   154  	s.NotNil(err)
   155  }
   156  
   157  func (s *ERC721TestSuite) TestValidateOwnerFlags() {
   158  	cmd := new(cobra.Command)
   159  	BindOwnerFlags(cmd)
   160  
   161  	err := cmd.Flag("contract").Value.Set(validAddr)
   162  	s.Nil(err)
   163  
   164  	err = ValidateOwnerFlags(
   165  		cmd,
   166  		[]string{},
   167  	)
   168  	s.Nil(err)
   169  }
   170  
   171  func (s *ERC721TestSuite) TestValidateOwnerInvalidAddress() {
   172  	cmd := new(cobra.Command)
   173  	BindOwnerFlags(cmd)
   174  
   175  	err := cmd.Flag("contract").Value.Set(invalidAddr)
   176  	s.Nil(err)
   177  
   178  	err = ValidateOwnerFlags(
   179  		cmd,
   180  		[]string{},
   181  	)
   182  	s.NotNil(err)
   183  }