github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/state/impl_commandcontext_storage_test.go (about) 1 /* 2 * Copyright (c) 2023-present unTill Pro, Ltd. 3 */ 4 5 package state 6 7 import ( 8 "context" 9 "testing" 10 11 "github.com/stretchr/testify/require" 12 13 "github.com/voedger/voedger/pkg/appdef" 14 "github.com/voedger/voedger/pkg/istructs" 15 ) 16 17 func TestCommandContextStorage(t *testing.T) { 18 cmdResBuilder := istructs.NewNullObjectBuilder() 19 20 wsid := istructs.NullWSID 21 arg := istructs.NewNullObject() 22 unloggedArg := istructs.NewNullObject() 23 24 wsidFunc := SimpleWSIDFunc(wsid) 25 argFunc := func() istructs.IObject { return arg } 26 unloggedArgFunc := func() istructs.IObject { return unloggedArg } 27 wlogOffsetFunc := func() istructs.Offset { return 42 } 28 29 s := ProvideCommandProcessorStateFactory()(context.Background(), nil, nil, wsidFunc, nil, nil, nil, nil, 1, 30 func() istructs.IObjectBuilder { return cmdResBuilder }, argFunc, unloggedArgFunc, wlogOffsetFunc) 31 32 kb, err := s.KeyBuilder(CommandContext, appdef.NullQName) 33 require.NoError(t, err) 34 35 v, err := s.MustExist(kb) 36 require.NoError(t, err) 37 require.Equal(t, int64(wsid), v.AsInt64(Field_Workspace)) 38 require.NotNil(t, v.AsValue(Field_ArgumentObject)) 39 require.NotNil(t, v.AsValue(Field_ArgumentUnloggedObject)) 40 require.Equal(t, int64(42), v.AsInt64(Field_WLogOffset)) 41 42 }