# Copyright (C) 2010-2024 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/ import pytest from rhodecode.api.views import deprecated_api from rhodecode.lib.ext_json import json from rhodecode.api.tests.utils import ( build_data, api_call) @pytest.mark.usefixtures("testuser_api", "app") class TestCommitComment(object): def test_deprecated_message_in_docstring(self): docstring = deprecated_api.changeset_comment.__doc__ assert '.. deprecated:: 3.4.0' in docstring assert 'Please use method `comment_commit` instead.' in docstring def test_deprecated_message_in_retvalue(self): id_, params = build_data( self.apikey, 'show_ip') response = api_call(self.app, params) expected = { 'id': id_, 'error': None, 'result': json.loads(response.body)['result'], 'DEPRECATION_WARNING': 'DEPRECATED METHOD Please use method `get_ip` instead.' } assert expected == json.loads(response.body) # def test_calls_comment_commit(self, backend, no_notifications): # data = { # 'repoid': backend.repo_name, # 'status': ChangesetStatus.STATUS_APPROVED, # 'message': 'Approved', # 'revision': 'tip' # } # with patch.object(repo_api, 'changeset_commit') as comment_mock: # id_, params = build_data(self.apikey, 'comment_commit', **data) # api_call(self.app, params) # # _, call_args = comment_mock.call_args # data['commit_id'] = data.pop('revision') # for key in data: # assert call_args[key] == data[key] # def test_warning_log_contains_deprecation_message(self): # api = self.SampleApi() # with patch.object(utils, 'log') as log_mock: # api.api_method() # # assert log_mock.warning.call_count == 1 # call_args = log_mock.warning.call_args[0] # assert ( # call_args[0] == # 'DEPRECATED API CALL on function %s, please use `%s` instead') # assert call_args[1].__name__ == 'api_method' # assert call_args[2] == 'new_method'