def test_basic_counter_sum(): """ Test basic counter sum function for grouping tail class. """ counter_sum = CounterSum('^(\d)') grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\d)') #print grouping_tail.offsetpath grouping_tail.add_match('simple', 'counter', counter_sum) grouping_tail.update() assert_equal(len(counter_sum.data), 4) assert_true('3' in counter_sum.data) assert_equal(counter_sum.data['3'], 9.0) assert_true('2' in counter_sum.data) assert_equal(counter_sum.data['2'], 4.0) assert_true('1' in counter_sum.data) assert_equal(counter_sum.data['1'], 1.0) assert_true('8' in counter_sum.data) assert_equal(counter_sum.data['8'], 8.0) read_metrics = grouping_tail.read_metrics() for key, key_value in counter_sum.data.items(): metric_name, value_type, value = read_metrics.next() assert_equal(metric_name, str(key) + '.simple') assert_equal(value_type, 'counter') assert_equal(value, key_value)
def test_basic_multi_files(): """ Test basic tail multi files function for grouping tail class. """ from pretaweb.collectd.groupingtail.groupingtail import GroupingTail from pretaweb.collectd.groupingtail.instruments import CounterInc counter_inc = CounterInc('.') grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\d)') second_counter_inc = CounterInc('.') second_grouping_tail = GroupingTail(second_simple_log_file, '^(\d)') grouping_tail.add_match('simple', 'counter', counter_inc) grouping_tail.update() third_counter_inc = CounterInc('.') third_grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\D)') second_grouping_tail.add_match('second_simple', 'counter', second_counter_inc) second_grouping_tail.update() third_grouping_tail.add_match('third_simple', 'counter', third_counter_inc) third_grouping_tail.update() assert_equal(len(counter_inc.data), 4) assert_true('3' in counter_inc.data) assert_equal(counter_inc.data['3'], 3) assert_true('2' in counter_inc.data) assert_equal(counter_inc.data['2'], 2) assert_true('1' in counter_inc.data) assert_equal(counter_inc.data['1'], 1) assert_true('8' in counter_inc.data) assert_equal(counter_inc.data['8'], 1) assert_equal(len(second_counter_inc.data), 2) assert_true('3' in second_counter_inc.data) assert_equal(second_counter_inc.data['3'], 4) assert_true('2' in second_counter_inc.data) assert_equal(second_counter_inc.data['2'], 1) assert_false('1' in second_counter_inc.data) assert_equal(len(third_counter_inc.data), 2) assert_true('w' in third_counter_inc.data) assert_equal(third_counter_inc.data['w'], 3) assert_true('y' in third_counter_inc.data) assert_equal(third_counter_inc.data['y'], 1) assert_false('z' in third_counter_inc.data) read_metrics = grouping_tail.read_metrics() for key, key_value in counter_inc.data.items(): metric_name, value_type, value = read_metrics.next() assert_equal(metric_name, str(key) + '.simple') assert_equal(value_type, 'counter') assert_equal(value, key_value) second_read_metrics = second_grouping_tail.read_metrics() for key, key_value in second_counter_inc.data.items(): metric_name, value_type, value = second_read_metrics.next() assert_equal(metric_name, str(key) + '.second_simple') assert_equal(value_type, 'counter') assert_equal(value, key_value) third_read_metrics = third_grouping_tail.read_metrics() for key, key_value in third_counter_inc.data.items(): metric_name, value_type, value = third_read_metrics.next() assert_equal(metric_name, str(key) + '.third_simple') assert_equal(value_type, 'counter') assert_equal(value, key_value)