|
1 | | -import pytest |
2 | | -from unittest.mock import patch |
3 | | -from pytest_splunk_addon.standard_lib.addon_parser.eventtype_parser import EventTypeParser |
4 | | - |
5 | | - |
6 | 1 | 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" |
8 | 5 |
|
9 | 6 |
|
10 | 7 | 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 | + ] |
12 | 11 | 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 | + ) |
14 | 15 |
|
15 | 16 |
|
16 | 17 | 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() |
21 | 21 |
|
22 | 22 |
|
23 | 23 | 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