Skip to content

Commit

Permalink
Add mocked_loop
Browse files Browse the repository at this point in the history
  • Loading branch information
pawlizio committed Dec 2, 2023
1 parent a70f1bb commit 25d2bed
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions test/config_test.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
"""Unit test for configuration."""
import unittest
from asyncio import AbstractEventLoop
from unittest.mock import MagicMock

from pyvlx import PyVLX, PyVLXException

Expand All @@ -8,41 +10,45 @@
class TestConfig(unittest.TestCase):
"""Test class for configuration."""

def setUp(self) -> None:
"""Set up TestCommandSend."""
self.mocked_loop = MagicMock(spec=AbstractEventLoop)

def test_config_file(self) -> None:
"""Test host/password configuration via config.yaml."""
pyvlx = PyVLX("test/data/test_config.yaml")
pyvlx = PyVLX(loop=self.mocked_loop, path="test/data/test_config.yaml") # pylint: disable=E1123
self.assertEqual(pyvlx.config.password, "velux123")
self.assertEqual(pyvlx.config.host, "192.168.2.127")
self.assertEqual(pyvlx.config.port, 51200)

def test_config_file_with_port(self) -> None:
"""Test host/password configuration via config.yaml."""
pyvlx = PyVLX("test/data/test_config_with_port.yaml")
pyvlx = PyVLX(loop=self.mocked_loop, path="test/data/test_config_with_port.yaml") # pylint: disable=E1123
self.assertEqual(pyvlx.config.port, 1234)

def test_config_explicit(self) -> None:
"""Test host/password configuration via parameter."""
pyvlx = PyVLX(host="192.168.2.127", password="velux123")
pyvlx = PyVLX(loop=self.mocked_loop, host="192.168.2.127", password="velux123") # pylint: disable=E1123
self.assertEqual(pyvlx.config.password, "velux123")
self.assertEqual(pyvlx.config.host, "192.168.2.127")
self.assertEqual(pyvlx.config.port, 51200)

def test_config_wrong1(self) -> None:
"""Test configuration with missing password."""
with self.assertRaises(PyVLXException):
PyVLX("test/data/test_config_wrong1.yaml")
PyVLX(loop=self.mocked_loop, path="test/data/test_config_wrong1.yaml") # pylint: disable=E1123

def test_config_wrong2(self) -> None:
"""Test configuration with missing host."""
with self.assertRaises(PyVLXException):
PyVLX("test/data/test_config_wrong2.yaml")
PyVLX(loop=self.mocked_loop, path="test/data/test_config_wrong2.yaml") # pylint: disable=E1123

def test_config_wrong3(self) -> None:
"""Test configuration with missing config node."""
with self.assertRaises(PyVLXException):
PyVLX("test/data/test_config_wrong3.yaml")
PyVLX(loop=self.mocked_loop, path="test/data/test_config_wrong3.yaml") # pylint: disable=E1123

def test_config_non_existent(self) -> None:
"""Test non existing configuration path."""
with self.assertRaises(PyVLXException):
PyVLX("test/data/test_config_non_existent.yaml")
PyVLX(loop=self.mocked_loop, path="test/data/test_config_non_existent.yaml") # pylint: disable=E1123

0 comments on commit 25d2bed

Please sign in to comment.