def test_config_port_too_high(self): config = { 'module': 'scalyr_agent.builtin_monitors.syslog_monitor', 'protocols': 'udp:70000' } self.assertRaises(Exception, lambda: SyslogMonitor(config, scalyr_logging.getLogger("syslog_monitor[test]")))
def test_config_protocol_multiple_two(self): config = { 'module': 'scalyr_agent.builtin_monitors.syslog_monitor', 'protocols': 'tcp, udp' } self.assertNoException(lambda: SyslogMonitor(config, scalyr_logging.getLogger("syslog_monitor[test]")))
def test_config_protocol_invalid(self): config = { 'module': 'scalyr_agent.builtin_monitors.syslog_monitor', 'protocols': 'XXX' } self.assertRaises(Exception, lambda: SyslogMonitor(config, scalyr_logging.getLogger("syslog_monitor[test]")))
def test_run_multiple_servers(self): config = { "module": "scalyr_agent.builtin_monitors.syslog_monitor", "protocols": "udp:8000, tcp:8001, udp:8002, tcp:8003", } self.monitor = SyslogMonitor( config, scalyr_logging.getLogger("syslog_monitor[test]")) self.monitor.open_metric_log() self.monitor.start() time.sleep(0.05) udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sockets.append(udp) tcp1 = socket.socket() self.sockets.append(tcp1) tcp2 = socket.socket() self.sockets.append(tcp2) self.connect(tcp1, ("localhost", 8001)) self.connect(tcp2, ("localhost", 8003)) expected_udp1 = "UDP Test" udp.sendto(expected_udp1, ("localhost", 8000)) expected_udp2 = "UDP2 Test" udp.sendto(expected_udp2, ("localhost", 8002)) expected_tcp1 = "TCP Test\n" tcp1.sendall(expected_tcp1) expected_tcp2 = "TCP2 Test\n" tcp2.sendall(expected_tcp2) time.sleep(1) self.monitor.stop(wait_on_join=False) self.monitor = None f = open("agent_syslog.log") actual = f.read().strip() expected_tcp1 = expected_tcp1.strip() expected_tcp2 = expected_tcp2.strip() self.assertTrue( expected_udp1 in actual, "Unable to find '%s' in output:\n\t %s" % (expected_udp1, actual), ) self.assertTrue( expected_udp2 in actual, "Unable to find '%s' in output:\n\t %s" % (expected_udp2, actual), ) self.assertTrue( expected_tcp1 in actual, "Unable to find '%s' in output:\n\t %s" % (expected_tcp1, actual), ) self.assertTrue( expected_tcp2 in actual, "Unable to find '%s' in output:\n\t %s" % (expected_tcp2, actual), )