ClonerConfig + tests
Signed-off-by: Václav Valíček <valicek1994@gmail.com>
This commit is contained in:
74
tests/lib/test_cloner_config.py
Normal file
74
tests/lib/test_cloner_config.py
Normal file
@@ -0,0 +1,74 @@
|
||||
from repo_cloner.lib.cloner_config import ClonerConfig
|
||||
import pytest
|
||||
|
||||
|
||||
def test_init():
|
||||
x = ClonerConfig()
|
||||
|
||||
assert x._ClonerConfig__properties == ['cloner_interval', 'cloner_project_name', 'cloner_repo_url',
|
||||
'cloner_submodule_depth', 'cloner_submodules']
|
||||
assert isinstance(x._ClonerConfig__values, dict)
|
||||
assert len(dict(x._ClonerConfig__values)) == 0
|
||||
|
||||
|
||||
def test_try_default():
|
||||
x = ClonerConfig()
|
||||
assert 888 == x._ClonerConfig__try_default("cloner_interval", 888)
|
||||
with pytest.raises(KeyError) as exc:
|
||||
x._ClonerConfig__try_default("nonexistent_key", 888)
|
||||
assert exc.exconly() == "KeyError: 'nonexistent_key is not recognized config option'"
|
||||
|
||||
x._ClonerConfig__values['cloner_interval'] = 666
|
||||
assert 666 == x._ClonerConfig__try_default("cloner_interval", 888)
|
||||
|
||||
|
||||
def test_cloner_project_name():
|
||||
x = ClonerConfig()
|
||||
assert x.cloner_project_name == ""
|
||||
x._ClonerConfig__values['cloner_project_name'] = "asdfgh"
|
||||
assert x.cloner_project_name == "asdfgh"
|
||||
|
||||
|
||||
def test_cloner_repo_url():
|
||||
x = ClonerConfig()
|
||||
assert x.cloner_repo_url == ""
|
||||
x._ClonerConfig__values['cloner_repo_url'] = "asdfgh"
|
||||
assert x.cloner_repo_url == "asdfgh"
|
||||
|
||||
|
||||
def test_cloner_interval():
|
||||
x = ClonerConfig()
|
||||
assert x.cloner_interval == 5
|
||||
x._ClonerConfig__values['cloner_interval'] = 0
|
||||
assert x.cloner_interval == 0
|
||||
|
||||
|
||||
def test_cloner_submodules():
|
||||
x = ClonerConfig()
|
||||
assert x.cloner_submodules == True
|
||||
x._ClonerConfig__values['cloner_submodules'] = False
|
||||
assert not x.cloner_submodules
|
||||
|
||||
|
||||
def test_cloner_submodule_depth():
|
||||
x = ClonerConfig()
|
||||
assert x.cloner_submodule_depth == 50000
|
||||
x._ClonerConfig__values['cloner_submodule_depth'] = -1
|
||||
assert x.cloner_submodule_depth == -1
|
||||
|
||||
|
||||
def test_set_property():
|
||||
x = ClonerConfig()
|
||||
assert x.cloner_interval == 5
|
||||
x._set_property("cloner_interval", 0)
|
||||
assert x.cloner_interval == 0
|
||||
|
||||
# invalid type
|
||||
with pytest.raises(ValueError) as exc:
|
||||
x._set_property("cloner_interval", "č")
|
||||
assert exc.exconly() == "ValueError: Invalid value for key cloner_interval: type is <class 'str'>"
|
||||
|
||||
# undefined property
|
||||
with pytest.raises(KeyError) as exc:
|
||||
x._set_property("nonexistent_key", 888)
|
||||
assert exc.exconly() == "KeyError: 'nonexistent_key is not recognized config option'"
|
||||
@@ -33,4 +33,3 @@ def test_has_property():
|
||||
assert x.has_property("cloner_interval")
|
||||
assert x.has_property("cloner_submodules")
|
||||
assert x.has_property("cloner_submodule_depth")
|
||||
|
||||
Reference in New Issue
Block a user