parent
0140a934c2
commit
60b7f11176
|
@ -35,7 +35,7 @@ class Filter(Step):
|
||||||
nextStep = self.nextStep if self.filter(entry) else self.altStep
|
nextStep = self.nextStep if self.filter(entry) else self.altStep
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
nextStep = self.altStep
|
nextStep = self.altStep
|
||||||
log.error("Error while executing %s: %s." % (type(self), str(e)))
|
log.error("Error while executing %s (%s): %s." % (type(self), self.stepName, str(e)))
|
||||||
return nextStep
|
return nextStep
|
||||||
|
|
||||||
class Action(Step):
|
class Action(Step):
|
||||||
|
@ -52,5 +52,5 @@ class Action(Step):
|
||||||
nextStep = self.nextStep
|
nextStep = self.nextStep
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
nextStep = None
|
nextStep = None
|
||||||
log.error("Error while executing %s: %s." % (type(self), str(e)))
|
log.error("Error while executing %s (%s): %s." % (type(self), self.stepName, str(e)))
|
||||||
return nextStep
|
return nextStep
|
||||||
|
|
|
@ -38,7 +38,10 @@ class Filter(base.Filter):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _toNetAndMask(self, family, bits, net):
|
def _toNetAndMask(self, family, bits, net):
|
||||||
ip, mask = net.split("/")
|
if "/" in net:
|
||||||
|
ip, mask = net.split("/")
|
||||||
|
else:
|
||||||
|
ip, mask = net, bits
|
||||||
numericMask = ((1<<int(mask))-1)<<(bits-int(mask))
|
numericMask = ((1<<int(mask))-1)<<(bits-int(mask))
|
||||||
numericIP = self._numericIP(family, ip)
|
numericIP = self._numericIP(family, ip)
|
||||||
return numericIP & numericMask, numericMask
|
return numericIP & numericMask, numericMask
|
||||||
|
|
|
@ -9,12 +9,18 @@ def whenIp4InNet4ThenTrue():
|
||||||
def whenIp4NotInNet4ThenFalse():
|
def whenIp4NotInNet4ThenFalse():
|
||||||
assert not Filter({"field": "ip", "nets": ["34.56.78.90/12"]}).filter({"ip": "34.47.255.254"})
|
assert not Filter({"field": "ip", "nets": ["34.56.78.90/12"]}).filter({"ip": "34.47.255.254"})
|
||||||
|
|
||||||
|
def whenIp4ItselfThenTrue():
|
||||||
|
assert Filter({"field": "ip", "nets": ["12.34.56.78"]}).filter({"ip": "12.34.56.78"})
|
||||||
|
|
||||||
def whenIp6InNet6ThenTrue():
|
def whenIp6InNet6ThenTrue():
|
||||||
assert Filter({"field": "ip", "nets": ["2001:db8:1:1a0::/59"]}).filter({"ip": "2001:db8:1:1a0::1"})
|
assert Filter({"field": "ip", "nets": ["2001:db8:1:1a0::/59"]}).filter({"ip": "2001:db8:1:1a0::1"})
|
||||||
|
|
||||||
def whenIp6NotInNet6ThenFalse():
|
def whenIp6NotInNet6ThenFalse():
|
||||||
assert not Filter({"field": "ip", "nets": ["2001:db8:1:1a0::/59"]}).filter({"ip": "2001:db8:1:19f:ffff:ffff:ffff:fffe"})
|
assert not Filter({"field": "ip", "nets": ["2001:db8:1:1a0::/59"]}).filter({"ip": "2001:db8:1:19f:ffff:ffff:ffff:fffe"})
|
||||||
|
|
||||||
|
def whenIp6ItselfThenTrue():
|
||||||
|
assert Filter({"field": "ip", "nets": ["2001:db8:1:1a0::"]}).filter({"ip": "2001:db8:1:1a0::"})
|
||||||
|
|
||||||
def whenNumericIp6InNet4ThenFalse():
|
def whenNumericIp6InNet4ThenFalse():
|
||||||
assert not Filter({"field": "ip", "nets": ["34.56.78.90/12"]}).filter({"ip": "::2230:1"})
|
assert not Filter({"field": "ip", "nets": ["34.56.78.90/12"]}).filter({"ip": "::2230:1"})
|
||||||
|
|
||||||
|
@ -33,8 +39,10 @@ def whenNoNetworkThenFalse():
|
||||||
def unitTests():
|
def unitTests():
|
||||||
whenIp4InNet4ThenTrue()
|
whenIp4InNet4ThenTrue()
|
||||||
whenIp4NotInNet4ThenFalse()
|
whenIp4NotInNet4ThenFalse()
|
||||||
|
whenIp4ItselfThenTrue()
|
||||||
whenIp6InNet6ThenTrue()
|
whenIp6InNet6ThenTrue()
|
||||||
whenIp6NotInNet6ThenFalse()
|
whenIp6NotInNet6ThenFalse()
|
||||||
|
whenIp6ItselfThenTrue()
|
||||||
whenNumericIp6InNet4ThenFalse()
|
whenNumericIp6InNet4ThenFalse()
|
||||||
whenNumericIp4InNet6ThenFalse()
|
whenNumericIp4InNet6ThenFalse()
|
||||||
whenIpInOneNetworkThenTrue()
|
whenIpInOneNetworkThenTrue()
|
||||||
|
|
Loading…
Reference in New Issue