git.frostfs.info/TrueCloudLab/frostfs-sdk-go@v0.0.0-20241022124111-5361f0ecebd3/object/lock_test.go (about) 1 package object_test 2 3 import ( 4 "testing" 5 6 "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" 7 objecttest "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/test" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestLockEncoding(t *testing.T) { 12 l := *objecttest.Lock() 13 14 t.Run("binary", func(t *testing.T) { 15 data := l.Marshal() 16 17 var l2 object.Lock 18 require.NoError(t, l2.Unmarshal(data)) 19 20 require.Equal(t, l, l2) 21 }) 22 } 23 24 func TestWriteLock(t *testing.T) { 25 l := *objecttest.Lock() 26 var o object.Object 27 28 object.WriteLock(&o, l) 29 30 var l2 object.Lock 31 32 require.NoError(t, object.ReadLock(&l2, o)) 33 require.Equal(t, l, l2) 34 35 // corrupt payload 36 o.Payload()[0]++ 37 38 require.Error(t, object.ReadLock(&l2, o)) 39 }