From 370ad5ac85232e79b3c953417c29ba86611e2d09 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Tue, 14 Apr 2020 18:33:49 +0200 Subject: [PATCH 1/5] add descriptor unit test --- test/module/test_descriptor.py | 61 ++++++++++++++++++++++++++++++++++ test/pytest.ini | 2 +- test/test_config.yaml | 9 +++++ 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 test/module/test_descriptor.py diff --git a/test/module/test_descriptor.py b/test/module/test_descriptor.py new file mode 100644 index 0000000..c064170 --- /dev/null +++ b/test/module/test_descriptor.py @@ -0,0 +1,61 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +"""! + ____ ____ ______ __ __ __ _____ + / __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ / + / __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ < + / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ / +/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/ + German BOS Information Script + by Bastian Schroll + +@file: test_descriptor.py +@date: 14.04.2020 +@author: Bastian Schroll +@description: Unittests for BOSWatch. File have to run as "pytest" unittest +""" +# problem of the pytest fixtures +# pylint: disable=redefined-outer-name +import logging +import pytest +from boswatch.utils import paths + +from boswatch.configYaml import ConfigYAML +from boswatch.packet import Packet +from module.descriptor import BoswatchModule as Descriptor + + +def setup_method(method): + logging.debug("[TEST] %s.%s", method.__module__, method.__name__) + + +@pytest.fixture +def makeDescriptor(): + config = ConfigYAML() + assert config.loadConfigFile(paths.TEST_PATH + "test_config.yaml") is True + descriptor = Descriptor(config.get("descriptor_test")) + return descriptor + + +@pytest.fixture +def makePacket(): + packet = Packet() + return packet + + +def test_descriptorFoundFirst(makeDescriptor, makePacket): + makePacket.set("tone", "12345") + makePacket = makeDescriptor.doWork(makePacket) + assert makePacket.get("description") == "Test 12345" + + +def test_descriptorFoundSecond(makeDescriptor, makePacket): + makePacket.set("tone", "23456") + makePacket = makeDescriptor.doWork(makePacket) + assert makePacket.get("description") == "Test 23456" + + +def test_descriptorNotFound(makeDescriptor, makePacket): + makePacket.set("tone", "99999") + makePacket = makeDescriptor.doWork(makePacket) + assert makePacket.get("description") == "99999" diff --git a/test/pytest.ini b/test/pytest.ini index 6e8fc02..e5d4311 100644 --- a/test/pytest.ini +++ b/test/pytest.ini @@ -8,7 +8,7 @@ # by Bastian Schroll [pytest] -addopts = -v --pep8 --flakes --cov=boswatch/ --cov-report=term-missing --log-level=CRITICAL +addopts = -v --pep8 --flakes --cov=boswatch/ --cov=module/ --cov plugin/ --cov-report=term-missing --log-level=CRITICAL # classic or progress console_output_style = progress diff --git a/test/test_config.yaml b/test/test_config.yaml index 6840f26..f20f454 100644 --- a/test/test_config.yaml +++ b/test/test_config.yaml @@ -30,3 +30,12 @@ list1: - two - three - string1 + +descriptor_test: + - scanField: tone + descrField: description + descriptions: + - for: 12345 + add: Test 12345 + - for: 23456 + add: Test 23456 \ No newline at end of file From e5141c186d3dfad983eac9c3fb6ea420a0507f4e Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Tue, 14 Apr 2020 18:47:12 +0200 Subject: [PATCH 2/5] add comments --- test/module/test_descriptor.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/module/test_descriptor.py b/test/module/test_descriptor.py index c064170..6309e79 100644 --- a/test/module/test_descriptor.py +++ b/test/module/test_descriptor.py @@ -31,6 +31,7 @@ def setup_method(method): @pytest.fixture def makeDescriptor(): + """!Build a descriptor object with loaded configuration""" config = ConfigYAML() assert config.loadConfigFile(paths.TEST_PATH + "test_config.yaml") is True descriptor = Descriptor(config.get("descriptor_test")) @@ -39,23 +40,27 @@ def makeDescriptor(): @pytest.fixture def makePacket(): + """!Build a BW Packet object""" packet = Packet() return packet def test_descriptorFoundFirst(makeDescriptor, makePacket): + """!Run descriptor on the first entry in list""" makePacket.set("tone", "12345") makePacket = makeDescriptor.doWork(makePacket) assert makePacket.get("description") == "Test 12345" def test_descriptorFoundSecond(makeDescriptor, makePacket): + """!Run descriptor on the second entry in list""" makePacket.set("tone", "23456") makePacket = makeDescriptor.doWork(makePacket) assert makePacket.get("description") == "Test 23456" def test_descriptorNotFound(makeDescriptor, makePacket): + """!Run descriptor on a non existent field""" makePacket.set("tone", "99999") makePacket = makeDescriptor.doWork(makePacket) assert makePacket.get("description") == "99999" From 806a3d866921deb10c819fbc68e6eda758196419 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Wed, 15 Apr 2020 08:35:00 +0200 Subject: [PATCH 3/5] add non existent field test --- test/module/test_descriptor.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/module/test_descriptor.py b/test/module/test_descriptor.py index 6309e79..67cd4e3 100644 --- a/test/module/test_descriptor.py +++ b/test/module/test_descriptor.py @@ -60,7 +60,13 @@ def test_descriptorFoundSecond(makeDescriptor, makePacket): def test_descriptorNotFound(makeDescriptor, makePacket): - """!Run descriptor on a non existent field""" + """!Run descriptor no matching data found""" makePacket.set("tone", "99999") makePacket = makeDescriptor.doWork(makePacket) assert makePacket.get("description") == "99999" + + +def test_descriptorScanFieldNotAvailable(makeDescriptor, makePacket): + """!Run descriptor on a non existent scanField""" + makePacket = makeDescriptor.doWork(makePacket) + assert makePacket.get("description") == None \ No newline at end of file From 61819cda0879761255d66461934fec5daa458ea1 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Wed, 15 Apr 2020 08:52:44 +0200 Subject: [PATCH 4/5] little fix --- test/module/test_descriptor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/module/test_descriptor.py b/test/module/test_descriptor.py index 67cd4e3..48bb2eb 100644 --- a/test/module/test_descriptor.py +++ b/test/module/test_descriptor.py @@ -69,4 +69,4 @@ def test_descriptorNotFound(makeDescriptor, makePacket): def test_descriptorScanFieldNotAvailable(makeDescriptor, makePacket): """!Run descriptor on a non existent scanField""" makePacket = makeDescriptor.doWork(makePacket) - assert makePacket.get("description") == None \ No newline at end of file + assert makePacket.get("description") is None \ No newline at end of file From 8e4dba28e3480384c7139fd43aa0b29aef06ba5b Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Wed, 15 Apr 2020 09:24:02 +0200 Subject: [PATCH 5/5] PEP8 new line at end --- test/module/test_descriptor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/module/test_descriptor.py b/test/module/test_descriptor.py index 48bb2eb..c2d63a2 100644 --- a/test/module/test_descriptor.py +++ b/test/module/test_descriptor.py @@ -69,4 +69,4 @@ def test_descriptorNotFound(makeDescriptor, makePacket): def test_descriptorScanFieldNotAvailable(makeDescriptor, makePacket): """!Run descriptor on a non existent scanField""" makePacket = makeDescriptor.doWork(makePacket) - assert makePacket.get("description") is None \ No newline at end of file + assert makePacket.get("description") is None