chore: 并入 iotlcm-worker-svr 历史到 worker-svr/(原提交 96f0f4e)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package tdengine
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gcfg"
|
||||
)
|
||||
|
||||
func TestGetConfigDatabaseRouting(t *testing.T) {
|
||||
previous := g.Cfg().GetAdapter()
|
||||
t.Cleanup(func() { g.Cfg().SetAdapter(previous) })
|
||||
for _, test := range []struct {
|
||||
name string
|
||||
fields string
|
||||
fallback string
|
||||
daily string
|
||||
monthly string
|
||||
}{
|
||||
{"defaults", "", "iotlcm_daily", "iotlcm_daily", "iotlcm_daily"},
|
||||
{"legacy", " dbName: legacy\n", "legacy", "legacy", "legacy"},
|
||||
{"split", " dbName: legacy\n dailyDbName: iotlcm_daily\n monthlyDbName: iotlcm_monthly\n", "legacy", "iotlcm_daily", "iotlcm_monthly"},
|
||||
{"daily_only", " dbName: legacy\n dailyDbName: iotlcm_daily\n", "legacy", "iotlcm_daily", "legacy"},
|
||||
{"monthly_only", " dbName: legacy\n monthlyDbName: iotlcm_monthly\n", "legacy", "legacy", "iotlcm_monthly"},
|
||||
} {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
adapter, err := gcfg.NewAdapterContent("tsdb:\n database: TdEngine\n tdengine:\n batchSize: 20\n" + test.fields)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
g.Cfg().SetAdapter(adapter)
|
||||
config := GetConfig(context.Background())
|
||||
if config.DbName != test.fallback {
|
||||
t.Fatalf("fallback=%q want=%q", config.DbName, test.fallback)
|
||||
}
|
||||
for _, stable := range []string{config.DailyStable, config.PoolDailyStable, config.PoolCardCountDailyStable} {
|
||||
if got := config.DbNameFor(stable); got != test.daily {
|
||||
t.Errorf("%s database=%q want=%q", stable, got, test.daily)
|
||||
}
|
||||
}
|
||||
for _, stable := range []string{config.MonthlyStable, config.PoolMonthlyStable, config.PoolCardCountMonthlyStable} {
|
||||
if got := config.DbNameFor(stable); got != test.monthly {
|
||||
t.Errorf("%s database=%q want=%q", stable, got, test.monthly)
|
||||
}
|
||||
}
|
||||
if got := config.DbNameFor("other_stable"); got != test.fallback {
|
||||
t.Errorf("unknown stable database=%q", got)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestDatabaseRoutingEmptySplitNames(t *testing.T) {
|
||||
config := Config{DbName: "legacy", DailyStable: "daily", MonthlyStable: "monthly"}
|
||||
for _, stable := range []string{"daily", "monthly", "other"} {
|
||||
if got := config.DbNameFor(stable); got != "legacy" {
|
||||
t.Errorf("%s database=%q", stable, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user