mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 10:16:15 +00:00
feat: add runtime log level settings
This commit is contained in:
@@ -162,6 +162,7 @@ func seedDefaultSettings() {
|
||||
}
|
||||
defaults := []mdb.Setting{
|
||||
{Group: mdb.SettingGroupSystem, Key: mdb.SettingKeyAmountPrecision, Value: "2", Type: mdb.SettingTypeInt},
|
||||
{Group: mdb.SettingGroupSystem, Key: mdb.SettingKeySystemLogLevel, Value: mdb.SettingDefaultSystemLogLevel, Type: mdb.SettingTypeString},
|
||||
{Group: mdb.SettingGroupEpay, Key: mdb.SettingKeyEpayDefaultToken, Value: "usdt", Type: mdb.SettingTypeString},
|
||||
{Group: mdb.SettingGroupEpay, Key: mdb.SettingKeyEpayDefaultCurrency, Value: "cny", Type: mdb.SettingTypeString},
|
||||
{Group: mdb.SettingGroupEpay, Key: mdb.SettingKeyEpayDefaultNetwork, Value: "tron", Type: mdb.SettingTypeString},
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/GMWalletApp/epusdt/model/mdb"
|
||||
"github.com/libtnb/sqlite"
|
||||
"github.com/spf13/viper"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func TestDefaultRpcNodesIncludesManualVerifyEpusdtEvmNodes(t *testing.T) {
|
||||
@@ -69,3 +73,67 @@ func TestDefaultRpcNodesIncludesTonLiteGeneralNode(t *testing.T) {
|
||||
t.Fatalf("TON lite seed status = %q, want %q", got.Status, mdb.RpcNodeStatusUnknown)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSeedDefaultSettingsIncludesSystemLogLevel(t *testing.T) {
|
||||
db := setupSeedSettingsTestDB(t)
|
||||
Mdb = db
|
||||
|
||||
seedDefaultSettings()
|
||||
|
||||
var row mdb.Setting
|
||||
if err := Mdb.Where("`key` = ?", mdb.SettingKeySystemLogLevel).Take(&row).Error; err != nil {
|
||||
t.Fatalf("load system.log_level seed: %v", err)
|
||||
}
|
||||
if row.Group != mdb.SettingGroupSystem {
|
||||
t.Fatalf("system.log_level group = %q, want %q", row.Group, mdb.SettingGroupSystem)
|
||||
}
|
||||
if row.Value != mdb.SettingDefaultSystemLogLevel {
|
||||
t.Fatalf("system.log_level value = %q, want %q", row.Value, mdb.SettingDefaultSystemLogLevel)
|
||||
}
|
||||
if row.Type != mdb.SettingTypeString {
|
||||
t.Fatalf("system.log_level type = %q, want %q", row.Type, mdb.SettingTypeString)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSeedDefaultSettingsDoesNotOverwriteSystemLogLevel(t *testing.T) {
|
||||
db := setupSeedSettingsTestDB(t)
|
||||
Mdb = db
|
||||
if err := Mdb.Create(&mdb.Setting{
|
||||
Group: mdb.SettingGroupSystem,
|
||||
Key: mdb.SettingKeySystemLogLevel,
|
||||
Value: "debug",
|
||||
Type: mdb.SettingTypeString,
|
||||
}).Error; err != nil {
|
||||
t.Fatalf("precreate system.log_level: %v", err)
|
||||
}
|
||||
|
||||
seedDefaultSettings()
|
||||
|
||||
var row mdb.Setting
|
||||
if err := Mdb.Where("`key` = ?", mdb.SettingKeySystemLogLevel).Take(&row).Error; err != nil {
|
||||
t.Fatalf("load system.log_level seed: %v", err)
|
||||
}
|
||||
if row.Value != "debug" {
|
||||
t.Fatalf("system.log_level value = %q, want existing debug", row.Value)
|
||||
}
|
||||
}
|
||||
|
||||
func setupSeedSettingsTestDB(t *testing.T) *gorm.DB {
|
||||
t.Helper()
|
||||
oldDB := Mdb
|
||||
viper.Reset()
|
||||
viper.Set("app_uri", "https://example.com")
|
||||
t.Cleanup(func() {
|
||||
Mdb = oldDB
|
||||
viper.Reset()
|
||||
})
|
||||
|
||||
db, err := gorm.Open(sqlite.Open(filepath.Join(t.TempDir(), "seed-settings.db")), &gorm.Config{})
|
||||
if err != nil {
|
||||
t.Fatalf("open sqlite: %v", err)
|
||||
}
|
||||
if err := db.AutoMigrate(&mdb.Setting{}); err != nil {
|
||||
t.Fatalf("migrate settings: %v", err)
|
||||
}
|
||||
return db
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user