Files
mikrotik-exporter/config/config_test.go
Daniel Czerwonk d170b0a4d2 More features (#9)
* added config file implementation, refactoring
* add gitignore
* improved test
* preperations for more metrics
* added resource metrics
* added first bgp metrics
* added asn as label for bgp metrics
* added prefix and message counts to bgp metrics
* simplified
* Update README.md
* added yaml dependency
* fixed go routine call
* added timeout
* clean up
* added TLS support
* set default api port for TLS
* added routes metric
* added missing log information
* added type collectorContext to reduce the count of parameters for better readability
* added DHCP and DHCPv6 metrics
* filter for active dhcp leases only
* added pool metrics
* enable/disable feature in config file
* refactoring

* clean up

* comment fix
2018-04-11 09:21:38 -04:00

61 lines
1.4 KiB
Go

package config
import (
"bytes"
"io/ioutil"
"testing"
)
func TestShouldParse(t *testing.T) {
b := loadTestFile(t)
c, err := Load(bytes.NewReader(b))
if err != nil {
t.Fatalf("could not parse: %v", err)
}
if len(c.Devices) != 2 {
t.Fatalf("expected 2 devices, got %v", len(c.Devices))
}
assertDevice("test1", "192.168.1.1", "foo", "bar", c.Devices[0], t)
assertDevice("test2", "192.168.2.1", "test", "123", c.Devices[1], t)
assertFeature("BGP", c.Features.BGP, t)
assertFeature("DHCP", c.Features.DHCP, t)
assertFeature("DHCPv6", c.Features.DHCPv6, t)
assertFeature("Pools", c.Features.Pools, t)
assertFeature("Routes", c.Features.Routes, t)
}
func loadTestFile(t *testing.T) []byte {
b, err := ioutil.ReadFile("test/config.test.yml")
if err != nil {
t.Fatalf("could not load config: %v", err)
}
return b
}
func assertDevice(name, address, user, password string, c Device, t *testing.T) {
if c.Name != name {
t.Fatalf("expected name %s, got %s", name, c.Name)
}
if c.Address != address {
t.Fatalf("expected address %s, got %s", address, c.Address)
}
if c.User != user {
t.Fatalf("expected user %s, got %s", user, c.User)
}
if c.Password != password {
t.Fatalf("expected password %s, got %s", password, c.Password)
}
}
func assertFeature(name string, v bool, t *testing.T) {
if !v {
t.Fatalf("exprected feature %s to be enabled", name)
}
}