fixed action tests
This commit is contained in:
@ -114,7 +114,7 @@ impl TryFrom<u32> for CameraActionIds {
|
||||
|
||||
// TODO what happens if limits are exceded
|
||||
#[allow(non_snake_case)]
|
||||
#[derive(Serialize, Deserialize, new)]
|
||||
#[derive(Debug, Serialize, Deserialize, new)]
|
||||
pub struct CameraPictureParameters {
|
||||
pub R: u8,
|
||||
pub G: u8,
|
||||
@ -277,8 +277,59 @@ impl IMS100BatchHandler {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use std::sync::mpsc;
|
||||
use std::sync::mpsc::{Receiver, Sender};
|
||||
use satrs::action::{ActionRequest, ActionRequestVariant};
|
||||
use satrs::request::{GenericMessage, MessageMetadata, UniqueApidTargetId};
|
||||
use satrs::tmtc::PacketAsVec;
|
||||
use ops_sat_rs::TimeStampHelper;
|
||||
use crate::handlers::camera::{CameraActionIds, CameraPictureParameters, DEFAULT_SINGLE_FLATSAT_CAM_PARAMS, IMS100BatchHandler};
|
||||
use crate::requests::CompositeRequest;
|
||||
|
||||
fn create_handler() -> (IMS100BatchHandler, Sender<GenericMessage<CompositeRequest>>, Receiver<PacketAsVec>) {
|
||||
let id = UniqueApidTargetId::new(1,1);
|
||||
let (req_tx,req_rx) = mpsc::channel();
|
||||
let (tm_tx, tm_rx) = mpsc::channel();
|
||||
let time_helper = TimeStampHelper::default();
|
||||
let mut cam_handler: IMS100BatchHandler = IMS100BatchHandler::new(id, req_rx, tm_tx, time_helper);
|
||||
(cam_handler, req_tx, tm_rx)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_crc() {
|
||||
// TODO
|
||||
fn command_line_execution() {
|
||||
let (mut cam_handler, mut req_tx, mut tm_rx) = create_handler();
|
||||
cam_handler.take_picture(DEFAULT_SINGLE_FLATSAT_CAM_PARAMS).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn serialize_and_deserialize_command() {
|
||||
let (mut cam_handler, mut req_tx, mut tm_rx) = create_handler();
|
||||
|
||||
let data = serde_json::to_string(&DEFAULT_SINGLE_FLATSAT_CAM_PARAMS).unwrap();
|
||||
println!("{}", data);
|
||||
let param: CameraPictureParameters = serde_json::from_str(&data).unwrap();
|
||||
println!("{:?}", param);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_action_req() {
|
||||
let (mut cam_handler, mut req_tx, mut tm_rx) = create_handler();
|
||||
|
||||
let data = serde_json::to_string(&DEFAULT_SINGLE_FLATSAT_CAM_PARAMS).unwrap();
|
||||
let req = ActionRequest::new(CameraActionIds::CustomParameters as u32, ActionRequestVariant::VecData(data.as_bytes().to_vec()));
|
||||
|
||||
cam_handler.handle_action_request(&MessageMetadata::new(1,1),&req).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_action_req_channel() {
|
||||
let (mut cam_handler, mut req_tx, mut tm_rx) = create_handler();
|
||||
|
||||
let data = serde_json::to_string(&DEFAULT_SINGLE_FLATSAT_CAM_PARAMS).unwrap();
|
||||
let req = ActionRequest::new(CameraActionIds::CustomParameters as u32, ActionRequestVariant::VecData(data.as_bytes().to_vec()));
|
||||
let req = CompositeRequest::Action(req);
|
||||
req_tx.send(GenericMessage::new(MessageMetadata::new(1,1), req)).unwrap();
|
||||
|
||||
cam_handler.periodic_operation();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user