nat_chain_test.go 473 B

12345678910111213141516171819
  1. package firewall
  2. import (
  3. "strings"
  4. "testing"
  5. )
  6. func TestSaveDNATRequiresDstnatChain(t *testing.T) {
  7. m := &FirewallManager{}
  8. for _, chain := range []string{"srcnat", "custom", "output"} {
  9. err := m.SaveNATRule(NATRule{Chain: chain, Action: "dst-nat"})
  10. if err == nil || !strings.Contains(err.Error(), "dstnat chain") {
  11. t.Fatalf("chain %s: expected dstnat error, got %v", chain, err)
  12. }
  13. if len(m.natRules) != 0 {
  14. t.Fatal("rejected rule was saved")
  15. }
  16. }
  17. }