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

Function TestShouldDiffSchemaViaSDL

backend/api/v1/database_service_test.go:16–70  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestShouldDiffSchemaViaSDL(t *testing.T) {
17 tests := []struct {
18 name string
19 engine storepb.Engine
20 req *v1pb.DiffSchemaRequest
21 want bool
22 }{
23 {
24 name: "postgres raw schema text uses SDL",
25 engine: storepb.Engine_POSTGRES,
26 req: &v1pb.DiffSchemaRequest{
27 Target: &v1pb.DiffSchemaRequest_Schema{Schema: "CREATE TABLE t(id int);"},
28 },
29 want: true,
30 },
31 {
32 name: "postgres empty raw schema text uses SDL",
33 engine: storepb.Engine_POSTGRES,
34 req: &v1pb.DiffSchemaRequest{
35 Target: &v1pb.DiffSchemaRequest_Schema{Schema: ""},
36 },
37 want: true,
38 },
39 {
40 name: "postgres changelog target uses metadata diff",
41 engine: storepb.Engine_POSTGRES,
42 req: &v1pb.DiffSchemaRequest{
43 Target: &v1pb.DiffSchemaRequest_Changelog{Changelog: "instances/prod/databases/app/changelogs/123"},
44 },
45 want: false,
46 },
47 {
48 name: "cockroach raw schema text uses SDL",
49 engine: storepb.Engine_COCKROACHDB,
50 req: &v1pb.DiffSchemaRequest{
51 Target: &v1pb.DiffSchemaRequest_Schema{Schema: "CREATE TABLE t(id int);"},
52 },
53 want: true,
54 },
55 {
56 name: "mysql raw schema text uses metadata parser",
57 engine: storepb.Engine_MYSQL,
58 req: &v1pb.DiffSchemaRequest{
59 Target: &v1pb.DiffSchemaRequest_Schema{Schema: "CREATE TABLE t(id int);"},
60 },
61 want: false,
62 },
63 }
64
65 for _, tt := range tests {
66 t.Run(tt.name, func(t *testing.T) {
67 require.Equal(t, tt.want, shouldDiffSchemaViaSDL(tt.engine, tt.req))
68 })
69 }
70}
71
72func TestListDatabaseFilter(t *testing.T) {
73 testCases := []struct {

Callers

nothing calls this directly

Calls 3

shouldDiffSchemaViaSDLFunction · 0.85
EqualMethod · 0.65
RunMethod · 0.45

Tested by

no test coverage detected