Beispiel #1
0
class UtSquidParser(unittest.TestCase):
    def setUp(self):
        self.parser = SquidParser()

    def testValidateLine(self):
        line = '1352521070 10.30.13.11 GET http://www.sunlife.ca/static/plan/plan_overrideGW.css'
        result = self.parser.validateLine(line)
        self.assertEqual(result, line, "should be a valid line")

    def testInvalidLine(self):
        line = 'Nov  9 23:17:46 10.30.13.1 1352521070 10.30.13.11 GET http://www.sunlife.ca/static/slfglobal/styles/globalweb.css'
        result = self.parser.validateLine(line)
        self.assertTrue(result is None, "should be an invalid line")

    def testParseTime(self):
        ''' time should be 2012/11/09 23:17:50 '''
        epoch_time = '1352521070'
        parsed_time = self.parser.parseTime(epoch_time)
        #print parsed_time.strftime("%Y/%m/%d %H:%M:%S")
        result = parsed_time.strftime("%Y/%m/%d %H:%M:%S")

        self.assertEqual(result, '2012/11/09 23:17:50',
                         "time(EST) should be 2012/11/09 23:17:50")

    def testParseUrl(self):
        '''sample URL: http://www.sunlife.ca/static/plan/plan_overrideGW.css'''
        url = 'http://www.sunlife.ca/static/plan/plan_overrideGW.css'
        result = self.parser.parseDomain(url)
        self.assertEqual(result, 'www.sunlife.ca',
                         "domain should be www.sunlife.ca")

    def testParseLine(self):
        '''Sample data: 1352521070 10.30.13.11 GET http://www.sunlife.ca/static/plan/plan_overrideGW.css'''
        line_to_parse = '1352521070 10.30.13.11 GET http://www.sunlife.ca/static/plan/plan_overrideGW.css'
        event = self.parser.parseLine(line_to_parse)

        event_time = event['create_time'].strftime("%Y/%m/%d %H:%M:%S")
        self.assertEqual(event_time, '2012/11/09 23:17:50',
                         "time(EST) should be 2012/11/09 23:17:50")
        self.assertEqual(event['ip'], '10.30.13.11',
                         "IP should be 10.30.13.11")
        self.assertEqual(event['domain'], 'www.sunlife.ca',
                         "domain should be www.sunlife.ca")
Beispiel #2
0
class UtSquidParser(unittest.TestCase):
    
    def setUp(self):
        self.parser = SquidParser()
    
    def testValidateLine(self):
        line = '1352521070 10.30.13.11 GET http://www.sunlife.ca/static/plan/plan_overrideGW.css'        
        result = self.parser.validateLine(line)
        self.assertEqual(result, line, "should be a valid line")

    def testInvalidLine(self):
        line = 'Nov  9 23:17:46 10.30.13.1 1352521070 10.30.13.11 GET http://www.sunlife.ca/static/slfglobal/styles/globalweb.css'
        result = self.parser.validateLine(line)
        self.assertTrue(result is None,"should be an invalid line")
        
    def testParseTime(self):
        ''' time should be 2012/11/09 23:17:50 '''
        epoch_time = '1352521070'
        parsed_time = self.parser.parseTime(epoch_time);
        #print parsed_time.strftime("%Y/%m/%d %H:%M:%S")
        result = parsed_time.strftime("%Y/%m/%d %H:%M:%S")
        
        self.assertEqual(result, '2012/11/09 23:17:50', "time(EST) should be 2012/11/09 23:17:50")

    def testParseUrl(self):
        '''sample URL: http://www.sunlife.ca/static/plan/plan_overrideGW.css'''
        url = 'http://www.sunlife.ca/static/plan/plan_overrideGW.css'
        result = self.parser.parseDomain(url)
        self.assertEqual(result, 'www.sunlife.ca', "domain should be www.sunlife.ca")
        
    def testParseLine(self):
        '''Sample data: 1352521070 10.30.13.11 GET http://www.sunlife.ca/static/plan/plan_overrideGW.css'''
        line_to_parse = '1352521070 10.30.13.11 GET http://www.sunlife.ca/static/plan/plan_overrideGW.css'
        event = self.parser.parseLine(line_to_parse)
        
        event_time = event['create_time'].strftime("%Y/%m/%d %H:%M:%S")
        self.assertEqual(event_time, '2012/11/09 23:17:50', "time(EST) should be 2012/11/09 23:17:50")        
        self.assertEqual(event['ip'], '10.30.13.11', "IP should be 10.30.13.11")
        self.assertEqual(event['domain'], 'www.sunlife.ca', "domain should be www.sunlife.ca")
Beispiel #3
0
class ParserFactory:
    parser_map = {'squid': SquidParser(), 'justniffer': JustNifferParser()}

    inbox_map = {
        'squid': '/opt/esm/dp/inbox/squid/',
        'justniffer': '/opt/esm/dp/inbox/justniffer/'
    }

    @staticmethod
    def createParser(device_name):
        return ParserFactory.parser_map.get(device_name)

    @staticmethod
    def getInboxPath(device_name):
        return ParserFactory.inbox_map.get(device_name)
Beispiel #4
0
 def setUp(self):
     self.parser = SquidParser()
Beispiel #5
0
 def setUp(self):
     self.parser = SquidParser()