class TestSyslog(object):
    def setup(self):
        if SyslogOutput is None:
            raise SkipTest
        self.syslog = SyslogOutput()

    def test_sylog(self):
        # patch the gevent selector

        msg = {"syslog_facility": "KERN",
               "syslog_priority": "EMERG",
               "syslog_options": "PID,CONS",
               "syslog_ident": "foo",
               "msg": "some_msg"}

        with patch.object(syslog, 'openlog') as open_log:
            with patch.object(syslog, 'syslog') as mock_syslog:
                self.syslog.deliver(msg)
                eq_(1, len(mock_syslog.mock_calls))
                eq_(mock_syslog.call_args[0], (0, 'some_msg'))

                eq_(1, len(open_log.mock_calls))

                expected_options = syslog.LOG_PID | syslog.LOG_CONS
                expected_priority = syslog.LOG_EMERG
                eq_(open_log.call_args[0], ('foo',
                    expected_options,
                    expected_priority))
 def setup(self):
     if SyslogOutput is None:
         raise SkipTest
     self.syslog = SyslogOutput()