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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
package padding
import (
"testing"
. "gopkg.in/check.v1"
)
func Test(t *testing.T) { TestingT(t) }
type TestSuite struct{}
var _ = Suite(&TestSuite{})
func (s *TestSuite) TestRemovePkcs7NoPadding(c *C) {
//given
padded:=[]byte{1,2,3,4,5,6,7,8}
//when
test:=RemovePkcs7(padded,8)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5,6,7,8})
}
func (s *TestSuite) TestRemovePkcs7(c *C) {
//given
padded:=[]byte{1,2,3,4,5,3,3,3}
//when
test:=RemovePkcs7(padded,8)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5})
}
func (s *TestSuite) TestRemovePkcs7OneBytePadding(c *C) {
//given
padded:=[]byte{1,2,3,4,5,1}
//when
test:=RemovePkcs7(padded,6)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5})
}
func (s *TestSuite) TestRemovePkcs7TrailingZeroByte(c *C) {
//given
padded:=[]byte{1,2,3,4,5,0}
//when
test:=RemovePkcs7(padded,6)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5,0})
}
func (s *TestSuite) TestRemovePkcs7ExtraBlockPadding(c *C) {
//given
padded:=[]byte{1,2,3,4,5,5,5,5,5,5}
//when
test:=RemovePkcs7(padded,5)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5})
}
func (s *TestSuite) TestRemovePkcs7TrailingByteGreaterBlockSize(c *C) {
//given
padded:=[]byte{1,2,3,4,5,10}
//when
test:=RemovePkcs7(padded,6)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5,10})
}
func (s *TestSuite) TestAddPkcs7(c *C) {
//given
in:=[]byte{1,2,3,4,5}
//when
test := AddPkcs7(in,8)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5,3,3,3})
}
func (s *TestSuite) TestAddPkcs7OneBytePadding(c *C) {
//given
in:=[]byte{1,2,3,4,5}
//when
test := AddPkcs7(in,6)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5,1})
}
func (s *TestSuite) TestAddPkcs7ExtraBlockPadding(c *C) {
//given
in:=[]byte{1,2,3,4,5,6,7,8}
//when
test := AddPkcs7(in,8)
//then
c.Assert(test, DeepEquals, []byte{1,2,3,4,5,6,7,8,8,8,8,8,8,8,8,8})
}
|