Skip to content

Commit 6d81c76

Browse files
committed
review remarks #1
1 parent b8bd0d1 commit 6d81c76

File tree

2 files changed

+44
-49
lines changed

2 files changed

+44
-49
lines changed

tests/unit/conftest.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import pytest
2+
from unittest.mock import Mock
3+
from pytest_splunk_addon.standard_lib.addon_parser.eventtype_parser import (
4+
EventTypeParser,
5+
)
6+
7+
8+
@pytest.fixture()
9+
def parser():
10+
class FakeConfigurationFile:
11+
def __init__(self):
12+
self.headers = []
13+
self.sects = {
14+
"fake_splunkd": {
15+
"name": "fake_splunkd",
16+
"options": "index=_internal sourcetype=splunkd",
17+
},
18+
"fake_for_tags_positive": {
19+
"name": "fake_for_tags_positive",
20+
"options": "sourcetype=splunkd",
21+
},
22+
}
23+
self.errors = []
24+
25+
FakeApp = Mock()
26+
FakeApp.eventtypes = FakeConfigurationFile()
27+
FakeApp.eventtypes_conf.return_value = FakeConfigurationFile()
28+
29+
return EventTypeParser("fake_path", FakeApp)
Lines changed: 15 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,26 @@
1-
import pytest
2-
from unittest.mock import patch
3-
from pytest_splunk_addon.standard_lib.addon_parser.eventtype_parser import EventTypeParser
4-
5-
61
def test_eventtypes_can_be_parsed_and_extracted(parser):
7-
assert parser.eventtypes, "eventypes can not be called or does not return any value"
2+
assert hasattr(
3+
parser.eventtypes, "sects"
4+
), "eventypes can not be called or does have sects attribute"
85

96

107
def test_eventtypes_can_be_parsed_and_returned(parser):
11-
expected_outputs = [{"stanza": x} for x in ["fake_splunkd", "fake_for_tags_positive"]]
8+
expected_outputs = [
9+
{"stanza": x} for x in ["fake_splunkd", "fake_for_tags_positive"]
10+
]
1211
for i, event in enumerate(parser.get_eventtypes()):
13-
assert event == expected_outputs[i], "expeceted event {} not found".format(expected_outputs[i])
12+
assert event == expected_outputs[i], "expeceted event {} not found".format(
13+
expected_outputs[i]
14+
)
1415

1516

1617
def test_get_eventtypes_calls_app_get_config(parser):
17-
with patch.object(parser.app, "eventtypes_conf") as mock:
18-
for _ in parser.get_eventtypes():
19-
pass
20-
mock.assert_called_once()
18+
for _ in parser.get_eventtypes():
19+
pass
20+
parser.app.eventtypes_conf.assert_called_once()
2121

2222

2323
def test_no_eventtype_config_file(parser):
24-
parser.app.eventtypes_conf = os_error
25-
output = []
26-
for i in parser.get_eventtypes():
27-
output.append(i)
28-
assert not output, "eventtypes created when no config file exists"
29-
30-
31-
@pytest.fixture()
32-
def parser():
33-
class FakeApp:
34-
def __init__(self):
35-
self.splunk_app_path = "fake_path"
36-
self.eventtypes = FakeConfigurationFile()
37-
38-
def eventtypes_conf(self):
39-
return self.eventtypes
40-
41-
class FakeConfigurationFile:
42-
def __init__(self):
43-
self.headers = []
44-
self.sects = {
45-
"fake_splunkd": {
46-
"name": "fake_splunkd",
47-
"options": "index=_internal sourcetype=splunkd"
48-
},
49-
"fake_for_tags_positive": {
50-
"name": "fake_for_tags_positive",
51-
"options": "sourcetype=splunkd"
52-
}
53-
}
54-
self.errors = []
55-
56-
return EventTypeParser("fake_path", FakeApp())
57-
58-
59-
def os_error():
60-
raise OSError
24+
parser.app.eventtypes_conf.side_effect = OSError
25+
output = [eventtype for eventtype in parser.get_eventtypes() if eventtype]
26+
assert output == [], "eventtypes created when no config file exists"

0 commit comments

Comments
 (0)