Ejemplo n.º 1
0
    def test_should_log_one_row_and_load_using_all_contexts(self):
        # Given
        logger = CassandraLogger(self.dao)

        source_context = 'CassandraLoggerTest1'
        log_source = 'unittest1'
        timestamp = datetime.strptime('1979-06-20T06:06:06.20', '%Y-%m-%dT%H:%M:%S.%f')
        level = 'warn'
        message = u'This is a log message from the erste unit test.'

        # When
        logger.log(source_context, log_source, timestamp, level, message)

        # Then
        free_text = 'erste'

        # 1. Find by exact context, note it returns list of LogMessageDTOs from the facade module
        result = logger.free_text_search(free_text, source_context, log_source, level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source, timestamp, level, message)

        # 2 Find by looser context
        result = logger.free_text_search(free_text, source_context, None, level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source, timestamp, level, message)

        # 3 Find by even more loose context, global but still within the 'info'-level
        result = logger.free_text_search(free_text, None, None, level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source, timestamp, level, message)

        # 4 Find in über-global context
        result = logger.free_text_search(free_text)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source, timestamp, level, message)
Ejemplo n.º 2
0
    def test_should_log_one_row_for_three_sources_and_three_should_be_found_within_higher_contexts(self):
        # Given
        logger = CassandraLogger(self.dao)

        source_context = 'CassandraLoggerTest2'
        log_source1 = 'unittest1_1'
        log_source2 = 'unittest1_2'
        log_source3 = 'unittest1_3'
        timestamp1 = datetime.strptime('1979-06-20T06:06:06.20', '%Y-%m-%dT%H:%M:%S.%f')
        timestamp2 = datetime.strptime('1979-06-20T06:06:06.21', '%Y-%m-%dT%H:%M:%S.%f')
        timestamp3 = datetime.strptime('1979-06-20T06:06:06.22', '%Y-%m-%dT%H:%M:%S.%f')
        level = 'warn'
        message = u'This is a log message from the second unit test.'

        # When
        logger.log(source_context, log_source1, timestamp1, level, message)
        logger.log(source_context, log_source2, timestamp2, level, message)
        logger.log(source_context, log_source3, timestamp3, level, message)

        # Then...
        free_text = 'second'

        # 1. Find by exact context, should return 1
        result = logger.free_text_search(free_text, source_context, log_source1, level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source1, timestamp1, level, message)

        # 2 Find by looser context, should find all three now
        result = logger.free_text_search(free_text, source_context, None, level)
        self.assertEqual(len(result), 3)
        self.__assert_log_message(result[0], source_context, log_source1, timestamp1, level, message)
        self.__assert_log_message(result[1], source_context, log_source2, timestamp2, level, message)
        self.__assert_log_message(result[2], source_context, log_source3, timestamp3, level, message)

        # 3 Find by even more loose context, global but still within the 'info'-level
        result = logger.free_text_search(free_text, None, None, level)
        self.assertEqual(len(result), 3)
        self.__assert_log_message(result[0], source_context, log_source1, timestamp1, level, message)
        self.__assert_log_message(result[1], source_context, log_source2, timestamp2, level, message)
        self.__assert_log_message(result[2], source_context, log_source3, timestamp3, level, message)

        # 4 Find in über-global context
        result = logger.free_text_search(free_text)
        self.assertEqual(len(result), 3)
        self.__assert_log_message(result[0], source_context, log_source1, timestamp1, level, message)
        self.__assert_log_message(result[1], source_context, log_source2, timestamp2, level, message)
        self.__assert_log_message(result[2], source_context, log_source3, timestamp3, level, message)
Ejemplo n.º 3
0
    def test_should_log_one_row_and_load_using_all_contexts(self):
        # Given
        logger = CassandraLogger(self.dao)

        source_context = 'CassandraLoggerTest1'
        log_source = 'unittest1'
        timestamp = datetime.strptime('1979-06-20T06:06:06.20',
                                      '%Y-%m-%dT%H:%M:%S.%f')
        level = 'warn'
        message = u'This is a log message from the erste unit test.'

        # When
        logger.log(source_context, log_source, timestamp, level, message)

        # Then
        free_text = 'erste'

        # 1. Find by exact context, note it returns list of LogMessageDTOs from the facade module
        result = logger.free_text_search(free_text, source_context, log_source,
                                         level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source,
                                  timestamp, level, message)

        # 2 Find by looser context
        result = logger.free_text_search(free_text, source_context, None,
                                         level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source,
                                  timestamp, level, message)

        # 3 Find by even more loose context, global but still within the 'info'-level
        result = logger.free_text_search(free_text, None, None, level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source,
                                  timestamp, level, message)

        # 4 Find in über-global context
        result = logger.free_text_search(free_text)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source,
                                  timestamp, level, message)
Ejemplo n.º 4
0
    def test_should_log_one_row_for_three_sources_and_three_should_be_found_within_higher_contexts(
            self):
        # Given
        logger = CassandraLogger(self.dao)

        source_context = 'CassandraLoggerTest2'
        log_source1 = 'unittest1_1'
        log_source2 = 'unittest1_2'
        log_source3 = 'unittest1_3'
        timestamp1 = datetime.strptime('1979-06-20T06:06:06.20',
                                       '%Y-%m-%dT%H:%M:%S.%f')
        timestamp2 = datetime.strptime('1979-06-20T06:06:06.21',
                                       '%Y-%m-%dT%H:%M:%S.%f')
        timestamp3 = datetime.strptime('1979-06-20T06:06:06.22',
                                       '%Y-%m-%dT%H:%M:%S.%f')
        level = 'warn'
        message = u'This is a log message from the second unit test.'

        # When
        logger.log(source_context, log_source1, timestamp1, level, message)
        logger.log(source_context, log_source2, timestamp2, level, message)
        logger.log(source_context, log_source3, timestamp3, level, message)

        # Then...
        free_text = 'second'

        # 1. Find by exact context, should return 1
        result = logger.free_text_search(free_text, source_context,
                                         log_source1, level)
        self.assertEqual(len(result), 1)
        self.__assert_log_message(result[0], source_context, log_source1,
                                  timestamp1, level, message)

        # 2 Find by looser context, should find all three now
        result = logger.free_text_search(free_text, source_context, None,
                                         level)
        self.assertEqual(len(result), 3)
        self.__assert_log_message(result[0], source_context, log_source1,
                                  timestamp1, level, message)
        self.__assert_log_message(result[1], source_context, log_source2,
                                  timestamp2, level, message)
        self.__assert_log_message(result[2], source_context, log_source3,
                                  timestamp3, level, message)

        # 3 Find by even more loose context, global but still within the 'info'-level
        result = logger.free_text_search(free_text, None, None, level)
        self.assertEqual(len(result), 3)
        self.__assert_log_message(result[0], source_context, log_source1,
                                  timestamp1, level, message)
        self.__assert_log_message(result[1], source_context, log_source2,
                                  timestamp2, level, message)
        self.__assert_log_message(result[2], source_context, log_source3,
                                  timestamp3, level, message)

        # 4 Find in über-global context
        result = logger.free_text_search(free_text)
        self.assertEqual(len(result), 3)
        self.__assert_log_message(result[0], source_context, log_source1,
                                  timestamp1, level, message)
        self.__assert_log_message(result[1], source_context, log_source2,
                                  timestamp2, level, message)
        self.__assert_log_message(result[2], source_context, log_source3,
                                  timestamp3, level, message)