fix get one app node
fixed app node filter query updated proto change mb to gb on app node resource tests for get one node for app and vm
This commit is contained in:
parent
eaed502805
commit
d1921eb838
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1000,7 +1000,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "detee-shared"
|
||||
version = "0.1.0"
|
||||
source = "git+ssh://git@gitea.detee.cloud/testnet/proto?branch=surreal_brain_app#005677153b3fcd3251b64111a736c806106fdc04"
|
||||
source = "git+ssh://git@gitea.detee.cloud/testnet/proto?branch=surreal_brain_app#0b195b4589e4ec689af7ddca27dc051716ecee78"
|
||||
dependencies = [
|
||||
"bincode 2.0.1",
|
||||
"prost",
|
||||
|
@ -222,7 +222,7 @@ impl AppNodeWithReports {
|
||||
limit_one: bool,
|
||||
) -> Result<Vec<Self>, Error> {
|
||||
let mut filter_query = format!(
|
||||
"select *, <-report.* from {APP_NODE} where
|
||||
"select *, <-report.* as reports from {APP_NODE} where
|
||||
avail_ports >= {} &&
|
||||
max_ports_per_app >= {} &&
|
||||
avail_vcpus >= {} &&
|
||||
@ -232,7 +232,7 @@ impl AppNodeWithReports {
|
||||
filters.free_ports,
|
||||
filters.vcpus,
|
||||
filters.memory_mb,
|
||||
filters.storage_mb
|
||||
filters.storage_gb
|
||||
);
|
||||
|
||||
if !filters.city.is_empty() {
|
||||
@ -584,7 +584,7 @@ pub struct AppNodeResources {
|
||||
pub avail_no_of_port: u32,
|
||||
pub avail_vcpus: u32,
|
||||
pub avail_memory_mb: u32,
|
||||
pub avail_storage_mb: u32,
|
||||
pub avail_storage_gb: u32,
|
||||
pub max_ports_per_app: u32,
|
||||
}
|
||||
|
||||
|
@ -376,7 +376,7 @@ impl From<AppNodeResources> for db::AppNodeResources {
|
||||
avail_no_of_port: value.avail_no_of_port,
|
||||
avail_vcpus: value.avail_vcpus,
|
||||
avail_memory_mb: value.avail_memory_mb,
|
||||
avail_storage_mb: value.avail_storage_mb,
|
||||
avail_storage_gb: value.avail_storage_gb,
|
||||
max_ports_per_app: value.max_ports_per_app,
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ use common::app_daemon_utils::mock_app_daemon;
|
||||
use common::prepare_test_env::{prepare_test_db, run_service_for_stream};
|
||||
use common::test_utils::{airdrop, Key};
|
||||
use detee_shared::app_proto::brain_app_cli_client::BrainAppCliClient;
|
||||
use detee_shared::app_proto::{self, DelAppReq};
|
||||
use detee_shared::app_proto::{self, AppNodeFilters, DelAppReq};
|
||||
use std::vec;
|
||||
use surreal_brain::constants::{ACCOUNT, ACTIVE_APP, DELETED_APP, NEW_APP_REQ, TOKEN_DECIMAL};
|
||||
use surreal_brain::db::prelude as db;
|
||||
@ -179,4 +179,34 @@ async fn test_app_deletion() {
|
||||
assert!(deleted_app.is_some());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_one_app_node() {
|
||||
let _ = prepare_test_db().await.unwrap();
|
||||
let brain_channel = run_service_for_stream().await.unwrap();
|
||||
|
||||
let mut client_app_cli = BrainAppCliClient::new(brain_channel.clone());
|
||||
let key = Key::new();
|
||||
|
||||
let mut req = AppNodeFilters { ..Default::default() };
|
||||
|
||||
let mock_app_node = client_app_cli
|
||||
.get_one_app_node(key.sign_request(req.clone()).unwrap())
|
||||
.await
|
||||
.unwrap()
|
||||
.into_inner();
|
||||
|
||||
assert_eq!(
|
||||
mock_app_node.node_pubkey,
|
||||
"BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg".to_string()
|
||||
);
|
||||
|
||||
let node_pubkey = mock_app_daemon(&brain_channel, None).await.unwrap();
|
||||
req.node_pubkey = node_pubkey.clone();
|
||||
|
||||
let new_app_node =
|
||||
client_app_cli.get_one_app_node(key.sign_request(req).unwrap()).await.unwrap().into_inner();
|
||||
|
||||
assert_eq!(new_app_node.node_pubkey, node_pubkey);
|
||||
}
|
||||
|
||||
// TODO: test register app node, delete app contract while node offline, kick, etc..
|
||||
|
@ -4,7 +4,7 @@ use common::vm_cli_utils::{create_new_vm, user_list_vm_contracts};
|
||||
use common::vm_daemon_utils::{mock_vm_daemon, register_vm_node};
|
||||
use detee_shared::vm_proto::brain_vm_cli_client::BrainVmCliClient;
|
||||
use detee_shared::vm_proto::brain_vm_daemon_client::BrainVmDaemonClient;
|
||||
use detee_shared::vm_proto::{self, DeleteVmReq};
|
||||
use detee_shared::vm_proto::{self, DeleteVmReq, VmNodeFilters};
|
||||
use detee_shared::vm_proto::{ExtendVmReq, ListVmContractsReq, NewVmReq};
|
||||
use futures::StreamExt;
|
||||
use std::vec;
|
||||
@ -300,4 +300,39 @@ async fn test_extend_vm() {
|
||||
assert_eq!(acc.balance, expected_bal_02);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_get_one_vm_node() {
|
||||
let _ = prepare_test_db().await.unwrap();
|
||||
let brain_channel = run_service_for_stream().await.unwrap();
|
||||
|
||||
let mut client_vm_cli = BrainVmCliClient::new(brain_channel.clone());
|
||||
let key = Key::new();
|
||||
|
||||
let mut req = VmNodeFilters { ..Default::default() };
|
||||
|
||||
let mock_vm_node = client_vm_cli
|
||||
.get_one_vm_node(key.sign_request(req.clone()).unwrap())
|
||||
.await
|
||||
.unwrap()
|
||||
.into_inner();
|
||||
|
||||
let mock_data_vm_nodes = [
|
||||
"2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f",
|
||||
"3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4",
|
||||
"7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9",
|
||||
"DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb",
|
||||
"Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu",
|
||||
"HiyMp21zaBVbRCjDsD5hEjQnHeHv4e1gpUR6pVfHTKqv",
|
||||
];
|
||||
assert!(mock_data_vm_nodes.contains(&mock_vm_node.node_pubkey.as_str()));
|
||||
|
||||
let node_pubkey = mock_vm_daemon(&brain_channel, None).await.unwrap();
|
||||
req.node_pubkey = node_pubkey.clone();
|
||||
|
||||
let new_app_node =
|
||||
client_vm_cli.get_one_vm_node(key.sign_request(req).unwrap()).await.unwrap().into_inner();
|
||||
|
||||
assert_eq!(new_app_node.node_pubkey, node_pubkey);
|
||||
}
|
||||
|
||||
// TODO: test register vm node, delete vm contract while node offline, kick, etc..
|
||||
|
Loading…
Reference in New Issue
Block a user