def testEndIsFiredOnSingleListener(self): with tempfile.NamedTemporaryFile(suffix="test.json") as tmp: tmp.write(self.testContent1) tmp.seek(0) stream = MemoryStream() converter = W3CIISLogParser() by_hour_counts = ByHourMaxHitCounts(stream) converter.addListener(by_hour_counts) converter.enumerate_files(os.path.dirname(tmp.name)+"/*test.json") self.obj = stream.read() self.assertEqual(self.obj[12], 5)
def testApplyingExcludeMethodFilter(self): method = "POST" with tempfile.NamedTemporaryFile() as tmp: tmp.write(self.testContent) tmp.seek(0) stream = MemoryStream() converter = W3CIISLogParser() by_hour_hit_counts = ByHourHitCounts(stream, [MethodFilter(method, FilterMode.Exclude)]) converter.addListener(by_hour_hit_counts) converter.enumerate_files(tmp.name) self.obj = stream.read() self.assertEquals(2, self.obj["13"])
def testApplyingUriStemPrefixFilter(self): stemPrefixToFind = ["/en/zee_page"] filter = UriStemPrefixFilter(stemPrefixToFind, FilterMode.Exclude) with tempfile.NamedTemporaryFile() as tmp: tmp.write(self.testContent) tmp.seek(0) stream = MemoryStream() converter = W3CIISLogParser() by_hour_hit_counts = ByHourHitCounts(stream, [filter]) converter.addListener(by_hour_hit_counts) converter.enumerate_files(tmp.name) self.obj = stream.read() self.assertEquals(1, self.obj["13"])
def setUp(self): self.testContent = """#Software: Microsoft Internet Information Services 7.5 #Version: 1.0 #Date: 2012-07-30 00:00:00 #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken 2012-07-30 12:13:14 10.8.5.123 GET /en/zee_page.html a=1&b=2&c=3 80 Bongo 192.168.0.1 Mozilla/5.0+(iPad;+CPU+OS+5_1_1+like+Mac+OS+X)+AppleWebKit/534.46+(KHTML,+like+Gecko)+Version/5.1+Mobile/9B206+Safari/7534.48.3 200 1 2 858 2012-07-30 13:13:14 10.8.5.123 GET /en/zee_page.html a=1&b=2&c=3 80 Bongo 192.168.0.1 Mozilla/5.0+(iPad;+CPU+OS+5_1_1+like+Mac+OS+X)+AppleWebKit/534.46+(KHTML,+like+Gecko)+Version/5.1+Mobile/9B206+Safari/7534.48.3 200 1 2 858 2012-07-30 13:14:14 10.8.5.123 GET /en/zee_page.html a=1&b=2&c=3 80 Bongo 192.168.0.1 Mozilla/5.0+(iPad;+CPU+OS+5_1_1+like+Mac+OS+X)+AppleWebKit/534.46+(KHTML,+like+Gecko)+Version/5.1+Mobile/9B206+Safari/7534.48.3 200 1 2 858 """ with tempfile.NamedTemporaryFile(suffix="test.json") as tmp: tmp.write(self.testContent) tmp.seek(0) converter = W3CIISLogParser() stream = MemoryStream() by_hour_counts = ByHourHitCounts(stream) converter.addListener(by_hour_counts) converter.enumerate_files(os.path.dirname(tmp.name)+"/*test.json") self.obj = stream.read()