##// END OF EJS Templates
db: reduce size of fingerprint column for mysql compat....
db: reduce size of fingerprint column for mysql compat. - we can get into troubles by having long fingerprint under mysql because we do an index on this column.

File last commit:

r1333:e3750173 default
r2220:c5a681cc stable
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 -*-
license: updated copyright year to 2017
r1271 # Copyright (C) 2010-2017 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]