@@ -2,6 +2,7 @@ package e2e_tests
2
2
3
3
import (
4
4
"context"
5
+ "fmt"
5
6
"os"
6
7
"os/exec"
7
8
"testing"
@@ -10,13 +11,28 @@ import (
10
11
"github.com/stretchr/testify/require"
11
12
)
12
13
14
+ const (
15
+ filterTable = "filter"
16
+ natTable = "nat"
17
+ )
18
+
19
+ func getIptablesRules (tableName string ) (string , error ) {
20
+ cmd := exec .Command ("sudo" , "iptables" , "-L" , "-n" , "-t" , tableName )
21
+ output , err := cmd .Output ()
22
+ if err != nil {
23
+ return "" , fmt .Errorf ("failed to get iptables rules: %v" , err )
24
+ }
25
+ rules := string (output )
26
+
27
+ return rules , nil
28
+ }
29
+
13
30
func TestIPTablesCleanup (t * testing.T ) {
14
31
// Step 1: Capture initial iptables rules
15
- initialCmd := exec .Command ("sudo" , "iptables" , "-L" , "-n" )
16
- initialOutput , err := initialCmd .Output ()
17
- require .NoError (t , err , "Failed to get initial iptables rules" )
18
- initialRules := string (initialOutput )
19
- //fmt.Printf("Initial iptables rules:\n%s", initialRules)
32
+ initialFilterRules , err := getIptablesRules (filterTable )
33
+ require .NoError (t , err )
34
+ initialNatRules , err := getIptablesRules (natTable )
35
+ require .NoError (t , err )
20
36
21
37
// Step 2: Run Boundary
22
38
// Find project root by looking for go.mod file
@@ -67,10 +83,11 @@ func TestIPTablesCleanup(t *testing.T) {
67
83
require .NoError (t , err , "Failed to remove /tmp/boundary-test" )
68
84
69
85
// Step 4: Capture iptables rules after boundary has executed
70
- iptablesCmd := exec . Command ( "sudo" , "iptables" , "-L" , "-n" )
71
- iptablesOutput , err := iptablesCmd . Output ( )
72
- require . NoError ( t , err , "Failed to get iptables rules" )
73
- iptablesRules := string ( iptablesOutput )
86
+ filterRules , err := getIptablesRules ( filterTable )
87
+ require . NoError ( t , err )
88
+ natRules , err := getIptablesRules ( natTable )
89
+ require . NoError ( t , err )
74
90
75
- require .Equal (t , initialRules , iptablesRules )
91
+ require .Equal (t , initialFilterRules , filterRules )
92
+ require .Equal (t , initialNatRules , natRules )
76
93
}
0 commit comments