##// END OF EJS Templates
git: adjusted code for new libgit2 backend...
git: adjusted code for new libgit2 backend - made @CachedProperty use a custom decarator that can do invalidations. This is required for tests - made few cleanups of code since we use a simpler libgit2 backend now - removed some unused obsolete code

File last commit:

r3363:f08e98b1 default
r3842:8bd67598 default
Show More
test_db.py
62 lines | 2.2 KiB | text/x-python | PythonLexer
project: added all source files and assets
r1 # -*- coding: utf-8 -*-
docs: updated copyrights to 2019
r3363 # Copyright (C) 2010-2019 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 tests for changed repr.
r1333 expected_repr = '<DB:%s at %#x>' % (klass, 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)
expected_repr = (
tests: fixed tests for changed repr.
r1333 '<DB:%s #%d>' % (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]