BW3-Core/test/test_config.py
2018-09-18 06:05:24 +02:00

108 lines
4.4 KiB
Python

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""!
____ ____ ______ __ __ __ _____
/ __ )/ __ \/ ___/ | / /___ _/ /______/ /_ |__ /
/ __ / / / /\__ \| | /| / / __ `/ __/ ___/ __ \ /_ <
/ /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / ___/ /
/_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ /____/
German BOS Information Script
by Bastian Schroll
@file: test_config.py
@date: 08.01.2017
@author: Bastian Schroll
@description: Unittests for BOSWatch. File must be _run as "pytest" unittest
"""
import logging
from boswatch.utils import paths
from boswatch.config import Config
class Test_Config:
"""!Unittests for the config"""
def setup_method(self, method):
logging.debug("[TEST] %s.%s", type(self).__name__, method.__name__)
def test_loadLocalConfig(self):
"""!load a local config file"""
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini")
assert bwConfig._config is not None
def test_getLocalConfig(self):
"""!get values from local config file"""
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini")
assert bwConfig.getInt("test", "one") == 1
assert bwConfig.getBool("test", "one") is True
assert bwConfig.getStr("test", "two") == "two"
assert bwConfig.getStr("testcase", "test") == "ok"
def test_getLocalConfigFailed(self):
"""!fail while get values from local config file"""
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini")
assert bwConfig.getStr("test", "abc") is None
assert bwConfig.getStr("abc", "test") is None
def test_shareConfig(self):
"""!load local config file and share it"""
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini", "test_shareConfig")
assert bwConfig._sharePoints["test_shareConfig"] is not None
def test_shareConfigUsed(self):
"""!load local config file and tr to share it twice with same name"""
bwConfig1 = Config()
bwConfig1.loadConfigFile(paths.TEST_PATH + "test.ini", "test_shareConfigUsed")
assert bwConfig1._sharePoints["test_shareConfigUsed"] is not None
bwConfig2 = Config()
bwConfig2.loadConfigFile(paths.TEST_PATH + "test.ini")
assert not bwConfig2._shareConfig("test_shareConfigUsed")
def test_getNotSetSharedConfig(self):
"""!try to get values from shared config where not exists"""
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini")
assert bwConfig.getInt("test", "one") == 1
assert bwConfig.getInt("test", "one", "NotSetSharedConfig") is None
def test_getSharedConfig(self):
"""!get values from shared config file"""
bwConfig1 = Config()
bwConfig1.loadConfigFile(paths.TEST_PATH + "test.ini", "test_getSharedConfig")
assert bwConfig1._sharePoints["test_getSharedConfig"] is not None
bwConfig2 = Config()
assert bwConfig2.getStr("test", "one") is None
assert bwConfig2.getInt("test", "one", "test_getSharedConfig") == 1
def test_getSharedConfigFailed(self):
"""!fail while get values from shared config file"""
bwConfig1 = Config()
bwConfig1.loadConfigFile(paths.TEST_PATH + "test.ini", "test_getSharedConfigFailed")
assert bwConfig1._sharePoints["test_getSharedConfigFailed"] is not None
bwConfig2 = Config()
assert bwConfig2.getStr("test", "abc", "test_getSharedConfigFailed") is None
assert bwConfig2.getStr("abc", "test", "test_getSharedConfigFailed") is None
def test_getDataTypes(self):
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini")
assert bwConfig.getStr("testcase", "test") == "ok"
assert bwConfig.getInt("test", "one") == 1
assert bwConfig.getInt("boolTest", "three") == 0
assert bwConfig.getBool("boolTest", "one")
assert bwConfig.getBool("boolTest", "two")
assert not bwConfig.getBool("boolTest", "three")
assert not bwConfig.getBool("boolTest", "four")
def test_getAllSharepoints(self):
bwConfig = Config()
bwConfig.loadConfigFile(paths.TEST_PATH + "test.ini", "test_shareConfig")
assert bwConfig.getAllSharepoints() is not None