Skip to content

Commit

Permalink
[test] Ensure create, or set service with invalid keyword is refused
Browse files Browse the repository at this point in the history
example: om svc1 create --kw env.foo={bar} --kw env.bar={foo} is refused
  • Loading branch information
cgalibern committed Feb 11, 2021
1 parent ac9a55e commit e26b847
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions opensvc/tests/commands/svc/test_svc.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,35 @@
from commands.svc import Mgr


@pytest.mark.ci
@pytest.mark.usefixtures("osvc_path_tests")
@pytest.mark.usefixtures("has_euid_0")
class TestCreateWithKw:
@staticmethod
def test_create_id_refused_when_config_is_not_valid_env(capsys):
svcname = "pytest"
assert Mgr()(argv=["-s", svcname, "create", "--kw", "env.foo={bar}", "--kw", "env.bar={foo}"]) > 0
err = capsys.readouterr().err
assert "unable to resolv env.foo" in err
assert "unable to resolv env.bar" in err
assert Mgr()(argv=["-s", svcname, "ls"]) > 0

@staticmethod
def test_create_is_accepted_when_config_has_valid_env():
svcname = "pytest"
assert Mgr()(argv=["-s", svcname, "create", "--kw", "env.foo={bar}", "--kw", "env.baz={foo}"]) == 0
assert Mgr()(argv=["-s", svcname, "ls"]) == 0

@staticmethod
def test_create_correctly_set_env_keywords(capsys):
svcname = "pytest"
assert Mgr()(argv=["-s", svcname, "create", "--kw", "env.foo=00BAB10C", "--kw", "env.bar=BADDCAFE"]) == 0
for kw, value in {"env.foo": "00BAB10C", "env.bar": "BADDCAFE"}.items():
capsys.readouterr()
assert Mgr()(argv=["-s", svcname, "get", "--kw", kw]) == 0
assert capsys.readouterr().out.strip() == value


@pytest.mark.ci
@pytest.mark.usefixtures("osvc_path_tests")
@pytest.mark.usefixtures("has_euid_0")
Expand All @@ -23,6 +52,18 @@ def test_update_service_config(tmp_file, capture_stdout):
assert Mgr()(argv=["-s", svcname, "print", "config", "--format", "json"]) == 0
assert json.load(open(tmp_file, "r"))["env"]["foo"] == "BAR"

@staticmethod
def test_set_invalid_env_values_is_refused():
svcname = "pytest"
assert Mgr()(argv=["-s", svcname, "create"]) == 0
assert Mgr()(argv=["-s", svcname, "set", "--kw", "env.foo={bar}", "--kw", "env.bar={foo}"]) > 0

@staticmethod
def test_set_valid_env_values_is_accepted():
svcname = "pytest"
assert Mgr()(argv=["-s", svcname, "create"]) == 0
assert Mgr()(argv=["-s", svcname, "set", "--kw", "env.foo={bar}", "--kw", "env.bar=something"]) == 0


@pytest.mark.ci
@pytest.mark.usefixtures("osvc_path_tests")
Expand Down

0 comments on commit e26b847

Please sign in to comment.