pkg.re/essentialkaos/ek.10@v12.41.0+incompatible/secstr/secure_string_test.go (about) 1 package secstr 2 3 // ////////////////////////////////////////////////////////////////////////////////// // 4 // // 5 // Copyright (c) 2022 ESSENTIAL KAOS // 6 // Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0> // 7 // // 8 // ////////////////////////////////////////////////////////////////////////////////// // 9 10 import ( 11 "testing" 12 13 . "pkg.re/essentialkaos/check.v1" 14 ) 15 16 // ////////////////////////////////////////////////////////////////////////////////// // 17 18 func Test(t *testing.T) { TestingT(t) } 19 20 type SecstrSuite struct{} 21 22 // ////////////////////////////////////////////////////////////////////////////////// // 23 24 var _ = Suite(&SecstrSuite{}) 25 26 // ////////////////////////////////////////////////////////////////////////////////// // 27 28 func (s *SecstrSuite) TestSlice(c *C) { 29 k := []byte("Test1234") 30 ss, err := NewSecureString(k) 31 32 c.Assert(err, IsNil) 33 c.Assert(ss, NotNil) 34 c.Assert(ss.IsEmpty(), Equals, false) 35 c.Assert(ss.Data, HasLen, 8) 36 c.Assert(k, DeepEquals, []byte{0, 0, 0, 0, 0, 0, 0, 0}) 37 c.Assert(string(ss.Data), Equals, "Test1234") 38 39 err = ss.Destroy() 40 41 c.Assert(err, IsNil) 42 c.Assert(ss.Data, IsNil) 43 44 err = ss.Destroy() 45 46 c.Assert(err, IsNil) 47 c.Assert(ss.Data, IsNil) 48 } 49 50 func (s *SecstrSuite) TestString(c *C) { 51 k1 := "Test1234" 52 53 ss, err := NewSecureString(k1) 54 55 c.Assert(err, IsNil) 56 c.Assert(ss, NotNil) 57 c.Assert(ss.IsEmpty(), Equals, false) 58 c.Assert(ss.Data, HasLen, 8) 59 c.Assert(string(ss.Data), Equals, "Test1234") 60 61 k2 := "Test1234" 62 63 ss, err = NewSecureString(&k2) 64 65 c.Assert(err, IsNil) 66 c.Assert(ss, NotNil) 67 c.Assert(ss.IsEmpty(), Equals, false) 68 c.Assert(ss.Data, HasLen, 8) 69 c.Assert(k2, Equals, "") 70 c.Assert(string(ss.Data), Equals, "Test1234") 71 } 72 73 func (s *SecstrSuite) TestErrors(c *C) { 74 _, err := NewSecureString(123) 75 c.Assert(err, NotNil) 76 }