test for operator inspection
This commit is contained in:
parent
18c647ff3e
commit
069bb27192
@ -2,7 +2,7 @@ use super::test_utils::Key;
|
|||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use detee_shared::common_proto::Empty;
|
use detee_shared::common_proto::Empty;
|
||||||
use detee_shared::general_proto::brain_general_cli_client::BrainGeneralCliClient;
|
use detee_shared::general_proto::brain_general_cli_client::BrainGeneralCliClient;
|
||||||
use detee_shared::general_proto::ReportNodeReq;
|
use detee_shared::general_proto::{AirdropReq, ReportNodeReq};
|
||||||
use detee_shared::vm_proto;
|
use detee_shared::vm_proto;
|
||||||
use detee_shared::vm_proto::brain_vm_cli_client::BrainVmCliClient;
|
use detee_shared::vm_proto::brain_vm_cli_client::BrainVmCliClient;
|
||||||
use surreal_brain::constants::{ACTIVE_VM, NEW_VM_REQ};
|
use surreal_brain::constants::{ACTIVE_VM, NEW_VM_REQ};
|
||||||
@ -11,6 +11,18 @@ use surrealdb::engine::remote::ws::Client;
|
|||||||
use surrealdb::Surreal;
|
use surrealdb::Surreal;
|
||||||
use tonic::transport::Channel;
|
use tonic::transport::Channel;
|
||||||
|
|
||||||
|
async fn airdrop(brain_channel: &Channel, wallet: &str, amount: u64) -> Result<()> {
|
||||||
|
let mut client = BrainGeneralCliClient::new(brain_channel.clone());
|
||||||
|
let airdrop_req = AirdropReq { pubkey: wallet.to_string(), tokens: amount };
|
||||||
|
|
||||||
|
let admin_key = Key::new();
|
||||||
|
std::env::set_var("ADMIN_PUB_KEYS", &admin_key.pubkey);
|
||||||
|
|
||||||
|
client.airdrop(admin_key.sign_request(airdrop_req.clone())?).await?;
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn create_new_vm(
|
pub async fn create_new_vm(
|
||||||
db: &Surreal<Client>,
|
db: &Surreal<Client>,
|
||||||
key: &Key,
|
key: &Key,
|
||||||
|
@ -3,10 +3,11 @@ use common::prepare_test_env::{
|
|||||||
};
|
};
|
||||||
use common::test_utils::Key;
|
use common::test_utils::Key;
|
||||||
use common::vm_cli_utils::{create_new_vm, report_node};
|
use common::vm_cli_utils::{create_new_vm, report_node};
|
||||||
use common::vm_daemon_utils::mock_vm_daemon;
|
use common::vm_daemon_utils::{mock_vm_daemon, register_vm_node};
|
||||||
use detee_shared::common_proto::{Empty, Pubkey};
|
use detee_shared::common_proto::{Empty, Pubkey};
|
||||||
use detee_shared::general_proto::brain_general_cli_client::BrainGeneralCliClient;
|
use detee_shared::general_proto::brain_general_cli_client::BrainGeneralCliClient;
|
||||||
use detee_shared::general_proto::AirdropReq;
|
use detee_shared::general_proto::AirdropReq;
|
||||||
|
use detee_shared::vm_proto::brain_vm_daemon_client::BrainVmDaemonClient;
|
||||||
use futures::StreamExt;
|
use futures::StreamExt;
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use std::vec;
|
use std::vec;
|
||||||
@ -177,3 +178,36 @@ async fn test_list_operators() {
|
|||||||
|
|
||||||
assert!(!operators.is_empty())
|
assert!(!operators.is_empty())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn test_inspect_operator() {
|
||||||
|
prepare_test_db().await.unwrap();
|
||||||
|
|
||||||
|
let brain_channel = run_service_for_stream().await.unwrap();
|
||||||
|
let mut cli_client = BrainGeneralCliClient::new(brain_channel.clone());
|
||||||
|
let mut daemon_client = BrainVmDaemonClient::new(brain_channel.clone());
|
||||||
|
let key = Key::new();
|
||||||
|
let daemon_key = Key::new();
|
||||||
|
let operator_key = Key::new();
|
||||||
|
|
||||||
|
let err = cli_client
|
||||||
|
.inspect_operator(key.sign_request(Pubkey { pubkey: operator_key.pubkey.clone() }).unwrap())
|
||||||
|
.await
|
||||||
|
.err()
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
assert_eq!(err.message(), "The wallet you specified is not an operator");
|
||||||
|
|
||||||
|
// TODO: test with app node also
|
||||||
|
register_vm_node(&mut daemon_client, &daemon_key, &operator_key.pubkey).await.unwrap();
|
||||||
|
|
||||||
|
let inspect_response = cli_client
|
||||||
|
.inspect_operator(key.sign_request(Pubkey { pubkey: operator_key.pubkey.clone() }).unwrap())
|
||||||
|
.await
|
||||||
|
.unwrap()
|
||||||
|
.into_inner();
|
||||||
|
|
||||||
|
assert!(inspect_response.app_nodes.is_empty());
|
||||||
|
assert!(!inspect_response.vm_nodes.is_empty());
|
||||||
|
assert_eq!(&inspect_response.vm_nodes[0].operator, &operator_key.pubkey);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user