Skip to content
Snippets Groups Projects
Commit b5d928f1 authored by Georges Racinet's avatar Georges Racinet
Browse files

ServerService.ServerInfo: very minimal implementation

We just provide the HGitaly version.

All other information is mostly prematurate.

Maybe we'll end up filling in the Mercurial version
as the `git_version` field for the HGitaly3 milestone,
but for now (approaching HGitaly2 milestone),
HGitaly runs on the same system as the Rails, which obtains
that information already by a direct `hg` call.
parent 27f3a6ac
No related branches found
Tags 0.8.1
1 merge request!56HGitaly version: moved to inner file and exposed as part of ServerInfo method
Pipeline #20274 passed
......@@ -4,9 +4,10 @@
from hgitaly.service.ref import RefServicer
from hgitaly.service.diff import DiffServicer
from hgitaly.service.repository_service import RepositoryServiceServicer
from hgitaly.service.server import ServerServicer
from hgitaly.stub.commit_pb2_grpc import add_CommitServiceServicer_to_server
from hgitaly.stub.ref_pb2_grpc import add_RefServiceServicer_to_server
from hgitaly.stub.diff_pb2_grpc import add_DiffServiceServicer_to_server
from hgitaly.stub.repository_service_pb2_grpc import (
add_RepositoryServiceServicer_to_server
)
......@@ -7,9 +8,10 @@
from hgitaly.stub.commit_pb2_grpc import add_CommitServiceServicer_to_server
from hgitaly.stub.ref_pb2_grpc import add_RefServiceServicer_to_server
from hgitaly.stub.diff_pb2_grpc import add_DiffServiceServicer_to_server
from hgitaly.stub.repository_service_pb2_grpc import (
add_RepositoryServiceServicer_to_server
)
from hgitaly.stub.server_pb2_grpc import add_ServerServiceServicer_to_server
@pytest.fixture(scope='module')
......@@ -25,6 +27,8 @@
add_RepositoryServiceServicer_to_server(
RepositoryServiceServicer(storages),
_grpc_server)
add_ServerServiceServicer_to_server(ServerServicer(storages),
_grpc_server)
_grpc_server.add_insecure_port(grpc_addr)
_grpc_server.start()
yield _grpc_server
......
......@@ -24,6 +24,7 @@
from .service.ref import RefServicer
from .service.diff import DiffServicer
from .service.repository_service import RepositoryServiceServicer
from .service.server import ServerServicer
from .stub.commit_pb2_grpc import add_CommitServiceServicer_to_server
from .stub.ref_pb2_grpc import add_RefServiceServicer_to_server
......@@ -31,6 +32,7 @@
from .stub.repository_service_pb2_grpc import (
add_RepositoryServiceServicer_to_server
)
from .stub.server_pb2_grpc import add_ServerServiceServicer_to_server
logger = logging.getLogger(__name__)
......@@ -65,6 +67,7 @@
add_DiffServiceServicer_to_server(DiffServicer(storages), server)
add_RepositoryServiceServicer_to_server(
RepositoryServiceServicer(storages), server)
add_ServerServiceServicer_to_server(ServerServicer(storages), server)
for url in listen_urls:
try:
......
# Copyright 2020-2021 Georges Racinet <georges.racinet@octobus.net>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
#
# SPDX-License-Identifier: GPL-2.0-or-later
import logging
from hgitaly import __version__
from ..servicer import HGitalyServicer
from ..stub.server_pb2 import (
ServerInfoRequest,
ServerInfoResponse,
)
from ..stub.server_pb2_grpc import ServerServiceServicer
logger = logging.getLogger(__name__)
class ServerServicer(ServerServiceServicer, HGitalyServicer):
def ServerInfo(self,
request: ServerInfoRequest,
context) -> ServerInfoResponse:
return ServerInfoResponse(server_version=__version__)
# Copyright 2020 Georges Racinet <georges.racinet@octobus.net>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
#
# SPDX-License-Identifier: GPL-2.0-or-later
import re
from pkg_resources import parse_version
from hgitaly.stub.server_pb2 import (
ServerInfoRequest,
)
from hgitaly.stub.server_pb2_grpc import ServerServiceStub
def test_server_info(grpc_channel):
grpc_stub = ServerServiceStub(grpc_channel)
resp = grpc_stub.ServerInfo(ServerInfoRequest())
version = resp.server_version
assert version
assert re.match(r'\d+[.]\d+[.]\d+',
parse_version(version).base_version) is not None
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment