public void TestParseRule() { var systemFactory = new MockIptablesSystemFactory(); var ipUtils = new IpRuleController(systemFactory); var one = ipUtils.ParseObjectInternal("default via 10.17.199.1 dev s4 table 200", "to"); var two = ipUtils.ParseObjectInternal("default via 10.17.199.1 dev s4 table 200", "to"); CollectionAssert.AreEqual(one.Pairs, two.Pairs); Assert.AreEqual("default", one.Pairs["to"]); Assert.AreEqual("200",one.Pairs["table"]); }
public void TestDeleteRule() { var systemFactory = new MockIptablesSystemFactory(); var ipUtils = new IpRuleController(systemFactory); ipUtils.Delete("from", "1.1.1.1", "lookup", "100"); var expected = new List<KeyValuePair<String, String>> { new KeyValuePair<string, string> ("ip","rule delete from 1.1.1.1 lookup 100") }; CollectionAssert.AreEqual(expected, systemFactory.ExecutionLog); }
public void TestAddObjRule() { var systemFactory = new MockIptablesSystemFactory(); var ipUtils = new IpRuleController(systemFactory); var obj = new IpObject(); obj.Pairs.Add("from", "1.1.1.1"); obj.Pairs.Add("lookup", "100"); obj.Singles.Add("not"); ipUtils.Add(obj); var expected = new List<KeyValuePair<String, String>> { new KeyValuePair<string, string> ("ip","rule add not from 1.1.1.1 lookup 100") }; CollectionAssert.AreEqual(expected, systemFactory.ExecutionLog); }
public void TestDeleteRuleId() { var systemFactory = new MockIptablesSystemFactory(); var ipUtils = new IpRuleController(systemFactory); IpObject ipObject = new IpObject(); ipObject.Pairs.Add("pref","100"); ipObject.Pairs.Add("from","1.1.1.1"); ipUtils.Delete(ipObject); var expected = new List<KeyValuePair<String, String>> { new KeyValuePair<string, string> ("ip","rule delete pref 100 from 1.1.1.1") }; CollectionAssert.AreEqual(expected, systemFactory.ExecutionLog); }
public void TestGetRules() { var systemFactory = new MockIptablesSystemFactory(); var output = "32766: from all lookup main\n32767: from all lookup default"; systemFactory.MockOutputs.Add(new KeyValuePair<string, string>("ip","rule show"), new StreamReader[]{new StreamReader(new MemoryStream(Encoding.ASCII.GetBytes(output)))}); var ipUtils = new IpRuleController(systemFactory); var rules = ipUtils.GetAll(); Assert.AreEqual(2, rules.Count); Assert.AreEqual("pref 32766 from all lookup main", string.Join(" ", ipUtils.ExportObject(rules[0]))); Assert.AreEqual("pref 32767 from all lookup default", string.Join(" ", ipUtils.ExportObject(rules[1]))); }