MCPcopy
hub / github.com/pingcap/tidb / TestAssertUserDBsEmpty

Function TestAssertUserDBsEmpty

br/pkg/restore/misc_test.go:61–115  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

59}
60
61func TestAssertUserDBsEmpty(t *testing.T) {
62 m, err := mock.NewCluster()
63 require.Nil(t, err)
64 defer m.Stop()
65 dom := m.Domain
66
67 ctx := kv.WithInternalSourceType(context.Background(), kv.InternalTxnBR)
68 se, err := session.CreateSession(dom.Store())
69 require.Nil(t, err)
70
71 err = restore.AssertUserDBsEmpty(dom)
72 require.Nil(t, err)
73
74 _, err = se.ExecuteInternal(ctx, "CREATE DATABASE d1;")
75 require.Nil(t, err)
76 err = restore.AssertUserDBsEmpty(dom)
77 require.Error(t, err)
78 require.Contains(t, err.Error(), "d1.")
79
80 _, err = se.ExecuteInternal(ctx, "CREATE TABLE d1.test(id int);")
81 require.Nil(t, err)
82 err = restore.AssertUserDBsEmpty(dom)
83 require.Error(t, err)
84 require.Contains(t, err.Error(), "d1.test")
85
86 _, err = se.ExecuteInternal(ctx, "DROP DATABASE d1;")
87 require.Nil(t, err)
88 for i := 0; i < 15; i += 1 {
89 _, err = se.ExecuteInternal(ctx, fmt.Sprintf("CREATE DATABASE d%d;", i))
90 require.Nil(t, err)
91 }
92 err = restore.AssertUserDBsEmpty(dom)
93 require.Error(t, err)
94 containCount := 0
95 for i := 0; i < 15; i += 1 {
96 if strings.Contains(err.Error(), fmt.Sprintf("d%d.", i)) {
97 containCount += 1
98 }
99 }
100 require.Equal(t, 10, containCount)
101
102 for i := 0; i < 15; i += 1 {
103 _, err = se.ExecuteInternal(ctx, fmt.Sprintf("CREATE TABLE d%d.t1(id int);", i))
104 require.Nil(t, err)
105 }
106 err = restore.AssertUserDBsEmpty(dom)
107 require.Error(t, err)
108 containCount = 0
109 for i := 0; i < 15; i += 1 {
110 if strings.Contains(err.Error(), fmt.Sprintf("d%d.t1", i)) {
111 containCount += 1
112 }
113 }
114 require.Equal(t, 10, containCount)
115}
116
117func TestGetTSWithRetry(t *testing.T) {
118 t.Run("PD leader is healthy:", func(t *testing.T) {

Callers

nothing calls this directly

Calls 9

StopMethod · 0.95
NewClusterFunction · 0.92
CreateSessionFunction · 0.92
AssertUserDBsEmptyFunction · 0.92
StoreMethod · 0.65
ExecuteInternalMethod · 0.65
ErrorMethod · 0.65
ContainsMethod · 0.65
EqualMethod · 0.65

Tested by

no test coverage detected