def testGetPid(self): "Test that we can get the conninfo for a particular PID and that it looks correct." conntrack._clearmaps() conntrack.up(1, "127.0.0.3", ("abc", "def", "GLOBAL")) conntrack.up(2, "127.0.0.4", ("test",)) self.assertEqual(str(conntrack.getpid(1)), "<CI: PID 1, IP 127.0.0.3, classes: abc def GLOBAL>") self.assertEqual(str(conntrack.getpid(2)), "<CI: PID 2, IP 127.0.0.4, classes: test>")
def testGetPids(self): "Test that we correctly report what pids we have." conntrack._clearmaps() self.assertEqual(conntrack.getpids(), []) self._up(1) self.assertEqual(conntrack.getpids(), [1,]) self._up(2) self._up(3) r = conntrack.getpids(); r.sort() self.assertEqual(r, [1, 2, 3])
def testManyClasses(self): """We should correctly add to each class for multi-class connections.""" conntrack._clearmaps() conntrack.up(1, '127.0.0.1', ('foo', 'bar')) self.assertEqual(conntrack.classcount('foo'), 1) self.assertEqual(conntrack.classcount('bar'), 1) conntrack.down(1) self.assertEqual(conntrack.classcount('foo'), 0) self.assertEqual(conntrack.classcount('bar'), 0) self.assertEqual(len(conntrack.activeclasses()), 0)
def testHasPid(self): "Test that we accurately report whether we are tracking a PID." conntrack._clearmaps() self.assertEqual(conntrack.havepid(1), 0) self._up(1) self.assertEqual(conntrack.havepid(1), 1) self.assertEqual(conntrack.havepid(2), 0) self._up(2) self.assertEqual(conntrack.havepid(2), 1) conntrack.down(1) self.assertEqual(conntrack.havepid(2), 1) self.assertEqual(conntrack.havepid(1), 0) conntrack.down(2) self.assertEqual(conntrack.havepid(2), 0)
def testMaxLims(self): "Test that connmax and ipmax are correctly handled in see situations." rip = "0.0.0.1" hi = makehi(rip=rip) aroot = actions.fromfile(StringIO(testSeeF), "<t>") clsl = genrules(("class50",)) for ipl, connl, lmsg in self.knownLimVals: conntrack._clearmaps() for i in range(0, ipl): conntrack.up(i, rip, []) for i in range(0, connl): conntrack.up(i + 100, "NOIP", ["class50"]) r = aroot.genaction(hi, clsl) self.assertEqual(r.logmsgs, lmsg) # insure that this stays true if we up class51 too. conntrack.up(1000, "NOIP", ["class51"]) conntrack.up(1001, "NOIP", ["class51"]) conntrack.up(1002, "NOIP", ["class51"]) r = aroot.genaction(hi, clsl) self.assertEqual(r.logmsgs, lmsg)
def _start(self, pid): conntrack._clearmaps() self._up(pid)
def testRemoveMissing(self): "Removing a nonexistent PID succeeds." conntrack._clearmaps() conntrack.down(1)
def testEmptyCount(self): "Test that we can get a zero count for values not in the system" conntrack._clearmaps() self.assertEqual(conntrack.ipcount("127.100.100.0"), 0) self.assertEqual(conntrack.classcount("FOOBAR"), 0)