def test_ip_range_parser(self): expected = [ IPRange('10.8.1.1'), ] self.assertEqual(parse_ip_ranges(IP('10.8.1.1')).ranges, expected) self.assertEqual(parse_ip_ranges('10.8.1.1').ranges, expected) self.assertEqual(parse_ip_ranges(168296705).ranges, expected) self.assertEqual(parse_ip_ranges(['10.8.1.1']).ranges, expected) self.assertEqual(parse_ip_ranges( [('10.8.1.1', '10.8.1.1')]).ranges, expected) expected = [ IPRange('10.0.0.1', '10.1.2.3') ] # Special case -- will print a warning with warnings.catch_warnings(record=True) as w: self.assertEqual( parse_ip_ranges(('10.0.0.1', '10.1.2.3')).ranges, expected) self.assertEqual(len(w), 1) self.assertEqual( parse_ip_ranges([('10.0.0.1', '10.1.2.3')]).ranges, expected) expected = [ IPRange('10.0.0.1', '10.0.0.1'), IPRange('10.2.3.4', '10.2.9.9'), ] self.assertEqual( parse_ip_ranges(['10.0.0.1', ('10.2.3.4', '10.2.9.9')]).ranges, expected) expected = [ IPRange('10.0.0.1', '10.0.0.2'), IPRange('10.2.3.4', '10.2.9.9'), ] self.assertEqual( parse_ip_ranges( ['10.0.0.1', ('10.2.3.4', '10.2.9.9'), '10.0.0.2'] ).ranges, expected) self.assertEqual( parse_ip_ranges([ IP('10.0.0.1'), IP('10.0.0.2'), IPRange('10.2.3.4', IP('10.2.9.9')) ]).ranges, expected)
def __init__( self, IP_RANGES=(), SCAN_DELAY=30*60, INDEX_DELAY=2*60*60, SEARCH_ON_USER=True, USER_IN_RANGE_ONLY=True, TIMEOUT=2): self.ip_ranges = parse_ip_ranges(IP_RANGES) self.scan_delay = SCAN_DELAY self.index_delay = INDEX_DELAY self.search_on_user = SEARCH_ON_USER self.user_in_range_only = USER_IN_RANGE_ONLY self.timeout = TIMEOUT