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