##// END OF EJS Templates
core: avoid using rhodecode.test packages inside main packages as tests are removed during build which can cause some problems in some edge case calls
core: avoid using rhodecode.test packages inside main packages as tests are removed during build which can cause some problems in some edge case calls

File last commit:

r5608:6d33e504 default
r5618:bdbdb63f default
Show More
test_db.py
59 lines | 2.2 KiB | text/x-python | PythonLexer
core: updated copyright to 2024
r5608 # Copyright (C) 2010-2024 RhodeCode GmbH
project: added all source files and assets
r1 #
# 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 <http://www.gnu.org/licenses/>.
#
# 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
import random
from rhodecode.model import db
tests: fixed tests for changed repr.
r1333 @pytest.mark.parametrize("DBModel, klass, id_attr", [
(db.ChangesetComment, 'Comment', 'comment_id'),
(db.PullRequest, db.PullRequest.__name__, 'pull_request_id'),
(db.PullRequestVersion, db.PullRequestVersion.__name__, 'pull_request_version_id'),
project: added all source files and assets
r1 ])
tests: fixed tests for changed repr.
r1333 class TestModelReprImplementation(object):
project: added all source files and assets
r1
tests: fixed tests for changed repr.
r1333 def test_repr_without_id(self, DBModel, klass, id_attr):
project: added all source files and assets
r1 instance = DBModel()
tests: fixed all tests for python3 BIG changes
r5087 expected_repr = f'<DB:{klass} at {id(instance)}>'
project: added all source files and assets
r1 assert repr(instance) == expected_repr
tests: fixed tests for changed repr.
r1333 def test_repr_with_id(self, DBModel, klass, id_attr):
project: added all source files and assets
r1 test_id = random.randint(1, 10)
instance = DBModel()
setattr(instance, id_attr, test_id)
tests: fixed all tests for python3 BIG changes
r5087 expected_repr = f'<DB:{klass} #{test_id}>'
project: added all source files and assets
r1 assert repr(instance) == expected_repr
def test_get_locking_state_invalid_action(user_regular):
repo = db.Repository()
action = 'not_push_neither_pull'
with pytest.raises(ValueError):
repo.get_locking_state(action, user_id=user_regular.user_id)
def test_get_locking_state_valid_action(user_regular):
repo = db.Repository()
action = 'push'
make_lock, locked, lock_info = repo.get_locking_state(
action, user_id=user_regular.user_id)
assert not make_lock
assert not locked
assert lock_info == [None, None, None]