From 9ad12d2259405fd3d4411153d2e38fd05842a9c3 Mon Sep 17 00:00:00 2001 From: Stef T Date: Thu, 6 Sep 2012 19:18:42 +0200 Subject: [PATCH] fixing the tests, so in the absence of iptools, no explosions. Also exporting the variable CIDR_support incase anywhere else needs to know about iptools or not --- slogging/access_processor.py | 5 ++++- test_slogging/unit/test_access_processor.py | 14 +++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/slogging/access_processor.py b/slogging/access_processor.py index 9486b58..f74beab 100644 --- a/slogging/access_processor.py +++ b/slogging/access_processor.py @@ -21,11 +21,14 @@ import copy # is present in the system. Without iptools, you will lack CIDR support. try: from iptools import IpRangeList + CIDR_support = True def return_ips(conf, conf_tag): return IpRangeList(*[x.strip() for x in conf.get(conf_tag, '').split(',') if x.strip()]) -except: +except ImportError: + CIDR_support = False + def return_ips(conf, conf_tag): return ([x.strip() for x in conf.get(conf_tag, '').split(',') if x.strip()]) diff --git a/test_slogging/unit/test_access_processor.py b/test_slogging/unit/test_access_processor.py index 53e27e3..cecb971 100644 --- a/test_slogging/unit/test_access_processor.py +++ b/test_slogging/unit/test_access_processor.py @@ -22,11 +22,15 @@ from slogging import access_processor class TestAccessProcessor(unittest.TestCase): def test_CIDR_works(self): - p = access_processor.AccessLogProcessor({'lb_private_ips': - '127.0.0.1,192.168/16,10/24'}) - self.assertTrue('192.168.2.3' in p.lb_private_ips) - self.assertTrue('127.0.0.1' in p.lb_private_ips) - self.assertFalse('192.167.2.3' in p.lb_private_ips) + if access_processor.CIDR_support: + p = access_processor.AccessLogProcessor({'lb_private_ips': + '127.0.0.1,192.168/16,10/24'}) + self.assertTrue('192.168.2.3' in p.lb_private_ips) + self.assertTrue('127.0.0.1' in p.lb_private_ips) + self.assertFalse('192.167.2.3' in p.lb_private_ips) + else: + from nose import SkipTest + return SkipTest("iptools for CIDR support not installed") def test_log_line_parser_query_args(self): p = access_processor.AccessLogProcessor({})