31 lines
744 B
Python
31 lines
744 B
Python
from operator import attrgetter
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from jenkins_jobs.errors import JenkinsJobsException
|
|
from tests.enum_scenarios import scenario_list
|
|
|
|
|
|
fixtures_dir = Path(__file__).parent / "view_fixtures"
|
|
|
|
|
|
@pytest.fixture(
|
|
params=scenario_list(fixtures_dir),
|
|
ids=attrgetter("name"),
|
|
)
|
|
def scenario(request):
|
|
return request.param
|
|
|
|
|
|
def test_yaml_snippet(scenario, expected_error, check_view):
|
|
if scenario.error_path.exists():
|
|
with pytest.raises(JenkinsJobsException) as excinfo:
|
|
check_view()
|
|
error = "\n".join(excinfo.value.lines)
|
|
print()
|
|
print(error)
|
|
assert error.replace(str(fixtures_dir) + "/", "") == expected_error
|
|
else:
|
|
check_view()
|