github.com/goravel/framework@v1.13.9/crypt/aes_test.go (about)

     1  package crypt
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/suite"
     7  
     8  	configmock "github.com/goravel/framework/contracts/config/mocks"
     9  )
    10  
    11  type AesTestSuite struct {
    12  	suite.Suite
    13  	aes *AES
    14  }
    15  
    16  func TestAesTestSuite(t *testing.T) {
    17  	mockConfig := &configmock.Config{}
    18  	mockConfig.On("GetString", "app.key").Return("11111111111111111111111111111111").Once()
    19  	suite.Run(t, &AesTestSuite{
    20  		aes: NewAES(mockConfig),
    21  	})
    22  	mockConfig.AssertExpectations(t)
    23  }
    24  
    25  func (s *AesTestSuite) SetupTest() {
    26  
    27  }
    28  
    29  func (s *AesTestSuite) TestEncryptString() {
    30  	encryptString, err := s.aes.EncryptString("Goravel")
    31  	s.NoError(err)
    32  	s.NotEmpty(encryptString)
    33  }
    34  
    35  func (s *AesTestSuite) TestDecryptString() {
    36  	payload, err := s.aes.EncryptString("Goravel")
    37  	s.NoError(err)
    38  	s.NotEmpty(payload)
    39  
    40  	value, err := s.aes.DecryptString(payload)
    41  	s.NoError(err)
    42  	s.Equal("Goravel", value)
    43  
    44  	_, err = s.aes.DecryptString("Goravel")
    45  	s.Error(err)
    46  
    47  	_, err = s.aes.DecryptString("R29yYXZlbA==")
    48  	s.Error(err)
    49  
    50  	_, err = s.aes.DecryptString("eyJpIjoiMTIzNDUiLCJ2YWx1ZSI6IjEyMzQ1In0=")
    51  	s.Error(err)
    52  
    53  	_, err = s.aes.DecryptString("eyJpdiI6IjEyMzQ1IiwidiI6IjEyMzQ1In0=")
    54  	s.Error(err)
    55  
    56  	_, err = s.aes.DecryptString("eyJpdiI6IjEyMzQ1IiwidmFsdWUiOiIxMjM0NSJ9")
    57  	s.Error(err)
    58  }