ramitkataria commented on code in PR #69502:
URL: https://github.com/apache/airflow/pull/69502#discussion_r3583023804
##########
airflow-core/tests/unit/plugins/test_plugins_manager.py:
##########
@@ -433,3 +433,68 @@ class MyWindowPlugin(AirflowPlugin):
assert qualname(MyCustomWindow) in registered
assert registered[qualname(MyCustomWindow)] is MyCustomWindow
+
+
+class TestPluginTeamName:
+ """``team_name`` exposure through ``get_plugin_info`` (attribute default
is covered
+ by the shared plugins_manager tests)."""
+
+ def test_get_plugin_info_includes_team_name(self):
+ from airflow import plugins_manager
+
+ class GlobalPlugin(AirflowPlugin):
+ name = "global_plugin"
+
+ class TeamPlugin(AirflowPlugin):
+ name = "team_plugin"
+ team_name = "team_a"
+
+ with mock_plugin_manager(plugins=[GlobalPlugin(), TeamPlugin()]):
+ info_by_name = {info["name"]: info for info in
plugins_manager.get_plugin_info()}
+
+ assert info_by_name["global_plugin"]["team_name"] is None
+ assert info_by_name["team_plugin"]["team_name"] == "team_a"
+
+
+class TestValidatePluginTeams:
+ """``validate_plugin_teams`` startup validation."""
+
+ def test_no_op_when_multi_team_disabled(self):
+ from airflow import plugins_manager
+
+ class TeamPlugin(AirflowPlugin):
+ name = "team_plugin"
+ team_name = "nonexistent_team"
+
+ # multi_team defaults to False; validation must not touch the database
or raise.
Review Comment:
Yep looks good
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]