// This file is part of Substrate. // Copyright (C) Parity Technologies (UK) Ltd. // SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0 // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // 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 General Public License // along with this program. If not, see . use super::*; use jsonrpsee::{core::EmptyServerParams as EmptyParams, RpcModule}; use sc_chain_spec::Properties; const CHAIN_NAME: &'static str = "TEST_CHAIN_NAME"; const CHAIN_GENESIS: [u8; 32] = [0; 32]; const CHAIN_PROPERTIES: &'static str = r#"{"three": "123", "one": 1, "two": 12}"#; fn api() -> RpcModule { ChainSpec::new( CHAIN_NAME.to_string(), CHAIN_GENESIS, serde_json::from_str(CHAIN_PROPERTIES).unwrap(), ) .into_rpc() } #[tokio::test] async fn chain_spec_chain_name_works() { let name = api() .call::<_, String>("chainSpec_v1_chainName", EmptyParams::new()) .await .unwrap(); assert_eq!(name, CHAIN_NAME); } #[tokio::test] async fn chain_spec_genesis_hash_works() { let genesis = api() .call::<_, String>("chainSpec_v1_genesisHash", EmptyParams::new()) .await .unwrap(); assert_eq!(genesis, format!("0x{}", hex::encode(CHAIN_GENESIS))); } #[tokio::test] async fn chain_spec_properties_works() { let properties = api() .call::<_, Properties>("chainSpec_v1_properties", EmptyParams::new()) .await .unwrap(); assert_eq!(properties, serde_json::from_str(CHAIN_PROPERTIES).unwrap()); }