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

Function TestBackup

backend/plugin/parser/tidb/backup_test.go:24–79  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

22}
23
24func TestBackup(t *testing.T) {
25 tests := []rollbackCase{}
26
27 const (
28 record = false
29 )
30 var (
31 filepath = "test-data/test_backup.yaml"
32 )
33
34 a := require.New(t)
35 yamlFile, err := os.Open(filepath)
36 a.NoError(err)
37
38 byteValue, err := io.ReadAll(yamlFile)
39 a.NoError(yamlFile.Close())
40 a.NoError(err)
41 a.NoError(yaml.Unmarshal(byteValue, &tests))
42
43 for i, t := range tests {
44 getter, lister := buildFixedMockDatabaseMetadataGetterAndLister()
45 result, err := TransformDMLToSelect(context.Background(), base.TransformContext{
46 GetDatabaseMetadataFunc: getter,
47 ListDatabaseNamesFunc: lister,
48 IsCaseSensitive: false,
49 }, t.Input, "db", "backupDB", "_rollback")
50 a.NoError(err)
51 slices.SortFunc(result, func(a, b base.BackupStatement) int {
52 if a.TargetTableName == b.TargetTableName {
53 if a.Statement < b.Statement {
54 return -1
55 }
56 if a.Statement > b.Statement {
57 return 1
58 }
59 return 0
60 }
61 if a.TargetTableName < b.TargetTableName {
62 return -1
63 }
64 if a.TargetTableName > b.TargetTableName {
65 return 1
66 }
67 return 0
68 })
69
70 if record {
71 tests[i].Result = result
72 } else {
73 a.Equal(t.Result, result, t.Input)
74 }
75 }
76 if record {
77 yamltest.Record(t, filepath, tests)
78 }
79}
80
81func buildFixedMockDatabaseMetadataGetterAndLister() (base.GetDatabaseMetadataFunc, base.ListDatabaseNamesFunc) {

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected