mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2025-12-06 07:12:04 +01:00
move test files - fix config tests
This commit is contained in:
parent
82e3eb719d
commit
2ca62d90f2
|
|
@ -17,8 +17,8 @@
|
|||
import logging
|
||||
import pytest
|
||||
|
||||
from module.descriptor import Descriptor
|
||||
from module.descriptor import DescriptionList
|
||||
# from module.descriptor import Descriptor
|
||||
# from module.descriptor import DescriptionList
|
||||
from boswatch.packet import Packet
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
"""
|
||||
import logging
|
||||
import yaml
|
||||
import yaml.parser
|
||||
|
||||
logging.debug("- %s loaded", __name__)
|
||||
|
||||
|
|
@ -46,8 +47,10 @@ class ConfigYAML:
|
|||
# use safe_load instead load
|
||||
self._config = yaml.safe_load(file)
|
||||
return True
|
||||
except: # pragma: no cover
|
||||
logging.exception("cannot load config file")
|
||||
except FileNotFoundError:
|
||||
logging.error("config file not found: %s", configPath)
|
||||
except yaml.parser.ParserError:
|
||||
logging.exception("error in config file")
|
||||
return False
|
||||
|
||||
def get(self, *args, default=None):
|
||||
|
|
|
|||
1
test/boswatch/__init__.py
Normal file
1
test/boswatch/__init__.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
# coding=utf-8
|
||||
75
test/boswatch/test_config.py
Normal file
75
test/boswatch/test_config.py
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
#!/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 have to run as "pytest" unittest
|
||||
"""
|
||||
import logging
|
||||
from typing import Dict
|
||||
|
||||
import pytest
|
||||
|
||||
from boswatch.configYaml import ConfigYAML
|
||||
|
||||
|
||||
def setup_method(method):
|
||||
logging.debug("[TEST] %s.%s", method.__module__, method.__name__)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def getConfig():
|
||||
return ConfigYAML()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def getFilledConfig():
|
||||
filledConfig = ConfigYAML()
|
||||
filledConfig.loadConfigFile("test_config.yaml")
|
||||
return filledConfig
|
||||
|
||||
|
||||
def test_loadConfigFile(getConfig):
|
||||
"""!load a local config file"""
|
||||
assert getConfig.loadConfigFile("test_config.yaml") is True
|
||||
|
||||
|
||||
def test_loadConfigFileFailed(getConfig):
|
||||
"""!load a local config file with syntax error"""
|
||||
assert getConfig.loadConfigFile("test_configFailed.yaml") is False
|
||||
|
||||
|
||||
def test_loadConfigFileNotFound(getConfig):
|
||||
"""!load a local config file where is not available"""
|
||||
assert getConfig.loadConfigFile("test_configNotFound.yaml") is False
|
||||
|
||||
|
||||
def test_getTypes(getFilledConfig):
|
||||
assert type(getFilledConfig.get("types")) is ConfigYAML
|
||||
assert type(getFilledConfig.get("types", "string")) is str
|
||||
assert type(getFilledConfig.get("types", "bool")) is bool
|
||||
assert type(getFilledConfig.get("types", "integer")) is int
|
||||
assert type(getFilledConfig.get("types", "float")) is float
|
||||
|
||||
|
||||
def test_getNestedConfig(getFilledConfig):
|
||||
nestedConfig = getFilledConfig.get("types")
|
||||
assert type(nestedConfig) is ConfigYAML
|
||||
assert nestedConfig.get("string") == "Hello World"
|
||||
|
||||
|
||||
def test_configIterationList(getFilledConfig):
|
||||
counter = 0
|
||||
for item in getFilledConfig.get("list"):
|
||||
assert type(item) is str
|
||||
counter += 1
|
||||
assert counter == 3
|
||||
10
test/boswatch/test_config.yaml
Normal file
10
test/boswatch/test_config.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
types:
|
||||
string: Hello World
|
||||
bool: true
|
||||
integer: 11
|
||||
float: 3.14
|
||||
|
||||
list:
|
||||
- one
|
||||
- two
|
||||
- three
|
||||
1
test/module/__init__.py
Normal file
1
test/module/__init__.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
# coding=utf-8
|
||||
1
test/plugin/__init__.py
Normal file
1
test/plugin/__init__.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
# coding=utf-8
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
#!/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 have to run as "pytest" unittest
|
||||
"""
|
||||
import logging
|
||||
import pytest
|
||||
|
||||
from boswatch.utils import paths
|
||||
from boswatch import configYaml
|
||||
|
||||
# FIXME complete tests
|
||||
|
||||
@pytest.mark.skip
|
||||
class Test_Config:
|
||||
"""!Unittests for the config"""
|
||||
|
||||
def setup_method(self, method):
|
||||
logging.debug("[TEST] %s.%s", method.__module__, method.__name__)
|
||||
|
||||
def test_loadLocalConfig(self):
|
||||
"""!load a local config file"""
|
||||
bwConfig = configYaml.loadConfigFile(paths.TEST_PATH + "test.yaml")
|
||||
assert bwConfig is not None
|
||||
|
||||
def test_getLocalConfig(self):
|
||||
"""!get values from local config file"""
|
||||
bwConfig = configYaml.loadConfigFile(paths.TEST_PATH + "test.yaml")
|
||||
assert bwConfig["types"]["integer"] == 11
|
||||
assert bwConfig["types"]["boolean"] is True
|
||||
|
||||
def test_getLocalConfigFailed(self):
|
||||
"""!fail while get values from local config file"""
|
||||
bwConfig = configYaml.loadConfigFile(paths.TEST_PATH + "test.yaml")
|
||||
assert bwConfig["test"]["abc"] is None
|
||||
assert bwConfig["abc"]["test"] is None
|
||||
|
||||
def test_shareConfig(self):
|
||||
"""!load local config file and share it"""
|
||||
configYaml.loadConfigFile(paths.TEST_PATH + "test.yaml", "test_shareConfig")
|
||||
assert configYaml.loadConfigSharepoint("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.yaml", "test_shareConfigUsed")
|
||||
# assert bwConfig1._sharePoints["test_shareConfigUsed"] is not None
|
||||
# bwConfig2 = Config()
|
||||
# bwConfig2.loadConfigFile(paths.TEST_PATH + "test.yaml")
|
||||
# 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.yaml")
|
||||
# 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.yaml", "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.yaml", "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.yaml")
|
||||
# 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.yaml", "test_shareConfig")
|
||||
# assert bwConfig.getAllSharepoints() is not None
|
||||
Loading…
Reference in a new issue