Example #1
0
 def setUp(self):
     self.caster = MagicMock()
     self.handler = transport.SyslogToZeroMQHandler(self.caster)
     self.msg_head = SyslogMessageHead()
     self.msg_part_1 = "Part 1 "
     self.msg_part_2 = "Part 2 "
     self.msg_part_3 = "Part 3 "
     self.test_message = self.msg_part_1 + self.msg_part_2 + self.msg_part_3
     self.msg_length = 127
     self.final_message = self.msg_head.as_dict()
     self.final_message['message'] = self.test_message
     self.final_message['msg_length'] = self.msg_length
Example #2
0
    def setUp(self):
        self.host = '127.0.0.1'
        self.port = '5000'
        self.host_tuple = (self.host, self.port)
        self.connect_host_tuples = [self.host_tuple]

        self.msg_head = SyslogMessageHead()
        self.test_message = "test_message"
        self.msg_length = 127
        self.final_message = self.msg_head.as_dict()
        self.final_message['message'] = self.test_message
        self.final_message['msg_length'] = self.msg_length
        self.final_message_json = simplejson.dumps(self.final_message)
Example #3
0
 def build_header(self, app_name, host_name, message_id, priority,
                  process_id, version, timestamp, sd):
     """ Builds a Syslog Message Header Object
     Also handles replacing passed None's with syslog "nil" values.
     """
     head = SyslogMessageHead()
     head.appname = app_name or '-'
     head.hostname = host_name or '-'
     head.messageid = message_id or '-'
     head.priority = priority or '-'
     head.processid = process_id or '-'
     head.timestamp = timestamp or '-'
     head.version = version or '-'
     head.sd = sd or {}
     return head
Example #4
0
class WhenIntegrationTestingTransport(unittest.TestCase):

    def setUp(self):
        self.host = '127.0.0.1'
        self.port = '5000'
        self.host_tuple = (self.host, self.port)
        self.connect_host_tuples = [self.host_tuple]

        self.msg_head = SyslogMessageHead()
        self.test_message = "test_message"
        self.msg_length = 127
        self.final_message = self.msg_head.as_dict()
        self.final_message['message'] = self.test_message
        self.final_message['msg_length'] = self.msg_length
        self.final_message_json = simplejson.dumps(self.final_message)

    def test_message_transport_over_zmq(self):
        self.caster = transport.ZeroMQCaster(self.host_tuple)
        self.handler = transport.SyslogToZeroMQHandler(self.caster)
        self.receiver = transport.ZeroMQReceiver(self.connect_host_tuples)
        self.receiver.connect()

        self.handler.on_msg_head(self.msg_head)
        self.handler.on_msg_part(self.test_message)
        self.handler.on_msg_complete(self.msg_length)

        rcvd_msg = self.receiver.get()
        self.assertEqual(rcvd_msg, self.final_message_json)

    def tearDown(self):
        self.caster.close()
        self.receiver.close()
Example #5
0
 def build_header(self, app_name, host_name, message_id, priority,
                  process_id, version, timestamp, sd):
     """ Builds a Syslog Message Header Object
     Also handles replacing passed None's with syslog "nil" values.
     """
     head = SyslogMessageHead()
     head.appname = app_name or '-'
     head.hostname = host_name or '-'
     head.messageid = message_id or '-'
     head.priority = priority or '-'
     head.processid = process_id or '-'
     head.timestamp = timestamp or '-'
     head.version = version or '-'
     head.sd = sd or {}
     return head
Example #6
0
class WhenTestingSyslogToZeroMQHandler(unittest.TestCase):

    def setUp(self):
        self.caster = MagicMock()
        self.handler = transport.SyslogToZeroMQHandler(self.caster)
        self.msg_head = SyslogMessageHead()
        self.msg_part_1 = "Part 1 "
        self.msg_part_2 = "Part 2 "
        self.msg_part_3 = "Part 3 "
        self.test_message = self.msg_part_1 + self.msg_part_2 + self.msg_part_3
        self.msg_length = 127
        self.final_message = self.msg_head.as_dict()
        self.final_message['message'] = self.test_message
        self.final_message['msg_length'] = self.msg_length

    def test_constructor(self):
        self.assertIsInstance(self.handler.msg, bytearray)
        self.assertIsNone(self.handler.msg_head)
        self.assertEqual(self.handler.caster, self.caster)
        self.assertTrue(self.handler.caster.bound)

    def test_on_msg_head(self):
        self.handler.on_msg_head(self.msg_head)
        self.assertEqual(self.handler.msg_head, self.msg_head)

    def test_on_msg_part(self):
        self.handler.on_msg_part(self.msg_part_1)
        self.assertEqual(
            self.handler.msg,
            bytearray(self.msg_part_1)
        )
        self.handler.on_msg_part(self.msg_part_2)
        self.assertEqual(
            self.handler.msg,
            bytearray(self.msg_part_1 + self.msg_part_2)
        )
        self.handler.on_msg_part(self.msg_part_3)
        self.assertEqual(
            self.handler.msg,
            bytearray(self.msg_part_1 + self.msg_part_2 + self.msg_part_3)
        )

    def test_on_msg_complete(self):
        self.handler.on_msg_head(self.msg_head)
        self.handler.on_msg_part(self.msg_part_1)
        self.handler.on_msg_part(self.msg_part_2)
        self.handler.on_msg_part(self.msg_part_3)
        self.handler.on_msg_complete(self.msg_length)
        self.caster.cast.assert_called_once_with(
            simplejson.dumps(self.final_message))
        self.assertEqual(self.handler.msg, b'')