From 454c8f7197d9c9e7fee9c9519d464a181f2d069d Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Wed, 8 Mar 2023 10:04:50 +0100 Subject: [PATCH] Adding config/config_test.go --- config/config_test.go | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 config/config_test.go diff --git a/config/config_test.go b/config/config_test.go new file mode 100644 index 0000000..9874ea9 --- /dev/null +++ b/config/config_test.go @@ -0,0 +1,71 @@ +package config + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestParse_Default(t *testing.T) { + expected := Config{ + StartBlockNum: NULL_BLOCK_NUMBER, + EndBlockNum: NULL_BLOCK_NUMBER, + MaxMessagesInFlight: 10, + IrreversibleOnly: false, + Redis: RedisConfig{ + Addr: "localhost:6379", + Password: "", + DB: 0, + Prefix: "ship", + }, + } + + cfg, err := Parse([]byte(`{}`)) + require.NoError(t, err) + require.Equal(t, cfg, &expected) +} + +func TestParse(t *testing.T) { + expected := Config{ + Name: "ship-reader-1", + Api: "http://127.0.0.1:8080", + ShipApi: "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", + Password: "passwd", + DB: 4, + Prefix: "some::ship", + }, + } + + cfg, err := Parse([]byte(`{ + "name": "ship-reader-1", + "api": "http://127.0.0.1:8080", + "ship_api": "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", + "password": "passwd", + "db": 4, + "prefix": "some::ship" + } + }`)) + + require.NoError(t, err) + require.Equal(t, cfg, &expected) +}