mirror of
https://github.com/eosswedenorg/thalos
synced 2026-08-16 18:38:13 +02:00
internal/config/builder_test.go: adding test for config with flags
This commit is contained in:
parent
2db0a64bd4
commit
4a4489e2be
1 changed files with 73 additions and 0 deletions
|
|
@ -75,6 +75,79 @@ redis:
|
||||||
require.Equal(t, &expected, cfg)
|
require.Equal(t, &expected, cfg)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBuilder_ConfigWithFlags(t *testing.T) {
|
||||||
|
expected := Config{
|
||||||
|
Name: "ship-reader-1",
|
||||||
|
Api: "https://api.example.com",
|
||||||
|
MessageCodec: "msgpack",
|
||||||
|
Log: log.Config{
|
||||||
|
Filename: "mylog.log",
|
||||||
|
Directory: "/var/log",
|
||||||
|
MaxFileSize: 200,
|
||||||
|
MaxTime: 30 * time.Minute,
|
||||||
|
},
|
||||||
|
Ship: ShipConfig{
|
||||||
|
Url: "127.0.0.1:8089",
|
||||||
|
StartBlockNum: 23671836,
|
||||||
|
EndBlockNum: 23872222,
|
||||||
|
IrreversibleOnly: true,
|
||||||
|
MaxMessagesInFlight: 1337,
|
||||||
|
},
|
||||||
|
Telegram: TelegramConfig{
|
||||||
|
Id: "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw",
|
||||||
|
Channel: -123456789,
|
||||||
|
},
|
||||||
|
Redis: RedisConfig{
|
||||||
|
Addr: "localhost:6379",
|
||||||
|
User: "userfromcli",
|
||||||
|
Password: "passwd",
|
||||||
|
DB: 4,
|
||||||
|
Prefix: "some::ship",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
builder := NewBuilder()
|
||||||
|
builder.SetSource(bytes.NewBuffer([]byte(`
|
||||||
|
name: "ship-reader-1"
|
||||||
|
api: "http://127.0.0.1:8080"
|
||||||
|
message_codec: "mojibake"
|
||||||
|
log:
|
||||||
|
filename: some_file.log
|
||||||
|
directory: /path/to/whatever
|
||||||
|
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("log", "/var/log/mylog.log"))
|
||||||
|
require.NoError(t, flags.Set("redis-user", "userfromcli"))
|
||||||
|
|
||||||
|
builder.SetFlags(flags)
|
||||||
|
|
||||||
|
cfg, err := builder.Build()
|
||||||
|
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, &expected, cfg)
|
||||||
|
}
|
||||||
|
|
||||||
func TestBuilder_NilSource(t *testing.T) {
|
func TestBuilder_NilSource(t *testing.T) {
|
||||||
cfg, err := NewBuilder().Build()
|
cfg, err := NewBuilder().Build()
|
||||||
require.Nil(t, cfg)
|
require.Nil(t, cfg)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue