github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/istructsmem/internal/vers/provide_test.go (about) 1 /* 2 * Copyright (c) 2021-present Sigma-Soft, Ltd. 3 * @author: Nikolay Nikitin 4 */ 5 6 package vers 7 8 import ( 9 "testing" 10 11 "github.com/stretchr/testify/require" 12 13 "github.com/voedger/voedger/pkg/istorage/mem" 14 istorageimpl "github.com/voedger/voedger/pkg/istorage/provider" 15 "github.com/voedger/voedger/pkg/istructs" 16 ) 17 18 func Test_BasicUsage(t *testing.T) { 19 sp := istorageimpl.Provide(mem.Provide()) 20 storage, err := sp.AppStorage(istructs.AppQName_test1_app1) 21 require.NoError(t, err) 22 23 versions := New() 24 if err := versions.Prepare(storage); err != nil { 25 panic(err) 26 } 27 28 t.Run("basic Versions methods", func(t *testing.T) { 29 require := require.New(t) 30 31 const ( 32 key VersionKey = 55 33 ver VersionValue = 77 34 ) 35 36 require.Equal(UnknownVersion, versions.Get(key)) 37 38 versions.Put(key, ver) 39 require.Equal(ver, versions.Get(key)) 40 41 t.Run("must be able to load early stored versions", func(t *testing.T) { 42 otherVersions := New() 43 if err := otherVersions.Prepare(storage); err != nil { 44 panic(err) 45 } 46 require.Equal(ver, otherVersions.Get(key)) 47 }) 48 }) 49 50 }