Skip to content

Commit 636701c

Browse files
committed
Make parts of the test infrastructure reusable
In that manner, the relevant code has not to be duplicated into "mqttwarn-contrib".
1 parent e7b8fef commit 636701c

File tree

7 files changed

+39
-35
lines changed

7 files changed

+39
-35
lines changed

mqttwarn/model.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
# (c) 2021 The mqttwarn developers
3+
from dataclasses import dataclass
4+
from typing import Dict, List, Union
5+
6+
7+
@dataclass
8+
class ProcessorItem:
9+
"""
10+
A processor item for feeding information into service handlers.
11+
"""
12+
13+
service: str = None
14+
target: str = None
15+
config: Dict = None
16+
addrs: List[str] = None
17+
priority: int = None
18+
topic: str = None
19+
title: str = None
20+
message: Union[str, bytes] = None
21+
data: Dict = None

mqttwarn/testing/__init__.py

Whitespace-only changes.

mqttwarn/testing/fixtures.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import logging
2+
3+
import pytest
4+
5+
from mqttwarn.core import Service
6+
7+
8+
@pytest.fixture
9+
def mqttwarn_service():
10+
"""
11+
A service instance for propagating to the plugin.
12+
"""
13+
logger = logging.getLogger(__name__)
14+
return Service(mqttc=None, logger=logger)

tests/conftest.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,2 @@
1-
import logging
2-
3-
import pytest
4-
5-
from mqttwarn.core import Service
6-
7-
8-
@pytest.fixture
9-
def srv():
10-
"""
11-
A service instance for propagating to the plugin.
12-
"""
13-
logger = logging.getLogger(__name__)
14-
return Service(mqttc=None, logger=logger)
1+
# Import fixtures
2+
from mqttwarn.testing.fixtures import mqttwarn_service as srv # noqa

tests/test_pushover.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from requests_toolbelt import MultipartDecoder
88

99
from mqttwarn.util import load_module_from_file
10-
from tests.util import ProcessorItem as Item
10+
from mqttwarn.model import ProcessorItem as Item
1111

1212

1313
def add_successful_mock_response():

tests/test_services.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from surrogate import surrogate
88

99
from mqttwarn.util import load_module_by_name, load_module_from_file
10-
from tests.util import ProcessorItem as Item
10+
from mqttwarn.model import ProcessorItem as Item
1111

1212

1313
def test_alexa_notify_me_success(srv, caplog):

tests/util.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# -*- coding: utf-8 -*-
22
# (c) 2018-2021 The mqttwarn developers
33
import time
4-
from dataclasses import dataclass
5-
from typing import Dict, Union, List
64

75
from paho.mqtt.client import MQTTMessage
86

@@ -41,20 +39,3 @@ def send_message(topic=None, payload=None):
4139

4240
# Give the machinery some time to process the message
4341
time.sleep(0.10)
44-
45-
46-
@dataclass
47-
class ProcessorItem:
48-
"""
49-
A surrogate processor item for feeding into service handlers.
50-
"""
51-
52-
service: str = None
53-
target: str = None
54-
config: Dict = None
55-
addrs: List[str] = None
56-
priority: int = None
57-
topic: str = None
58-
title: str = None
59-
message: Union[str, bytes] = None
60-
data: Dict = None

0 commit comments

Comments
 (0)