예제 #1
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_actual_message_with_lots_of_whitespace(self):
        validator = ExtraWhitespaceValidator(self)
        parser = Parser(validator)

        parser.read(EXTRA_WHITESPACE)
        self.assertTrue(validator.called)
        validator.validate()
예제 #2
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_message_with_no_octet_count(self):
        validator = NoOctetCountValidator(self)
        parser = Parser(validator)

        parser.read(ACTUAL_MESSAGE_NO_OCTET_COUNT)
        self.assertTrue(validator.called)
        validator.validate()
예제 #3
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_actual_message(self):
        validator = RsyslogMessageValidator(self)
        parser = Parser(validator)

        parser.read(ACTUAL_MESSAGE)
        self.assertTrue(validator.called)
        validator.validate()
예제 #4
0
def performance(duration=10, print_output=True):
    validator = MessageValidator(None)
    parser = Parser(validator)
    runs = 0
    then = time.time()
    while time.time() - then < duration:
        parser.read(HAPPY_PATH_MESSAGE)
        runs += 1
    if print_output:
        print('Ran {} times in {} seconds for {} runs per second.'.format(
            runs, duration, runs / float(duration)))
예제 #5
0
def performance(duration=10, print_output=True):
    validator = MessageValidator(None)
    parser = Parser(validator)
    runs = 0
    then = time.time()
    while time.time() - then < duration:
        parser.read(HAPPY_PATH_MESSAGE)
        runs += 1
    if print_output:
        print('Ran {} times in {} seconds for {} runs per second.'.format(
            runs,
            duration,
            runs / float(duration)))
예제 #6
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_message_with_no_sd(self):
        validator = MissingSDValidator(self)
        parser = Parser(validator)

        chunk_message(NO_STRUCTURED_DATA, parser)
        self.assertTrue(validator.called)
        validator.validate()
예제 #7
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_message_with_missing_fields(self):
        validator = MissingFieldsValidator(self)
        parser = Parser(validator)

        chunk_message(MISSING_FIELDS, parser)
        self.assertTrue(validator.called)
        validator.validate()
예제 #8
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_message_head(self):
        validator = HappyPathValidator(self)
        parser = Parser(validator)

        chunk_message(HAPPY_PATH_MESSAGE, parser)
        self.assertTrue(validator.called)
        validator.validate()
예제 #9
0
    def test_read_message_with_blank_char(self):
        validator = BlankCharMessageValidator(self)
        parser = Parser(validator)

        chunk_message(BLANK_CHAR_MESSAGE, parser)
        self.assertTrue(validator.called)
        validator.validate()
예제 #10
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_read_messages_back_to_back(self):
        validator = BackToBackValidator(self)
        parser = Parser(validator)

        chunk_message(HAPPY_PATH_MESSAGE, parser)
        validator.validate()
        chunk_message(ACTUAL_MESSAGE, parser)
        validator.validate()
        chunk_message(HAPPY_PATH_MESSAGE, parser)
        validator.validate()
        chunk_message(ACTUAL_MESSAGE, parser)
        validator.validate()

        self.assertEqual(4, validator.times_called)
예제 #11
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_short_octet_count(self):
        validator = MessageValidator(self)
        parser = Parser(validator)

        with self.assertRaises(ParsingError):
            parser.read(SHORT_OCTET_COUNT)
예제 #12
0
파일: syslog_test.py 프로젝트: zinic/portal
    def test_too_long_octet_count(self):
        validator = MessageValidator(self)
        parser = Parser(validator)

        with self.assertRaises(ParsingError):
            parser.read(TOO_LONG_OCTET_COUNT)
예제 #13
0
파일: server.py 프로젝트: zinic/portal
 def handle_stream(self, stream, address):
     TornadoConnection(Parser(self.msg_delegate), stream, address)