From 4d996e317b568b352d3496786b0fe9f3bcb56a5c Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Wed, 20 Dec 2023 23:08:11 +0700 Subject: [PATCH] Fix wrong toml struct tag for arp discovery --- config.go | 2 +- config_test.go | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/config.go b/config.go index 5baa10d..0b5d39c 100644 --- a/config.go +++ b/config.go @@ -189,7 +189,7 @@ type ServiceConfig struct { DHCPLeaseFile string `mapstructure:"dhcp_lease_file_path" toml:"dhcp_lease_file_path" validate:"omitempty,file"` DHCPLeaseFileFormat string `mapstructure:"dhcp_lease_file_format" toml:"dhcp_lease_file_format" validate:"required_unless=DHCPLeaseFile '',omitempty,oneof=dnsmasq isc-dhcp"` DiscoverMDNS *bool `mapstructure:"discover_mdns" toml:"discover_mdns,omitempty"` - DiscoverARP *bool `mapstructure:"discover_arp" toml:"discover_dhcp,omitempty"` + DiscoverARP *bool `mapstructure:"discover_arp" toml:"discover_arp,omitempty"` DiscoverDHCP *bool `mapstructure:"discover_dhcp" toml:"discover_dhcp,omitempty"` DiscoverPtr *bool `mapstructure:"discover_ptr" toml:"discover_ptr,omitempty"` DiscoverHosts *bool `mapstructure:"discover_hosts" toml:"discover_hosts,omitempty"` diff --git a/config_test.go b/config_test.go index ff20bc2..d66556f 100644 --- a/config_test.go +++ b/config_test.go @@ -121,6 +121,29 @@ func TestConfigValidation(t *testing.T) { } } +func TestConfigDiscoverOverride(t *testing.T) { + v := viper.NewWithOptions(viper.KeyDelimiter("::")) + ctrld.InitConfig(v, "test_config_discover_override") + v.SetConfigType("toml") + configStr := ` +[service] +discover_arp = false +discover_dhcp = false +discover_hosts = false +discover_mdns = false +discover_ptr = false +` + require.NoError(t, v.ReadConfig(strings.NewReader(configStr))) + cfg := ctrld.Config{} + require.NoError(t, v.Unmarshal(&cfg)) + + require.False(t, *cfg.Service.DiscoverARP) + require.False(t, *cfg.Service.DiscoverDHCP) + require.False(t, *cfg.Service.DiscoverHosts) + require.False(t, *cfg.Service.DiscoverMDNS) + require.False(t, *cfg.Service.DiscoverPtr) +} + func defaultConfig(t *testing.T) *ctrld.Config { v := viper.New() ctrld.InitConfig(v, "test_load_default_config")