def test_from_lxml_full(self):
        text = '''<STREAM location="path" cycle="123" cycle_gzip="NO">
  <FILTER>gzip</FILTER>
  <FILTER>bzip2</FILTER>
</STREAM>'''
        log = Stream.from_lxml_element(etree.XML(text))
        right = Stream('path', 123, False, ['gzip', 'bzip2'])
        self.assertEqual(log, right)
    def test_stream(self):
        text = '''
<STREAM custom="unknown">
  abc
  <UNKNOWN>
    <CUSTOM />
  </UNKNOWN>
</STREAM>'''
        stream = Stream.from_string(text)
        tree = stream.to_lxml_element()
        self.assertEqual('unknown', tree.get('custom'))
        unknown = tree.findall('UNKNOWN')
        self.assertEqual(1, len(unknown))
        unknown = unknown[0]
        custom = list(unknown)
        self.assertEqual(1, len(custom))
        custom = custom[0]
        self.assertEqual('CUSTOM', custom.tag)
 def test_to_lxml_location(self):
     log = Stream(location = 'path')
     copy = Stream.from_lxml_element(log.to_lxml_element())
     self.assertEqual(log, copy)
 def test_from_string_filters(self):
     text = '<STREAM><FILTER>gzip</FILTER><FILTER>bzip2</FILTER></STREAM>'
     log = Stream.from_string(text)
     right = Stream(filters = ['gzip', 'bzip2'])
     self.assertEqual(log, right)
 def test_from_string_location(self):
     text = '<STREAM location="path" />'
     log = Stream.from_string(text)
     right = Stream(location = 'path')
     self.assertEqual(log, right)
 def test_filters(self):
     log = Stream()
     self.assertEqual([], log.get_filters())
     log.add_filter('gzip')
     self.assertEqual(['gzip'], log.get_filters())
     log.add_filter('bzip2')
     self.assertEqual(['gzip', 'bzip2'], log.get_filters())
     log.add_filter('bzip2', 0)
     self.assertEqual(['bzip2', 'gzip', 'bzip2'], log.get_filters())
     self.assertEqual('gzip', log.get_filter(1))
     log.remove_filter(1)
     self.assertEqual(['bzip2', 'bzip2'], log.get_filters())
     log = Stream('path', 123, False, ['gzip'])
     self.assertEqual(['gzip'], log.get_filters())
     log = Stream(filters = ['gzip'])
     self.assertEqual(['gzip'], log.get_filters())
 def test_cycle(self):
     log = Stream()
     self.assertEqual(None, log.get_cycle())
     log.set_cycle(123)
     self.assertEqual(123, log.get_cycle())
     log.set_cycle(None)
     self.assertEqual(None, log.get_cycle())
     log = Stream('path', 123)
     self.assertEqual(123, log.get_cycle())
     log = Stream(cycle = 123)
     self.assertEqual(123, log.get_cycle())
 def test_location(self):
     log = Stream()
     self.assertEqual(None, log.get_location())
     log.set_location('/logs/new.log')
     self.assertEqual('/logs/new.log', log.get_location())
     log.set_location(None)
     self.assertEqual(None, log.get_location())
     log = Stream('/logs/MyServer.log')
     self.assertEqual('/logs/MyServer.log', log.get_location())
     log = Stream(location = '/logs/MyServer.log')
     self.assertEqual('/logs/MyServer.log', log.get_location())
 def test_to_lxml_filters(self):
     log = Stream(filters = ['gzip', 'bzip2'])
     copy = Stream.from_lxml_element(log.to_lxml_element())
     self.assertEqual(log, copy)
 def test_from_lxml_filters(self):
     text = '<STREAM><FILTER>gzip</FILTER><FILTER>bzip2</FILTER></STREAM>'
     log = Stream.from_lxml_element(etree.XML(text))
     right = Stream(filters = ['gzip', 'bzip2'])
     self.assertEqual(log, right)
 def test_from_lxml_cycle_gzip(self):
     text = '<STREAM cycle_gzip="NO" />'
     log = Stream.from_lxml_element(etree.XML(text))
     right = Stream(cycle_gzip = False)
     self.assertEqual(log, right)
 def test_from_lxml_cycle(self):
     text = '<STREAM cycle="123" />'
     log = Stream.from_lxml_element(etree.XML(text))
     right = Stream(cycle = 123)
     self.assertEqual(log, right)
 def test_from_lxml_location(self):
     text = '<STREAM location="path" />'
     log = Stream.from_lxml_element(etree.XML(text))
     right = Stream(location = 'path')
     self.assertEqual(log, right)
 def test_from_lxml(self):
     text = '<STREAM />'
     log = Stream.from_lxml_element(etree.XML(text))
     right = Stream()
     self.assertEqual(log, right)
 def test_to_lxml_cycle(self):
     log = Stream(cycle = 123)
     copy = Stream.from_lxml_element(log.to_lxml_element())
     self.assertEqual(log, copy)
 def test_to_lxml_cycle_gzip(self):
     log = Stream(cycle_gzip = False)
     copy = Stream.from_lxml_element(log.to_lxml_element())
     self.assertEqual(log, copy)
 def test_to_string(self):
     log = Stream()
     copy = Stream.from_string(str(log))
     self.assertEqual(log, copy)
 def test_to_lxml_full(self):
     log = Stream('path', 123, False, ['gzip', 'bzip2'])
     copy = Stream.from_lxml_element(log.to_lxml_element())
     self.assertEqual(log, copy)
 def test_to_string_location(self):
     log = Stream(location = 'path')
     copy = Stream.from_string(str(log))
     self.assertEqual(log, copy)
 def test_to_string_cycle(self):
     log = Stream(cycle = 123)
     copy = Stream.from_string(str(log))
     self.assertEqual(log, copy)
 def test_to_string_cycle_gzip(self):
     log = Stream(cycle_gzip = False)
     copy = Stream.from_string(str(log))
     self.assertEqual(log, copy)
 def test_cycle_gzip(self):
     log = Stream()
     self.assertEqual(None, log.get_cycle_gzip())
     log.set_cycle_gzip(True)
     self.assertEqual(True, log.get_cycle_gzip())
     log.set_cycle_gzip(None)
     self.assertEqual(None, log.get_cycle_gzip())
     log = Stream('path', 123, False)
     self.assertEqual(False, log.get_cycle_gzip())
     log = Stream(cycle_gzip = False)
     self.assertEqual(False, log.get_cycle_gzip())
 def test_to_string_filters(self):
     log = Stream(filters = ['gzip', 'bzip2'])
     copy = Stream.from_string(str(log))
     self.assertEqual(log, copy)
 def test_from_string(self):
     text = '<STREAM />'
     log = Stream.from_string(text)
     right = Stream()
     self.assertEqual(log, right)
 def test_to_string_full(self):
     log = Stream('path', 123, False, ['gzip', 'bzip2'])
     copy = Stream.from_string(str(log))
     self.assertEqual(log, copy)
 def test_from_string_cycle(self):
     text = '<STREAM cycle="123" />'
     log = Stream.from_string(text)
     right = Stream(cycle = 123)
     self.assertEqual(log, right)
 def test_from_string_cycle_gzip(self):
     text = '<STREAM cycle_gzip="NO" />'
     log = Stream.from_string(text)
     right = Stream(cycle_gzip = False)
     self.assertEqual(log, right)