mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2026-08-24 10:05:29 -05:00
Add get version RPC method for all services (#18366)
This commit is contained in:
@@ -7,6 +7,7 @@ import pytest
|
||||
from chia_rs import AugSchemeMPL
|
||||
from clvm.casts import int_to_bytes
|
||||
|
||||
from chia import __version__
|
||||
from chia._tests.blockchain.blockchain_test_utils import _validate_and_add_block
|
||||
from chia._tests.conftest import ConsensusMode
|
||||
from chia._tests.connection_utils import connect_and_get_peer
|
||||
@@ -577,6 +578,23 @@ async def test_get_network_info(one_wallet_and_one_simulator_services, self_host
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.anyio
|
||||
async def test_get_version(one_wallet_and_one_simulator_services, self_hostname):
|
||||
nodes, _, bt = one_wallet_and_one_simulator_services
|
||||
(full_node_service_1,) = nodes
|
||||
async with FullNodeRpcClient.create_as_context(
|
||||
self_hostname,
|
||||
full_node_service_1.rpc_server.listen_port,
|
||||
full_node_service_1.root_path,
|
||||
full_node_service_1.config,
|
||||
) as client:
|
||||
version = await client.fetch("get_version", {})
|
||||
assert version == {
|
||||
"success": True,
|
||||
"version": __version__,
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.anyio
|
||||
async def test_get_blockchain_state(one_wallet_and_one_simulator_services, self_hostname):
|
||||
num_blocks = 5
|
||||
|
||||
@@ -16,6 +16,7 @@ async def validate_get_routes(client: RpcClient, api: RpcApiProtocol) -> None:
|
||||
"/close_connection",
|
||||
"/stop_node",
|
||||
"/get_routes",
|
||||
"/get_version",
|
||||
"/healthz",
|
||||
]
|
||||
assert len(routes_api) > 0
|
||||
|
||||
@@ -13,6 +13,7 @@ from typing import Any, AsyncIterator, Awaitable, Callable, Dict, Generic, List,
|
||||
from aiohttp import ClientConnectorError, ClientSession, ClientWebSocketResponse, WSMsgType, web
|
||||
from typing_extensions import Protocol, final
|
||||
|
||||
from chia import __version__
|
||||
from chia.rpc.util import wrap_http_handler
|
||||
from chia.server.outbound_message import NodeType
|
||||
from chia.server.server import ChiaServer, ssl_context_for_client, ssl_context_for_server
|
||||
@@ -241,6 +242,7 @@ class RpcServer(Generic[_T_RpcApiProtocol]):
|
||||
"/close_connection": self.close_connection,
|
||||
"/stop_node": self.stop_node,
|
||||
"/get_routes": self.get_routes,
|
||||
"/get_version": self.get_version,
|
||||
"/healthz": self.healthz,
|
||||
}
|
||||
|
||||
@@ -301,6 +303,11 @@ class RpcServer(Generic[_T_RpcApiProtocol]):
|
||||
"success": True,
|
||||
}
|
||||
|
||||
async def get_version(self, request: Dict[str, Any]) -> EndpointResult:
|
||||
return {
|
||||
"version": __version__,
|
||||
}
|
||||
|
||||
async def ws_api(self, message: WsRpcMessage) -> Optional[Dict[str, object]]:
|
||||
"""
|
||||
This function gets called when new message is received via websocket.
|
||||
|
||||
Reference in New Issue
Block a user