Skip to content

Commit

Permalink
fix tests without setting result in init
Browse files Browse the repository at this point in the history
  • Loading branch information
ekneg54 committed Jul 10, 2024
1 parent 8ffde32 commit b41a391
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
7 changes: 5 additions & 2 deletions tests/unit/processor/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from logprep.framework.rule_tree.rule_tree import RuleTree
from logprep.metrics.metrics import CounterMetric, HistogramMetric
from logprep.processor.base.exceptions import ProcessingCriticalError, ProcessingError
from logprep.processor.base.rule import Rule
from logprep.util.json_handling import list_json_files_in_directory
from tests.unit.component.base import BaseComponentTestCase

Expand Down Expand Up @@ -77,10 +78,12 @@ def set_rules(rules_dirs):
rules.append(rule)
return rules

def _load_specific_rule(self, rule):
def _load_specific_rule(self, rule: dict | Rule):
self.object._generic_tree = RuleTree()
self.object._specific_tree = RuleTree()
specific_rule = self.object.rule_class._create_from_dict(rule)
specific_rule = (
self.object.rule_class._create_from_dict(rule) if isinstance(rule, dict) else rule
)
self.object._specific_tree.add_rule(specific_rule, self.logger)

def setup_method(self) -> None:
Expand Down
3 changes: 2 additions & 1 deletion tests/unit/processor/geoip_enricher/test_geoip_enricher.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,8 @@ def test_no_geoip_data_added_if_source_field_is_none(self):
def test_source_field_is_none_emits_missing_fields_warning(self):
document = {"client": {"ip": None}}
expected = {"client": {"ip": None}, "tags": ["_geoip_enricher_missing_field_warning"]}
self.object._apply_rules(document, self.object.rules[0])
self._load_specific_rule(self.object.rules[0])
self.object.process(document)
assert len(self.object.result.errors) == 1
assert re.match(
r".*missing source_fields: \['client\.ip'].*", str(self.object.result.errors[0])
Expand Down
3 changes: 3 additions & 0 deletions tests/unit/processor/pseudonymizer/test_pseudonymizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import re
from copy import deepcopy
from pathlib import Path
from unittest import mock

import pytest

Expand Down Expand Up @@ -814,6 +815,7 @@ def test_replace_regex_keywords_by_regex_expression_is_idempotent(self):
assert self.object._specific_tree.rules[0].pseudonyms == {"something": expected_pattern}

def test_pseudonymize_string_adds_pseudonyms(self):
self.object.result = ProcessorResult(processor_name="test")
assert self.object._pseudonymize_string("foo").startswith("<pseudonym:")
assert len(self.object.result.data) == 1

Expand Down Expand Up @@ -909,6 +911,7 @@ def test_resolve_from_cache_pseudonymize_urls(self):
],
)
def test_pseudonymize_url(self, url, expected):
self.object.result = ProcessorResult(processor_name="test")
assert self.object._pseudonymize_url(url) == expected

def test_process_returns_extra_output(self):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,6 @@ def test_process_extracts_dotted_fields(self):
assert False, f"other.message not in {result}"

def test_process_clears_internal_filtered_events_list_before_every_event(self):
assert len(self.object.result.data) == 0
document = {"message": "test_message", "other": {"message": "my message value"}}
_ = self.object.process(document)
assert len(self.object.result.data) == 1
Expand Down

0 comments on commit b41a391

Please sign in to comment.