34 lines
		
	
	
		
			970 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			970 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // SPDX-License-Identifier: Apache-2.0
 | |
| 
 | |
| use anyhow::Result;
 | |
| use detee_shared::app_proto::{
 | |
|     brain_app_cli_client::BrainAppCliClient, 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.uuid.len() == 40);
 | |
| 
 | |
|     Ok(new_app_resp)
 | |
| }
 |