|
| 1 | +"""Tests for the "_get_application_import_names" method of _cli.py.""" |
| 2 | + |
| 3 | +import pytest |
| 4 | + |
| 5 | +from ni_python_styleguide._cli import _get_application_import_names |
| 6 | + |
| 7 | + |
| 8 | +@pytest.mark.parametrize( |
| 9 | + "pyproject_obj, expected_names", |
| 10 | + [ |
| 11 | + ( |
| 12 | + { |
| 13 | + "tool": { |
| 14 | + "ni-python-styleguide": {"application-import-names": "ain1,ain2"}, |
| 15 | + "poetry": {"name": "tool.poetry.name"}, |
| 16 | + }, |
| 17 | + "project": { |
| 18 | + "import-names": ["import-names1", "import-names2"], |
| 19 | + "name": "project.name", |
| 20 | + }, |
| 21 | + }, |
| 22 | + "ain1,ain2,tests", |
| 23 | + ), |
| 24 | + ( |
| 25 | + { |
| 26 | + "tool": {"poetry": {"name": "tool.poetry.name"}}, |
| 27 | + "project": { |
| 28 | + "import-names": ["import-names1", "import-names2"], |
| 29 | + "name": "project.name", |
| 30 | + }, |
| 31 | + }, |
| 32 | + "import-names1,import-names2,tests", |
| 33 | + ), |
| 34 | + ( |
| 35 | + {"tool": {"poetry": {"name": "tool.poetry.name"}}, "project": {"name": "project.name"}}, |
| 36 | + "project.name,tests", |
| 37 | + ), |
| 38 | + ({"tool": {"poetry": {"name": "tool.poetry.name"}}}, "tool.poetry.name,tests"), |
| 39 | + ], |
| 40 | +) |
| 41 | +def test_get_application_import_names_returns_valid_data(pyproject_obj, expected_names): |
| 42 | + """Tests that _get_application_import_names returns valid data.""" |
| 43 | + result = _get_application_import_names(pyproject_obj) |
| 44 | + assert result == expected_names |
0 commit comments