code.vegaprotocol.io/vega@v0.79.0/datanode/config/encoding/fileloadingmode_test.go (about) 1 // Copyright (C) 2023 Gobalsky Labs Limited 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU Affero General Public License as 5 // published by the Free Software Foundation, either version 3 of the 6 // License, or (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Affero General Public License for more details. 12 // 13 // You should have received a copy of the GNU Affero General Public License 14 // along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 package encoding_test 17 18 import ( 19 "testing" 20 21 "code.vegaprotocol.io/vega/datanode/config/encoding" 22 23 "github.com/dgraph-io/badger/v2/options" 24 "github.com/stretchr/testify/assert" 25 ) 26 27 func TestFileLoadingMode(t *testing.T) { 28 var flm encoding.FileLoadingMode 29 var flmbytes []byte 30 var err error 31 32 flmstrs := []string{"FileIO", "MemoryMap", "LoadToRAM"} 33 flms := []options.FileLoadingMode{options.FileIO, options.MemoryMap, options.LoadToRAM} 34 for i, flmstr := range flmstrs { 35 err = flm.UnmarshalText([]byte(flmstr)) 36 assert.NoError(t, err) 37 assert.Equal(t, flms[i], flm.Get()) 38 39 flmbytes, err = flm.MarshalText() 40 assert.NoError(t, err) 41 assert.Equal(t, flmstr, string(flmbytes)) 42 } 43 44 err = flm.UnmarshalText([]byte("this is not a fileloadingmode")) 45 assert.Equal(t, encoding.ErrCouldNotUnmarshalFLM, err) 46 }