MCPcopy Create free account
hub / github.com/bytebase/bytebase / TestRestore

Function TestRestore

backend/plugin/parser/tidb/restore_test.go:27–81  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25}
26
27func TestRestore(t *testing.T) {
28 tests := []restoreCase{}
29
30 const (
31 record = false
32 )
33 var (
34 filepath = "test-data/test_restore.yaml"
35 )
36
37 a := require.New(t)
38 yamlFile, err := os.Open(filepath)
39 a.NoError(err)
40
41 byteValue, err := io.ReadAll(yamlFile)
42 a.NoError(yamlFile.Close())
43 a.NoError(err)
44 a.NoError(yaml.Unmarshal(byteValue, &tests))
45
46 for i, t := range tests {
47 getter, lister := buildFixedMockDatabaseMetadataGetterAndLister()
48 result, err := GenerateRestoreSQL(context.Background(), base.RestoreContext{
49 GetDatabaseMetadataFunc: getter,
50 ListDatabaseNamesFunc: lister,
51 IsCaseSensitive: false,
52 }, t.Input, &store.PriorBackupDetail_Item{
53 SourceTable: &store.PriorBackupDetail_Item_Table{
54 Database: "instances/i1/databases/" + t.OriginalDatabase,
55 Table: t.OriginalTable,
56 },
57 TargetTable: &store.PriorBackupDetail_Item_Table{
58 Database: "instances/i1/databases/" + t.BackupDatabase,
59 Table: t.BackupTable,
60 },
61 StartPosition: &store.Position{
62 Line: 0,
63 Column: 0,
64 },
65 EndPosition: &store.Position{
66 Line: math.MaxInt32,
67 Column: 0,
68 },
69 })
70 a.NoError(err)
71
72 if record {
73 tests[i].Result = result
74 } else {
75 a.Equal(t.Result, result, t.Input)
76 }
77 }
78 if record {
79 yamltest.Record(t, filepath, tests)
80 }
81}
82
83func TestTiDBGenerateRestoreSQLRegistration(t *testing.T) {
84 getter, lister := buildFixedMockDatabaseMetadataGetterAndLister()

Callers

nothing calls this directly

Calls 7

RecordFunction · 0.92
UnmarshalMethod · 0.80
GenerateRestoreSQLFunction · 0.70
OpenMethod · 0.65
CloseMethod · 0.65
EqualMethod · 0.65

Tested by

no test coverage detected