-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathIPTablesRuleTests.cs
More file actions
39 lines (34 loc) · 1.35 KB
/
IPTablesRuleTests.cs
File metadata and controls
39 lines (34 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Security.Cryptography;
using IPTables.Net.Iptables;
using IPTables.Net.Iptables.Modules.Mark;
namespace IPTables.Net.Tests
{
public class IPTablesRuleTests
{
[Fact]
public void TestDefaultChain()
{
IpTablesChainSet chains = new IpTablesChainSet(4);
var rule = IpTablesRule.Parse("-A PREROUTING -s 1.1.1.1 -j TEST", null, chains, 4, "raw", IpTablesRule.ChainCreateMode.CreateNewChainIfNeeded);
Assert.Equal("raw", rule.Chain.Table);
}
[Fact]
public void TestAppendRule()
{
IpTablesChainSet chains = new IpTablesChainSet(4);
var rule = IpTablesRule.Parse("-A PREROUTING -s 1.1.1.1 -j TEST", null, chains, 4, "raw", IpTablesRule.ChainCreateMode.CreateNewChainIfNeeded);
rule.AppendToRule("! -m devgroup --src-group 0x2");
}
[Fact]
public void TestGetModuleOrLoad_CanLoadBareTargetAfterParse()
{
IpTablesChainSet chains = new IpTablesChainSet(4);
var rule = IpTablesRule.Parse("-A INPUT -j MARK", null, chains, 4);
var mark = rule.GetModuleOrLoad<MarkTargetModule>("MARK");
Assert.NotNull(mark);
mark.SetOrMark(1);
Assert.Equal("-A INPUT -j MARK --set-xmark 0x1/0x1", rule.GetActionCommand());
}
}
}