123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package security
- import (
- "testing"
- "github.com/stretchr/testify/require"
- "github.com/stretchr/testify/suite"
- "github.com/imgproxy/imgproxy/v3/config"
- )
- type SignatureTestSuite struct {
- suite.Suite
- }
- func (s *SignatureTestSuite) SetupTest() {
- config.Reset()
- config.Keys = [][]byte{[]byte("test-key")}
- config.Salts = [][]byte{[]byte("test-salt")}
- }
- func (s *SignatureTestSuite) TestVerifySignature() {
- err := VerifySignature("dtLwhdnPPiu_epMl1LrzheLpvHas-4mwvY6L3Z8WwlY", "asd")
- require.Nil(s.T(), err)
- }
- func (s *SignatureTestSuite) TestVerifySignatureTruncated() {
- config.SignatureSize = 8
- err := VerifySignature("dtLwhdnPPis", "asd")
- require.Nil(s.T(), err)
- }
- func (s *SignatureTestSuite) TestVerifySignatureInvalid() {
- err := VerifySignature("dtLwhdnPPis", "asd")
- require.Error(s.T(), err)
- }
- func (s *SignatureTestSuite) TestVerifySignatureMultiplePairs() {
- config.Keys = append(config.Keys, []byte("test-key2"))
- config.Salts = append(config.Salts, []byte("test-salt2"))
- err := VerifySignature("dtLwhdnPPiu_epMl1LrzheLpvHas-4mwvY6L3Z8WwlY", "asd")
- require.Nil(s.T(), err)
- err = VerifySignature("jbDffNPt1-XBgDccsaE-XJB9lx8JIJqdeYIZKgOqZpg", "asd")
- require.Nil(s.T(), err)
- err = VerifySignature("dtLwhdnPPis", "asd")
- require.Error(s.T(), err)
- }
- func (s *SignatureTestSuite) TestVerifySignatureTrusted() {
- config.TrustedSignatures = []string{"truested"}
- defer func() {
- config.TrustedSignatures = []string{}
- }()
- err := VerifySignature("truested", "asd")
- require.Nil(s.T(), err)
- err = VerifySignature("untrusted", "asd")
- require.Error(s.T(), err)
- }
- func TestSignature(t *testing.T) {
- suite.Run(t, new(SignatureTestSuite))
- }
|