mirror of
https://github.com/thegeeklab/prometheus-pve-sd.git
synced 2024-06-02 16:09:41 +02:00
add config tests
This commit is contained in:
parent
2faf0d2989
commit
a798b8b4e1
|
@ -34,7 +34,7 @@ exclude_tags: []
|
|||
pve:
|
||||
server:
|
||||
user:
|
||||
password
|
||||
password:
|
||||
auth_timeout: 5
|
||||
verify_ssl: true
|
||||
|
||||
|
|
24
prometheuspvesd/test/data/config.yml
Normal file
24
prometheuspvesd/test/data/config.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
logging:
|
||||
level: warning
|
||||
format: console
|
||||
|
||||
metrics:
|
||||
enabled: true
|
||||
address: "127.0.0.1"
|
||||
port: 8000
|
||||
|
||||
output_file: dummy
|
||||
loop_delay: 300
|
||||
service: true
|
||||
|
||||
exclude_state: []
|
||||
exclude_vmid: []
|
||||
exclude_tags: []
|
||||
|
||||
pve:
|
||||
server: proxmox.example.com
|
||||
user: root
|
||||
password: secure
|
||||
auth_timeout: 5
|
||||
verify_ssl: true
|
|
@ -1,4 +0,0 @@
|
|||
---
|
||||
exclude_vmid:
|
||||
- 100
|
||||
- "101"
|
30
prometheuspvesd/test/fixtures/fixtures.py
vendored
30
prometheuspvesd/test/fixtures/fixtures.py
vendored
|
@ -109,7 +109,7 @@ def builtins():
|
|||
|
||||
|
||||
@pytest.fixture
|
||||
def defaults():
|
||||
def required():
|
||||
return {
|
||||
"exclude_state": [],
|
||||
"exclude_tags": [],
|
||||
|
@ -136,6 +136,34 @@ def defaults():
|
|||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def defaults():
|
||||
return {
|
||||
"exclude_state": [],
|
||||
"exclude_tags": [],
|
||||
"exclude_vmid": [],
|
||||
"logging": {
|
||||
"format": "console",
|
||||
"level": "WARNING"
|
||||
},
|
||||
"loop_delay": 300,
|
||||
"metrics": {
|
||||
"address": "127.0.0.1",
|
||||
"enabled": True,
|
||||
"port": 8000
|
||||
},
|
||||
"output_file": "dummy",
|
||||
"pve": {
|
||||
"auth_timeout": 5,
|
||||
"password": "",
|
||||
"server": "",
|
||||
"user": "",
|
||||
"verify_ssl": True
|
||||
},
|
||||
"service": True,
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def qemus():
|
||||
return [
|
||||
|
|
35
prometheuspvesd/test/unit/test_config.py
Normal file
35
prometheuspvesd/test/unit/test_config.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
"""Test Config class."""
|
||||
import pytest
|
||||
import ruamel.yaml
|
||||
|
||||
import prometheuspvesd.exception
|
||||
from prometheuspvesd.config import Config
|
||||
|
||||
pytest_plugins = [
|
||||
"prometheuspvesd.test.fixtures.fixtures",
|
||||
]
|
||||
|
||||
|
||||
def test_yaml_config(mocker, defaults):
|
||||
mocker.patch(
|
||||
"prometheuspvesd.config.default_config_file", "./prometheuspvesd/test/data/config.yml"
|
||||
)
|
||||
config = Config()
|
||||
|
||||
defaults["pve"]["user"] = "root"
|
||||
defaults["pve"]["password"] = "secure"
|
||||
defaults["pve"]["server"] = "proxmox.example.com"
|
||||
|
||||
assert config.config == defaults
|
||||
|
||||
|
||||
def test_yaml_config_error(mocker, capsys):
|
||||
mocker.patch(
|
||||
"prometheuspvesd.config.default_config_file", "./prometheuspvesd/test/data/config.yml"
|
||||
)
|
||||
mocker.patch.object(ruamel.yaml.YAML, "load", side_effect=ruamel.yaml.composer.ComposerError)
|
||||
|
||||
with pytest.raises(prometheuspvesd.exception.ConfigError) as e:
|
||||
Config()
|
||||
|
||||
assert "Unable to read config file ./prometheuspvesd/test/data/config.yml" in str(e.value)
|
Loading…
Reference in New Issue
Block a user