Quellcode durchsuchen

file/tests: Close lease files before running tests

As documentation that the files aren't modified during the test

Signed-off-by: Rick Beton <rick.beton@gmail.com>
Signed-off-by: Anatole Denis <natolumin@unverle.fr>
Rick Beton vor 4 Wochen
Ursprung
Commit
c8a9de0e8b
1 geänderte Dateien mit 37 neuen und 29 gelöschten Zeilen
  1. 37 29
      plugins/file/plugin_test.go

+ 37 - 29
plugins/file/plugin_test.go

@@ -22,8 +22,7 @@ func TestLoadDHCPv4Records(t *testing.T) {
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
@@ -33,6 +32,7 @@ func TestLoadDHCPv4Records(t *testing.T) {
 		require.NoError(t, err)
 		_, err = tmp.WriteString("# this is a comment\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
 
 		records, err := LoadDHCPv4Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		defer func() {
-			tmp.Close()
-			os.Remove(tmp.Name())
+			require.NoError(t, os.Remove(tmp.Name()))
 		}()
 
 		// add line with too few fields
 		_, err = tmp.WriteString("foo\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv4Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
 		_, err = tmp.WriteString("abcd 192.0.2.102\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv4Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv4Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
 		_, err = tmp.WriteString("00:11:22:33:44:55 2001:db8::10:1\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv4Records(tmp.Name())
 		assert.Error(t, err)
 	})
@@ -120,8 +124,7 @@ func TestLoadDHCPv6Records(t *testing.T) {
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
@@ -131,6 +134,7 @@ func TestLoadDHCPv6Records(t *testing.T) {
 		require.NoError(t, err)
 		_, err = tmp.WriteString("# this is a comment\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
 
 		records, err := LoadDHCPv6Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		defer func() {
-			tmp.Close()
-			os.Remove(tmp.Name())
+			require.NoError(t, os.Remove(tmp.Name()))
 		}()
 
 		// add line with too few fields
 		_, err = tmp.WriteString("foo\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv6Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
 		_, err = tmp.WriteString("abcd 2001:db8::10:3\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv6Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
 		_, err = tmp.WriteString("22:33:44:55:66:77 bcde\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv6Records(tmp.Name())
 		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
 		tmp, err := os.CreateTemp("", "test_plugin_file")
 		require.NoError(t, err)
 		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
 		_, err = tmp.WriteString("00:11:22:33:44:55 192.0.2.100\n")
 		require.NoError(t, err)
+		require.NoError(t, tmp.Close())
+
 		_, err = LoadDHCPv6Records(tmp.Name())
 		assert.Error(t, err)
 	})