public void Test() { TAAuthorizer a1 = new ConstantAuthorizer(TAAuthorizer.Decision.Allow); TransportAddress ta = TransportAddressFactory.CreateInstance("brunet.udp://127.0.0.1:45"); Assert.IsTrue(a1.IsNotDenied(ta), "constant allow"); TAAuthorizer a2 = new ConstantAuthorizer(TAAuthorizer.Decision.Deny); Assert.IsFalse(a2.IsNotDenied(ta), "constant deny"); IPAddress network = IPAddress.Parse("10.128.0.0"); TAAuthorizer a3 = new NetmaskTAAuthorizer(network, 9, TAAuthorizer.Decision.Deny, TAAuthorizer.Decision.None); TransportAddress ta2 = TransportAddressFactory.CreateInstance("brunet.udp://10.255.255.255:80"); Assert.AreEqual(a3.Authorize(ta2), TAAuthorizer.Decision.Deny, "Netmask Deny"); TransportAddress ta3 = TransportAddressFactory.CreateInstance("brunet.udp://10.1.255.255:80"); Assert.AreEqual(a3.Authorize(ta3), TAAuthorizer.Decision.None, "Netmask None"); //Here is the series: //If Netmask doesn't say no, constant says yes: TAAuthorizer[] my_auths = new TAAuthorizer[] { a3, a1 }; TAAuthorizer a4 = new SeriesTAAuthorizer(my_auths); Assert.AreEqual(a4.Authorize(ta2), TAAuthorizer.Decision.Deny, "Series Deny"); Assert.AreEqual(a4.Authorize(ta3), TAAuthorizer.Decision.Allow, "Series Allow"); }
public void Test() { TAAuthorizer a1 = new ConstantAuthorizer(TAAuthorizer.Decision.Allow); TransportAddress ta = TransportAddressFactory.CreateInstance("brunet.udp://127.0.0.1:45"); Assert.IsTrue( a1.IsNotDenied( ta ), "constant allow"); TAAuthorizer a2 = new ConstantAuthorizer(TAAuthorizer.Decision.Deny); Assert.IsFalse( a2.IsNotDenied( ta ), "constant deny"); IPAddress network = IPAddress.Parse("10.128.0.0"); TAAuthorizer a3 = new NetmaskTAAuthorizer(network, 9, TAAuthorizer.Decision.Deny, TAAuthorizer.Decision.None); TransportAddress ta2 = TransportAddressFactory.CreateInstance("brunet.udp://10.255.255.255:80"); Assert.AreEqual(a3.Authorize(ta2), TAAuthorizer.Decision.Deny, "Netmask Deny"); TransportAddress ta3 = TransportAddressFactory.CreateInstance("brunet.udp://10.1.255.255:80"); Assert.AreEqual(a3.Authorize(ta3), TAAuthorizer.Decision.None, "Netmask None"); //Here is the series: //If Netmask doesn't say no, constant says yes: TAAuthorizer[] my_auths = new TAAuthorizer[]{ a3, a1 }; TAAuthorizer a4 = new SeriesTAAuthorizer(my_auths); Assert.AreEqual(a4.Authorize(ta2), TAAuthorizer.Decision.Deny, "Series Deny"); Assert.AreEqual(a4.Authorize(ta3), TAAuthorizer.Decision.Allow, "Series Allow"); }