33 lines
994 B
Rust
33 lines
994 B
Rust
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
use anyhow::Result;
|
|
use detee_shared::app_proto::brain_app_cli_client::BrainAppCliClient;
|
|
use detee_shared::app_proto::{AppResource, NewAppReq, NewAppRes};
|
|
use tonic::transport::Channel;
|
|
|
|
use crate::common::test_utils::Key;
|
|
|
|
pub async fn create_new_app(
|
|
key: &Key,
|
|
node_pubkey: &str,
|
|
brain_channel: &Channel,
|
|
) -> Result<NewAppRes> {
|
|
let new_app_req = NewAppReq {
|
|
admin_pubkey: key.pubkey.clone(),
|
|
node_pubkey: node_pubkey.to_string(),
|
|
price_per_unit: 1200,
|
|
resource: Some(AppResource { ports: vec![8080, 8081], ..Default::default() }),
|
|
locked_nano: 100,
|
|
..Default::default()
|
|
};
|
|
|
|
let mut client_app_cli = BrainAppCliClient::new(brain_channel.clone());
|
|
let new_app_resp =
|
|
client_app_cli.new_app(key.sign_request(new_app_req.clone())?).await?.into_inner();
|
|
|
|
assert!(new_app_resp.error.is_empty());
|
|
assert!(new_app_resp.app_id.len() == 40);
|
|
|
|
Ok(new_app_resp)
|
|
}
|