mirror of https://github.com/sipwise/ngcpcfg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.6 KiB
91 lines
2.6 KiB
#!/usr/bin/env py.test-3
|
|
|
|
import os
|
|
import pytest
|
|
import re
|
|
from fixtures.fs import check_output
|
|
|
|
|
|
@pytest.mark.cmdline
|
|
def test_ngcpcfgcfg_ok(ngcpcfgcli):
|
|
out = ngcpcfgcli()
|
|
assert (
|
|
"For further usage information and options "
|
|
"see the ngcpcfg(8) man page" in out.stderr
|
|
)
|
|
assert out.returncode == 1
|
|
|
|
|
|
@pytest.mark.cmdline
|
|
def test_ngcpcfgcfg_ko(ngcpcfgcli):
|
|
out = ngcpcfgcli(env={"NGCPCFG": "/doesnotexist"})
|
|
assert (
|
|
"Error: Could not read configuration file "
|
|
"/etc/ngcp-ngcpcfg/ngcpcfg.cfg. Exiting." in out.stderr
|
|
)
|
|
assert out.returncode == 1
|
|
|
|
|
|
@pytest.mark.mt_16391
|
|
def test_simple_build_template_ok(ngcpcfgcli):
|
|
out = ngcpcfgcli("build", "/etc/apt/apt.conf.d/71_no_recommended")
|
|
assert out.returncode == 0
|
|
regex = re.compile(
|
|
r"Generating "
|
|
+ str(out.env["OUTPUT_DIRECTORY"])
|
|
+ r"/etc/apt/apt.conf.d/71_no_recommended: OK"
|
|
)
|
|
assert re.search(regex, out.stdout)
|
|
|
|
|
|
@pytest.mark.build
|
|
def test_simple_build_template_no_ha_no_carrier(ngcpcfgcli):
|
|
out = ngcpcfgcli("build", "/etc/config_variants")
|
|
assert out.returncode == 0
|
|
regex = re.compile(
|
|
r"Generating " + str(out.env["OUTPUT_DIRECTORY"]) + r"/etc/config_variants: OK"
|
|
)
|
|
assert re.search(regex, out.stdout)
|
|
output_file = os.path.join(out.env["OUTPUT_DIRECTORY"], "etc/config_variants")
|
|
test_file = "fixtures/output/config_variants"
|
|
check_output(output_file, test_file)
|
|
|
|
|
|
@pytest.mark.build
|
|
def test_simple_build_template_pro(ngcpcfgcli):
|
|
out = ngcpcfgcli(
|
|
"build",
|
|
"/etc/config_variants",
|
|
env={
|
|
"NGCPCFG": "fixtures/ngcpcfg_pro.cfg",
|
|
},
|
|
)
|
|
assert out.returncode == 0
|
|
regex = re.compile(
|
|
r"Generating " + str(out.env["OUTPUT_DIRECTORY"]) + r"/etc/config_variants: OK"
|
|
)
|
|
assert re.search(regex, out.stdout)
|
|
output_file = os.path.join(out.env["OUTPUT_DIRECTORY"], "etc/config_variants")
|
|
test_file = "fixtures/output/config_variants_pro"
|
|
check_output(output_file, test_file)
|
|
|
|
|
|
@pytest.mark.tt_17401
|
|
def test_fail_on_existing_dir_matching_output_filename(ngcpcfg, ngcpcfgcli):
|
|
output = "/etc/apt/apt.conf.d/71_no_recommended"
|
|
env, cfg = ngcpcfg()
|
|
output_dir = env["OUTPUT_DIRECTORY"] / output[1:]
|
|
output_dir.mkdir(parents=True)
|
|
out = ngcpcfgcli(
|
|
"build",
|
|
output,
|
|
env=env,
|
|
)
|
|
regex = re.compile(
|
|
"Error: Generating file .*"
|
|
+ output
|
|
+ r" not possible, it\'s an existing directory."
|
|
)
|
|
assert re.search(regex, out.stderr)
|
|
assert out.returncode == 1
|