|
@@ -22,8 +22,7 @@ func TestLoadDHCPv4Records(t *testing.T) {
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// fill temp file with valid lease lines and some comments
|
|
// fill temp file with valid lease lines and some comments
|
|
@@ -33,6 +32,7 @@ func TestLoadDHCPv4Records(t *testing.T) {
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
_, err = tmp.WriteString("# this is a comment\n")
|
|
_, err = tmp.WriteString("# this is a comment\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
|
|
|
records, err := LoadDHCPv4Records(tmp.Name())
|
|
records, err := LoadDHCPv4Records(tmp.Name())
|
|
|
if !assert.NoError(t, err) {
|
|
if !assert.NoError(t, err) {
|
|
@@ -49,66 +49,70 @@ func TestLoadDHCPv4Records(t *testing.T) {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("missing field", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("missing field should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with too few fields
|
|
// add line with too few fields
|
|
|
_, err = tmp.WriteString("foo\n")
|
|
_, err = tmp.WriteString("foo\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("invalid MAC", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("invalid MAC address should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with invalid MAC address to trigger an error
|
|
// add line with invalid MAC address to trigger an error
|
|
|
_, err = tmp.WriteString("abcd 192.0.2.102\n")
|
|
_, err = tmp.WriteString("abcd 192.0.2.102\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("invalid IP address", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("invalid IP address should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
- // add line with invalid MAC address to trigger an error
|
|
|
|
|
|
|
+ // add line with invalid IPv4 address to trigger an error
|
|
|
_, err = tmp.WriteString("22:33:44:55:66:77 bcde\n")
|
|
_, err = tmp.WriteString("22:33:44:55:66:77 bcde\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("lease with IPv6 address", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("lease with IPv6 address should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with IPv6 address instead to trigger an error
|
|
// add line with IPv6 address instead to trigger an error
|
|
|
_, err = tmp.WriteString("00:11:22:33:44:55 2001:db8::10:1\n")
|
|
_, err = tmp.WriteString("00:11:22:33:44:55 2001:db8::10:1\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
_, err = LoadDHCPv4Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
@@ -120,8 +124,7 @@ func TestLoadDHCPv6Records(t *testing.T) {
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// fill temp file with valid lease lines and some comments
|
|
// fill temp file with valid lease lines and some comments
|
|
@@ -131,6 +134,7 @@ func TestLoadDHCPv6Records(t *testing.T) {
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
_, err = tmp.WriteString("# this is a comment\n")
|
|
_, err = tmp.WriteString("# this is a comment\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
|
|
|
records, err := LoadDHCPv6Records(tmp.Name())
|
|
records, err := LoadDHCPv6Records(tmp.Name())
|
|
|
if !assert.NoError(t, err) {
|
|
if !assert.NoError(t, err) {
|
|
@@ -147,66 +151,70 @@ func TestLoadDHCPv6Records(t *testing.T) {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("missing field", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("missing field should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with too few fields
|
|
// add line with too few fields
|
|
|
_, err = tmp.WriteString("foo\n")
|
|
_, err = tmp.WriteString("foo\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("invalid MAC", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("invalid MAC address should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with invalid MAC address to trigger an error
|
|
// add line with invalid MAC address to trigger an error
|
|
|
_, err = tmp.WriteString("abcd 2001:db8::10:3\n")
|
|
_, err = tmp.WriteString("abcd 2001:db8::10:3\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("invalid IP address", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("invalid IP address should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with invalid MAC address to trigger an error
|
|
// add line with invalid MAC address to trigger an error
|
|
|
_, err = tmp.WriteString("22:33:44:55:66:77 bcde\n")
|
|
_, err = tmp.WriteString("22:33:44:55:66:77 bcde\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- t.Run("lease with IPv4 address", func(t *testing.T) {
|
|
|
|
|
|
|
+ t.Run("lease with IPv4 address should raise error", func(t *testing.T) {
|
|
|
// setup temp leases file
|
|
// setup temp leases file
|
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
tmp, err := os.CreateTemp("", "test_plugin_file")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
defer func() {
|
|
defer func() {
|
|
|
- tmp.Close()
|
|
|
|
|
- os.Remove(tmp.Name())
|
|
|
|
|
|
|
+ require.NoError(t, os.Remove(tmp.Name()))
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
// add line with IPv4 address instead to trigger an error
|
|
// add line with IPv4 address instead to trigger an error
|
|
|
_, err = tmp.WriteString("00:11:22:33:44:55 192.0.2.100\n")
|
|
_, err = tmp.WriteString("00:11:22:33:44:55 192.0.2.100\n")
|
|
|
require.NoError(t, err)
|
|
require.NoError(t, err)
|
|
|
|
|
+ require.NoError(t, tmp.Close())
|
|
|
|
|
+
|
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
_, err = LoadDHCPv6Records(tmp.Name())
|
|
|
assert.Error(t, err)
|
|
assert.Error(t, err)
|
|
|
})
|
|
})
|