BW3-Core/test/boswatch/test_broadcast.py

78 lines
2.3 KiB
Python
Raw Permalink Normal View History

2018-09-25 18:50:52 +02:00
#!/usr/bin/python
# -*- coding: utf-8 -*-
r"""!
2018-09-25 18:50:52 +02:00
____ ____ ______ __ __ __ _____
/ __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ /
/ __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ <
/ /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ /
/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/
German BOS Information Script
by Bastian Schroll
@file: test_broadcast.py
@date: 25.09.2018
@author: Bastian Schroll
2019-03-03 11:13:27 +01:00
@description: Unittests for BOSWatch. File have to run as "pytest" unittest
2018-09-25 18:50:52 +02:00
"""
# problem of the pytest fixtures
# pylint: disable=redefined-outer-name
2018-09-25 18:50:52 +02:00
import logging
import pytest
from boswatch.network.broadcast import BroadcastServer
from boswatch.network.broadcast import BroadcastClient
2019-10-24 23:11:57 +02:00
def setup_function(function):
logging.debug("[TEST] %s.%s", function.__module__, function.__name__)
2019-03-03 11:13:27 +01:00
@pytest.fixture()
def broadcastServer():
r"""!Server a BroadcastServer instance"""
2019-03-03 11:13:27 +01:00
broadcastServer = BroadcastServer()
yield broadcastServer
if broadcastServer.isRunning:
assert broadcastServer.stop()
while broadcastServer.isRunning:
pass
@pytest.fixture()
def broadcastClient():
r"""!Server a BroadcastClient instance"""
2019-03-03 11:13:27 +01:00
return BroadcastClient()
def test_serverStartStop(broadcastServer):
r"""!Start a BroadcastServer, check if running and stop it"""
2019-03-03 11:13:27 +01:00
assert broadcastServer.start()
assert broadcastServer.isRunning
assert broadcastServer.stop()
def test_serverDoubleStart(broadcastServer):
r"""!Try to start a BroadcastServer twice"""
2019-03-03 11:13:27 +01:00
assert broadcastServer.start()
assert broadcastServer.start()
assert broadcastServer.stop()
def test_serverStopNotStarted(broadcastServer):
r"""!Try to stop a BroadcastServer where is not running"""
2019-03-03 11:13:27 +01:00
assert broadcastServer.stop()
def test_clientWithoutServer(broadcastClient):
r"""!Use BroadcastClient with no server"""
2019-03-03 11:13:27 +01:00
assert not broadcastClient.getConnInfo(1)
def test_serverClientFetchConnInfo(broadcastClient, broadcastServer):
r"""!Fetch connection info from BroadcastServer"""
2019-03-03 11:13:27 +01:00
assert broadcastServer.start()
assert broadcastClient.getConnInfo()
assert broadcastServer.stop()
assert broadcastClient.serverIP
assert broadcastClient.serverPort