# HG changeset patch # User Johannes Bornhold # Date 2016-06-16 07:11:45 # Node ID e6c6abfabc5d502c0fc4014c7b6fa539a18ede71 # Parent e9bc6bb99efaf079ef33f9db6014e9375998ea72 auth: Implement __str__ on plugin base class This way some error messages will look nicer, since they are based on the __str__ of the plugin instance. Using the plugin_id will give the user (and us in the support case) the exact pointer to the affected plugins. diff --git a/rhodecode/authentication/base.py b/rhodecode/authentication/base.py --- a/rhodecode/authentication/base.py +++ b/rhodecode/authentication/base.py @@ -107,6 +107,9 @@ class RhodeCodeAuthPluginBase(object): def __init__(self, plugin_id): self._plugin_id = plugin_id + def __str__(self): + return self.get_id() + def _get_setting_full_name(self, name): """ Return the full setting name used for storing values in the database. diff --git a/rhodecode/authentication/tests/test_auth_plugin_base.py b/rhodecode/authentication/tests/test_auth_plugin_base.py new file mode 100644 --- /dev/null +++ b/rhodecode/authentication/tests/test_auth_plugin_base.py @@ -0,0 +1,28 @@ +# Copyright (C) 2016 RhodeCode GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License, version 3 +# (only), as published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +# This program is dual-licensed. If you wish to learn more about the +# RhodeCode Enterprise Edition, including its added features, Support services, +# and proprietary license terms, please see https://rhodecode.com/licenses/ + +""" +Checks around the API of the class RhodeCodeAuthPluginBase. +""" + +from rhodecode.authentication.base import RhodeCodeAuthPluginBase + + +def test_str_returns_plugin_id(): + plugin = RhodeCodeAuthPluginBase(plugin_id='stub_plugin_id') + assert str(plugin) == 'stub_plugin_id'