def test_RspReader(self):
    self.fp = rspreader.RspReader(file(TESTPATH, 'rb'), TESTPATH)
    p = patterns_tester.checkPatterns(self.fp, [' HTTP/1.0'])    # request line not found
    self.assertEqual(' HTTP/1.0', p)

    # seek(0) doesn't work for RspReader, reopen
    self.fp.close()

    self.fp = rspreader.RspReader(file(TESTPATH, 'rb'), TESTPATH)
    p = patterns_tester.checkPatterns(self.fp, [
        ' 200 OK', 'Content-Length: ', '^\r\n',             # response found
        '<!DOCTYPE html', '<html', '</body>', '</html>',   # content found
        ], '<'
    )
    self.assertEqual(None, p)
 def testOpenMlog_controlled(self):
   self.fp = file(TESTPATH, 'rb')
   p = patterns_tester.checkPatterns(self.fp, [
       ' HTTP/1.0',     # request found
       ' 200 OK',       # response found
   ])
   self.assertEqual(None, p)
  def testOpenMlog(self):
    self.fp = rspreader.openlog(TESTPATH)

    p = patterns_tester.checkPatterns(self.fp, [' HTTP/1.0']) # request not found
    self.assertEqual(' HTTP/1.0', p)
    self.fp.seek(0)

    p = patterns_tester.checkPatterns(self.fp, [' 200 OK'])   # response not found
    self.assertEqual(' 200 OK', p)
    self.fp.seek(0)

    p = patterns_tester.checkPatterns(self.fp,
        ['<!DOCTYPE html', '<html', '</body>', '</html>',],
        '<'
    )
    self.assertEqual(None, p)
  def test_no_encoding(self):
    self.fp = file(TESTPATH, 'rb')
    rfile = rspreader.ContentReader(self.fp, TESTPATH)
    p = patterns_tester.checkPatterns(rfile, [' HTTP/1.0'])     # request line not found
    self.assertEqual(' HTTP/1.0', p)
    rfile.seek(0)

    p = patterns_tester.checkPatterns(rfile, [' 200 '])         # response header not included
    self.assertEqual(' 200 ', p)
    rfile.seek(0)

    p = patterns_tester.checkPatterns(rfile,
        ['<!DOCTYPE html', '<html', '</body>', '</html>',],
        '<'
    )
    self.assertEqual(None, p)
 def testOpenRegularDoc(self):
   self.fp = file(testdir + 'basictags.html', 'rb')
   p = patterns_tester.checkPatterns(self.fp, [
       '<html>',
       '<h1>h1-Sample',
       '</html>',
       ], 'x'
   )
   self.assertEqual(None, p)
 def testChunkedGzip(self):
   self.fp = file(testdir + 'chunked-gzip(BBR).mlog', 'rb')
   rfile = rspreader.ContentReader(self.fp, 'chunked-gzip(BBR).mlog')
   p = patterns_tester.checkPatterns(rfile, [
       '<HTML>',
       'google_ad_client = "pub-5216754536572039";\n',
       '</HTML>'
       ], '<'
   )
   self.assertEqual(None, p)
 def testChunked(self):
   self.fp = file(testdir + 'chunked(ucsc).mlog', 'rb')
   rfile = rspreader.ContentReader(self.fp, 'chunked(ucsc).mlog')
   p = patterns_tester.checkPatterns(rfile, [
       '<HTML>',
       '<TITLE>MEMORANDUM</TITLE>\n',
       'positions 7 through 12.',              # this sentence span chunks
       '</HTML>'
       ], '<'
   )
   self.assertEqual(None, p)
 def test_gzip_encoding(self):
   self.fp = file(testdir + 'gzipped(slashdot).mlog', 'rb')
   rfile = rspreader.ContentReader(self.fp, 'gzipped(slashdot).mlog')
   p = patterns_tester.checkPatterns(rfile, [
       '<!DOCTYPE',
       'Slashdot: News for nerds, stuff that matters',
       '<!-- Advertisement code. -->',
       '</HTML>'
       ], '<'
   )
   self.assertEqual(None, p)
 def test_RspReader_controlled(self):
   """ controlled test of test_RspReader() without using RspReader """
   self.fp = file(TESTPATH, 'rb')
   p = patterns_tester.checkPatterns(self.fp, [' HTTP/1.0'])    # request line found
   self.assertEqual(None, p)
 def test_no_encoding_controlled(self):
   """ controlled test of test_no_encoding() without using ContentReader"""
   self.fp = file(TESTPATH, 'rb')
   p = patterns_tester.checkPatterns(self.fp.read(), [' HTTP/1.0'])   # request line found
   self.assertEqual(None, p)