1
0
Fork 0
mirror of https://github.com/eosswedenorg/thalos synced 2026-07-04 12:03:41 +02:00

internal/config/builder_test.go: rewrite ConfigWithFlags to WithDefaultConfig as we already have a test for flags

This commit is contained in:
Henrik Hautakoski 2024-07-18 21:35:01 +02:00
parent 8c5815a2ce
commit 22896f8859

View file

@ -87,74 +87,31 @@ redis:
require.Equal(t, &expected, cfg) require.Equal(t, &expected, cfg)
} }
func TestBuilder_ConfigWithFlags(t *testing.T) { func TestBuilder_WithDefaultConfig(t *testing.T) {
expected := Config{ expected := Config{
Name: "ship-reader-1", MessageCodec: "json",
Api: "https://api.example.com",
MessageCodec: "msgpack",
Log: log.Config{ Log: log.Config{
Filename: "mylog.log", MaxFileSize: 10 * 1000 * 1000,
Directory: "/var/log", MaxTime: time.Hour * 24,
MaxFileSize: 200,
MaxTime: 30 * time.Minute,
FileTimestampFormat: "2006-01-02_150405", FileTimestampFormat: "2006-01-02_150405",
}, },
Ship: ShipConfig{
Url: "127.0.0.1:8089",
StartBlockNum: 23671836,
EndBlockNum: 23872222,
IrreversibleOnly: true,
MaxMessagesInFlight: 1337,
}, },
Telegram: TelegramConfig{ Ship: ShipConfig{
Id: "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw", Url: "ws://127.0.0.1:8080",
Channel: -123456789, StartBlockNum: shipclient.NULL_BLOCK_NUMBER,
EndBlockNum: shipclient.NULL_BLOCK_NUMBER,
MaxMessagesInFlight: 10,
}, },
Redis: RedisConfig{ Redis: RedisConfig{
Addr: "localhost:6379", Addr: "127.0.0.1:6379",
User: "userfromcli", Prefix: "ship",
Password: "passwd",
DB: 4,
Prefix: "some::ship",
}, },
} }
builder := NewBuilder() cfg, err := NewBuilder().
builder.SetSource(bytes.NewBuffer([]byte(` SetSource(bytes.NewReader([]byte(``))).
name: "ship-reader-1" SetFlags(GetFlags()).
api: "http://127.0.0.1:8080" Build()
message_codec: "mojibake"
log:
filename: mylog.log
directory: /var/log
maxtime: 30m
maxfilesize: 200b
ship:
url: "127.0.0.1:8089"
irreversible_only: true
max_messages_in_flight: 1337
start_block_num: 23671836
end_block_num: 23872222
telegram:
id: "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw"
channel: -123456789
redis:
addr: "localhost:6379"
user: "myuser"
password: "passwd"
db: 4
prefix: "some::ship"
`)))
flags := GetFlags()
require.NoError(t, flags.Set("url", "https://api.example.com"))
require.NoError(t, flags.Set("codec", "msgpack"))
require.NoError(t, flags.Set("redis-user", "userfromcli"))
builder.SetFlags(flags)
cfg, err := builder.Build()
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, &expected, cfg) require.Equal(t, &expected, cfg)