github.com/matrixorigin/matrixone@v1.2.0/pkg/sql/plan/function/ctl/cmd_snapshot_test.go (about) 1 // Copyright 2023 Matrix Origin 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package ctl 16 17 import ( 18 "testing" 19 20 "github.com/matrixorigin/matrixone/pkg/common/runtime" 21 "github.com/matrixorigin/matrixone/pkg/pb/timestamp" 22 "github.com/stretchr/testify/assert" 23 ) 24 25 func TestHandleGetSnapshotTS(t *testing.T) { 26 runtime.SetupProcessLevelRuntime(runtime.DefaultRuntime()) 27 result, err := handleGetSnapshotTS(nil, cn, "", nil) 28 assert.NoError(t, err) 29 assert.NotEmpty(t, result.Data) 30 ts, err := timestamp.ParseTimestamp(result.Data.(string)) 31 assert.NoError(t, err) 32 assert.NotEqual(t, timestamp.Timestamp{}, ts) 33 } 34 35 func TestHandleUseSnapshotTS(t *testing.T) { 36 runtime.SetupProcessLevelRuntime(runtime.DefaultRuntime()) 37 result, err := handleUseSnapshotTS(nil, cn, "1-2", nil) 38 assert.NoError(t, err) 39 assert.Equal(t, "OK", result.Data) 40 41 v, ok := runtime.ProcessLevelRuntime().GetGlobalVariables(runtime.TxnOptions) 42 assert.True(t, ok) 43 assert.NotEmpty(t, v) 44 45 result, err = handleUseSnapshotTS(nil, cn, "", nil) 46 assert.NoError(t, err) 47 assert.Equal(t, "OK", result.Data) 48 49 v, ok = runtime.ProcessLevelRuntime().GetGlobalVariables(runtime.TxnOptions) 50 assert.True(t, ok) 51 assert.Empty(t, v) 52 }