api: implemented missing get_repo_refs api backend. Fixes #4677
This commit is contained in:
parent
501b590618
commit
f3c3db2bf5
3 changed files with 70 additions and 4 deletions
40
rhodecode/api/tests/test_get_repo_refs.py
Normal file
40
rhodecode/api/tests/test_get_repo_refs.py
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Copyright (C) 2010-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 <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
|
||||
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.model.repo import RepoModel
|
||||
from rhodecode.model.user import UserModel
|
||||
from rhodecode.tests import TEST_USER_ADMIN_LOGIN
|
||||
from rhodecode.api.tests.utils import (
|
||||
build_data, api_call, assert_ok, assert_error, expected_permissions)
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("testuser_api", "app")
|
||||
class TestGetRepo(object):
|
||||
def test_api_get_repo_refs(self, backend, user_util):
|
||||
repo = backend.create_repo()
|
||||
id_, params = build_data(self.apikey, 'get_repo_refs',
|
||||
**{'repoid': repo.repo_name,})
|
||||
response = api_call(self.app, params)
|
||||
expected = repo.scm_instance().refs()
|
||||
assert_ok(id_, expected, given=response.body)
|
||||
|
|
@ -512,9 +512,23 @@ def get_repo_refs(request, apiuser, repoid):
|
|||
.. code-block:: bash
|
||||
|
||||
id : <id_given_in_input>
|
||||
result: [
|
||||
TODO...
|
||||
]
|
||||
"result": {
|
||||
"bookmarks": {
|
||||
"dev": "5611d30200f4040ba2ab4f3d64e5b06408a02188",
|
||||
"master": "367f590445081d8ec8c2ea0456e73ae1f1c3d6cf"
|
||||
},
|
||||
"branches": {
|
||||
"default": "5611d30200f4040ba2ab4f3d64e5b06408a02188",
|
||||
"stable": "367f590445081d8ec8c2ea0456e73ae1f1c3d6cf"
|
||||
},
|
||||
"branches_closed": {},
|
||||
"tags": {
|
||||
"tip": "5611d30200f4040ba2ab4f3d64e5b06408a02188",
|
||||
"v4.4.0": "1232313f9e6adac5ce5399c2a891dc1e72b79022",
|
||||
"v4.4.1": "cbb9f1d329ae5768379cdec55a62ebdd546c4e27",
|
||||
"v4.4.2": "24ffe44a27fcd1c5b6936144e176b9f6dd2f3a17",
|
||||
}
|
||||
}
|
||||
error: null
|
||||
"""
|
||||
|
||||
|
|
|
|||
|
|
@ -226,7 +226,12 @@ class BaseRepository(object):
|
|||
returns a `dict` with branches, bookmarks, tags, and closed_branches
|
||||
for this repository
|
||||
"""
|
||||
raise NotImplementedError
|
||||
return dict(
|
||||
branches=self.branches,
|
||||
branches_closed=self.branches_closed,
|
||||
tags=self.tags,
|
||||
bookmarks=self.bookmarks
|
||||
)
|
||||
|
||||
@LazyProperty
|
||||
def branches(self):
|
||||
|
|
@ -235,6 +240,13 @@ class BaseRepository(object):
|
|||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@LazyProperty
|
||||
def tags(self):
|
||||
"""
|
||||
A `dict` which maps tags names to commit ids.
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
@LazyProperty
|
||||
def size(self):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue