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 logging
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from module.descriptor import Descriptor
|
# from module.descriptor import Descriptor
|
||||||
from module.descriptor import DescriptionList
|
# from module.descriptor import DescriptionList
|
||||||
from boswatch.packet import Packet
|
from boswatch.packet import Packet
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
import yaml
|
import yaml
|
||||||
|
import yaml.parser
|
||||||
|
|
||||||
logging.debug("- %s loaded", __name__)
|
logging.debug("- %s loaded", __name__)
|
||||||
|
|
||||||
|
|
@ -46,8 +47,10 @@ class ConfigYAML:
|
||||||
# use safe_load instead load
|
# use safe_load instead load
|
||||||
self._config = yaml.safe_load(file)
|
self._config = yaml.safe_load(file)
|
||||||
return True
|
return True
|
||||||
except: # pragma: no cover
|
except FileNotFoundError:
|
||||||
logging.exception("cannot load config file")
|
logging.error("config file not found: %s", configPath)
|
||||||
|
except yaml.parser.ParserError:
|
||||||
|
logging.exception("error in config file")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get(self, *args, default=None):
|
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