Skip to content

Commit f9ff5ed

Browse files
committed
add test for Dolt table adapter registry
1 parent 6990d48 commit f9ff5ed

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
package adapters
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/require"
7+
8+
"github.com/dolthub/go-mysql-server/sql"
9+
10+
"github.com/dolthub/dolt/go/libraries/doltcore/doltdb"
11+
"github.com/dolthub/dolt/go/libraries/doltcore/env"
12+
)
13+
14+
type mockAdapter struct {
15+
name string
16+
}
17+
18+
func (m mockAdapter) NewTable(_ *sql.Context, _ string, _ *doltdb.DoltDB, _ *doltdb.WorkingSet, _ env.RootsProvider[*sql.Context]) sql.Table {
19+
return nil
20+
}
21+
22+
func (m mockAdapter) TableName() string {
23+
return m.name
24+
}
25+
26+
func TestDoltTableAdapterRegistry(t *testing.T) {
27+
registry := newDoltTableAdapterRegistry()
28+
29+
statusAdapter := mockAdapter{name: "status"}
30+
logAdapter := mockAdapter{name: "log"}
31+
32+
registry.AddAdapter(doltdb.StatusTableName, statusAdapter, "status")
33+
registry.AddAdapter(doltdb.LogTableName, logAdapter, "log")
34+
35+
t.Run("GetAdapter", func(t *testing.T) {
36+
adapter, ok := registry.GetAdapter("dolt_status")
37+
require.True(t, ok)
38+
require.Equal(t, "status", adapter.TableName())
39+
40+
adapter, ok = registry.GetAdapter("status")
41+
require.True(t, ok)
42+
require.Equal(t, "status", adapter.TableName())
43+
44+
_, ok = registry.GetAdapter("unknown_alias")
45+
require.False(t, ok)
46+
47+
_, ok = registry.GetAdapter("dolt_unknown")
48+
require.False(t, ok)
49+
})
50+
51+
t.Run("NormalizeName", func(t *testing.T) {
52+
normalized := registry.NormalizeName("status")
53+
require.Equal(t, "dolt_status", normalized)
54+
55+
normalized = registry.NormalizeName("log")
56+
require.Equal(t, "dolt_log", normalized)
57+
58+
normalized = registry.NormalizeName("dolt_status")
59+
require.Equal(t, "dolt_status", normalized)
60+
61+
normalized = registry.NormalizeName("unknown_table")
62+
require.Equal(t, "unknown_table", normalized)
63+
})
64+
}

0 commit comments

Comments
 (0)