mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2025-12-06 07:12:04 +01:00
add pytest and his config
incl. first tests
This commit is contained in:
parent
bb4922a65b
commit
bda9276431
19
_config/pytest.ini
Normal file
19
_config/pytest.ini
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# ____ ____ ______ __ __ __ _____
|
||||
# / __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ /
|
||||
# / __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ <
|
||||
# / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ /
|
||||
#/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/
|
||||
# German BOS Information Script
|
||||
# by Bastian Schroll
|
||||
|
||||
[pytest]
|
||||
log_file=logs/test.log
|
||||
log_file_level=debug
|
||||
log_file_format=%(asctime)s - %(module)-12s %(funcName)-15s [%(levelname)-8s] %(message)s
|
||||
log_file_date_format=%d.%m.%Y %H:%M:%S
|
||||
|
||||
#pep8 plugin
|
||||
pep8ignore = E402, E501 # import not at top
|
||||
# E501 # line too long
|
||||
# pep8maxlinelength = 99
|
||||
0
boswatch/__init__.py
Normal file
0
boswatch/__init__.py
Normal file
0
boswatch/utils/__init__.py
Normal file
0
boswatch/utils/__init__.py
Normal file
89
boswatch/utils/header.py
Normal file
89
boswatch/utils/header.py
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""!
|
||||
____ ____ ______ __ __ __ _____
|
||||
/ __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ /
|
||||
/ __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ <
|
||||
/ /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ /
|
||||
/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/
|
||||
German BOS Information Script
|
||||
by Bastian Schroll
|
||||
|
||||
@file: header.py
|
||||
@date: 11.12.2017
|
||||
@author: Bastian Schroll
|
||||
@description: Prints the BOSWatch Header on Screen or logfile
|
||||
"""
|
||||
import logging
|
||||
import platform # for python version nr
|
||||
|
||||
import boswatch.version
|
||||
|
||||
|
||||
def logoToLog():
|
||||
"""!Prints the BOSWatch logo to the log at debug level
|
||||
|
||||
@return True or False on error"""
|
||||
try:
|
||||
logging.debug(" ____ ____ ______ __ __ __ _____ ")
|
||||
logging.debug(" / __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ / ")
|
||||
logging.debug(" / __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ < ")
|
||||
logging.debug(" / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ / ")
|
||||
logging.debug("/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/ ")
|
||||
logging.debug(" German BOS Information Script ")
|
||||
logging.debug(" by Bastian Schroll ")
|
||||
logging.debug("")
|
||||
return True
|
||||
except: # pragma: no cover
|
||||
logging.exception("cannot display logo in log")
|
||||
return False
|
||||
|
||||
|
||||
def infoToLog():
|
||||
"""!Prints the BOSWatch and OS information to log at debug level
|
||||
|
||||
@return True or False on error"""
|
||||
try:
|
||||
logging.debug("BOSWatch and environment information")
|
||||
logging.debug("> Client version: %d.%d.%d",
|
||||
boswatch.version.client["major"],
|
||||
boswatch.version.client["minor"],
|
||||
boswatch.version.client["patch"])
|
||||
logging.debug("> Server version: %d.%d.%d",
|
||||
boswatch.version.server["major"],
|
||||
boswatch.version.server["minor"],
|
||||
boswatch.version.server["patch"])
|
||||
logging.debug("> Branch: %s",
|
||||
boswatch.version.branch)
|
||||
logging.debug("> Release date: %02d.%02d.%4d",
|
||||
boswatch.version.date["day"],
|
||||
boswatch.version.date["month"],
|
||||
boswatch.version.date["year"])
|
||||
logging.debug("> Python version: " + platform.python_version())
|
||||
logging.debug("> Python build: " + str(platform.python_build()))
|
||||
logging.debug("> System: " + platform.system())
|
||||
logging.debug("> OS Version: " + platform.platform())
|
||||
logging.debug("")
|
||||
return True
|
||||
except: # pragma: no cover
|
||||
logging.exception("cannot display OS information")
|
||||
return False
|
||||
|
||||
|
||||
def logoToScreen():
|
||||
"""!Prints the BOSWatch logo to the screen at debug level
|
||||
|
||||
@return True or False on error"""
|
||||
try:
|
||||
print(" ____ ____ ______ __ __ __ _____ ")
|
||||
print(" / __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ / ")
|
||||
print(" / __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ < ")
|
||||
print(" / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ / ")
|
||||
print("/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/ ")
|
||||
print(" German BOS Information Script ")
|
||||
print(" by Bastian Schroll ")
|
||||
print("")
|
||||
return True
|
||||
except: # pragma: no cover
|
||||
logging.exception("cannot display logo on screen")
|
||||
return False
|
||||
42
pytest.bat
Normal file
42
pytest.bat
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
@echo off
|
||||
|
||||
echo " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
|
||||
echo " ____ ____ ______ __ __ __ _____ "
|
||||
echo " / __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ / "
|
||||
echo " / __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ < "
|
||||
echo " / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ / "
|
||||
echo " /_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/ "
|
||||
echo " German BOS Information Script "
|
||||
echo " by Bastian Schroll "
|
||||
echo " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
|
||||
echo.
|
||||
echo BOSWatch 3 Unittest framework
|
||||
echo.
|
||||
echo Which test? [ENTER] for all
|
||||
echo Or name a specific test test_[###].py
|
||||
echo.
|
||||
|
||||
set /p test=Testcase:
|
||||
if "%test%" == "" (
|
||||
goto start
|
||||
) else (
|
||||
goto start_spec
|
||||
)
|
||||
|
||||
:start
|
||||
echo.
|
||||
python -m pytest -c "_config/pytest.ini" -v --pep8 --cov --cov-report=term-missing
|
||||
echo.
|
||||
echo --- Hit any key to repeat ---
|
||||
pause
|
||||
cls
|
||||
goto start
|
||||
|
||||
:start_spec
|
||||
echo.
|
||||
python -m pytest test/test_%test%.py -c "_config/pytest.ini" -v --pep8 --cov --cov-report=term-missing
|
||||
echo.
|
||||
echo --- Hit any key to repeat ---
|
||||
pause
|
||||
cls
|
||||
goto start_spec
|
||||
0
test/__init__.py
Normal file
0
test/__init__.py
Normal file
36
test/test_header.py
Normal file
36
test/test_header.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
____ ____ ______ __ __ __ _____
|
||||
/ __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ /
|
||||
/ __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ <
|
||||
/ /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ /
|
||||
/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/
|
||||
German BOS Information Script
|
||||
by Bastian Schroll
|
||||
|
||||
@file: test_header.py
|
||||
@date: 12.12.2017
|
||||
@author: Bastian Schroll
|
||||
@description: Unittests for BOSWatch. File must be run as "pytest" unittest
|
||||
"""
|
||||
|
||||
import pytest # impot the pytest framework
|
||||
|
||||
import boswatch.utils.header
|
||||
|
||||
|
||||
class Test_Header():
|
||||
"""!Unittests for the header"""
|
||||
|
||||
def test_logoToLog(self):
|
||||
"""!Test logo to log"""
|
||||
assert boswatch.utils.header.logoToLog()
|
||||
|
||||
def test_infoToLog(self):
|
||||
"""!Test info to log"""
|
||||
assert boswatch.utils.header.infoToLog()
|
||||
|
||||
def test_logoToScreen(self):
|
||||
"""!Test logo to screen"""
|
||||
assert boswatch.utils.header.logoToScreen()
|
||||
Loading…
Reference in a new issue