diff options
Diffstat (limited to 'tests/test_style.py')
-rw-r--r-- | tests/test_style.py | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/tests/test_style.py b/tests/test_style.py index ef6ddc4..d3cfb14 100644 --- a/tests/test_style.py +++ b/tests/test_style.py @@ -4,9 +4,9 @@ import pytest from debian.deb822 import Deb822 from debputy.yaml.compat import CommentedMap -from debputy.lsp.style_prefs import ( - StylePreferenceTable, - determine_effective_style, +from debputy.lsp.maint_prefs import ( + MaintainerPreferenceTable, + determine_effective_preference, EffectivePreference, _WAS_DEFAULTS, ) @@ -14,7 +14,7 @@ from debputy.packages import SourcePackage def test_load_styles() -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() assert "niels@thykier.net" in styles.maintainer_preferences nt_style = styles.maintainer_preferences["niels@thykier.net"] # Note this is data dependent; if it fails because the style changes, update the test @@ -32,7 +32,7 @@ def test_load_styles() -> None: def test_load_named_styles() -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() assert "black" in styles.named_styles black_style = styles.named_styles["black"] # Note this is data dependent; if it fails because the style changes, update the test @@ -48,7 +48,7 @@ def test_load_named_styles() -> None: def test_compat_styles() -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() # Data dependent; if it breaks, provide a stubbed style preference table assert "niels@thykier.net" in styles.maintainer_preferences @@ -71,30 +71,33 @@ def test_compat_styles() -> None: ) src = SourcePackage(fields) - effective_style, _ = determine_effective_style(styles, src, None) + effective_style, tool, _ = determine_effective_preference(styles, src, None) assert effective_style == nt_pref + assert tool == "debputy reformat" fields["Uploaders"] = ( "Niels Thykier <niels@thykier.net>, Chris Hofstaedtler <zeha@debian.org>" ) src = SourcePackage(fields) - effective_style, _ = determine_effective_style(styles, src, None) + effective_style, tool, _ = determine_effective_preference(styles, src, None) assert effective_style == nt_pref assert effective_style == zeha_pref + assert tool == "debputy reformat" fields["Uploaders"] = ( "Niels Thykier <niels@thykier.net>, Chris Hofstaedtler <zeha@debian.org>, Random Developer <random@example.org>" ) src = SourcePackage(fields) - effective_style, _ = determine_effective_style(styles, src, None) + effective_style, tool, _ = determine_effective_preference(styles, src, None) assert effective_style is None + assert tool is None @pytest.mark.xfail def test_compat_styles_team_maint() -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() fields = Deb822( { "Package": "foo", @@ -108,12 +111,13 @@ def test_compat_styles_team_maint() -> None: assert "random@example.org" not in styles.maintainer_preferences team_style = styles.maintainer_preferences["team@lists.debian.org"] assert team_style.is_packaging_team - effective_style, _ = determine_effective_style(styles, src, None) + effective_style, tool, _ = determine_effective_preference(styles, src, None) assert effective_style == team_style.as_effective_pref() + assert tool is None def test_x_style() -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() fields = Deb822( { "Package": "foo", @@ -125,12 +129,13 @@ def test_x_style() -> None: assert "random@example.org" not in styles.maintainer_preferences assert "black" in styles.named_styles black_style = styles.named_styles["black"] - effective_style, _ = determine_effective_style(styles, src, None) + effective_style, tool, _ = determine_effective_preference(styles, src, None) assert effective_style == black_style + assert tool == "debputy reformat" def test_was_from_salsa_ci_style() -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() fields = Deb822( { "Package": "foo", @@ -139,20 +144,23 @@ def test_was_from_salsa_ci_style() -> None: ) src = SourcePackage(fields) assert "random@example.org" not in styles.maintainer_preferences - effective_style, _ = determine_effective_style(styles, src, None) + effective_style, tool, _ = determine_effective_preference(styles, src, None) assert effective_style is None + assert tool is None salsa_ci = CommentedMap( {"variables": CommentedMap({"SALSA_CI_DISABLE_WRAP_AND_SORT": "yes"})} ) - effective_style, _ = determine_effective_style(styles, src, salsa_ci) + effective_style, tool, _ = determine_effective_preference(styles, src, salsa_ci) assert effective_style is None + assert tool is None salsa_ci = CommentedMap( {"variables": CommentedMap({"SALSA_CI_DISABLE_WRAP_AND_SORT": "no"})} ) - effective_style, _ = determine_effective_style(styles, src, salsa_ci) + effective_style, tool, _ = determine_effective_preference(styles, src, salsa_ci) was_style = EffectivePreference(**_WAS_DEFAULTS) assert effective_style == was_style + assert tool == "wrap-and-sort" @pytest.mark.parametrize( @@ -197,9 +205,10 @@ def test_was_from_salsa_ci_style() -> None: ], ) def test_was_from_salsa_ci_style_args( - was_args: str, style_delta: Optional[Mapping[str, Any]] + was_args: str, + style_delta: Optional[Mapping[str, Any]], ) -> None: - styles = StylePreferenceTable.load_styles() + styles = MaintainerPreferenceTable.load_preferences() fields = Deb822( { "Package": "foo", @@ -218,12 +227,14 @@ def test_was_from_salsa_ci_style_args( ) } ) - effective_style, _ = determine_effective_style(styles, src, salsa_ci) + effective_style, tool, _ = determine_effective_preference(styles, src, salsa_ci) if style_delta is None: assert effective_style is None + assert tool is None else: was_style = EffectivePreference(**_WAS_DEFAULTS).replace( **style_delta, ) assert effective_style == was_style + assert tool == f"wrap-and-sort {was_args}".strip() |