Files
galaxy/app/src/ai/agent_sdk/mod_tests.rs
T

144 lines
4.4 KiB
Rust

use serde_json::json;
use warp_cli::{
artifact::{ArtifactCommand, DownloadArtifactArgs, GetArtifactArgs, UploadArtifactArgs},
task::{MessageCommand, MessageSendArgs, MessageWatchArgs, TaskCommand},
CliCommand,
};
use warp_core::telemetry::TelemetryEvent;
use super::{command_requires_auth, command_to_telemetry_event};
#[test]
fn logout_does_not_require_auth() {
assert!(!command_requires_auth(&CliCommand::Logout));
}
#[test]
fn login_does_not_require_auth() {
assert!(!command_requires_auth(&CliCommand::Login));
}
#[test]
fn artifact_download_requires_auth() {
assert!(command_requires_auth(&CliCommand::Artifact(
ArtifactCommand::Download(DownloadArtifactArgs {
artifact_uid: "artifact-123".to_string(),
out: None,
},)
)));
}
#[test]
fn run_message_send_requires_auth() {
assert!(command_requires_auth(&CliCommand::Run(
TaskCommand::Message(MessageCommand::Send(MessageSendArgs {
to: vec!["run-456".to_string()],
subject: "subject".to_string(),
body: "body".to_string(),
sender_run_id: "run-123".to_string(),
}),)
)));
}
#[test]
fn artifact_get_requires_auth() {
assert!(command_requires_auth(&CliCommand::Artifact(
ArtifactCommand::Get(GetArtifactArgs {
artifact_uid: "artifact-123".to_string(),
},)
)));
}
#[test]
fn artifact_upload_requires_auth() {
assert!(command_requires_auth(&CliCommand::Artifact(
ArtifactCommand::Upload(UploadArtifactArgs {
path: "artifact.txt".into(),
run_id: Some("run-123".to_string()),
conversation_id: None,
description: None,
},)
)));
}
#[test]
#[serial_test::serial]
fn run_message_send_telemetry_uses_canonical_harness_from_env() {
std::env::set_var("OZ_HARNESS", " CLAUDE ");
let event = command_to_telemetry_event(&CliCommand::Run(TaskCommand::Message(
MessageCommand::Send(MessageSendArgs {
to: vec!["run-456".to_string()],
subject: "subject".to_string(),
body: "body".to_string(),
sender_run_id: "run-123".to_string(),
}),
)));
std::env::remove_var("OZ_HARNESS");
assert_eq!(event.payload(), Some(json!({ "harness": "claude" })));
}
#[test]
#[serial_test::serial]
fn run_message_send_telemetry_supports_claude_code_alias() {
std::env::set_var("OZ_HARNESS", "CLAUDE_CODE");
let event = command_to_telemetry_event(&CliCommand::Run(TaskCommand::Message(
MessageCommand::Send(MessageSendArgs {
to: vec!["run-456".to_string()],
subject: "subject".to_string(),
body: "body".to_string(),
sender_run_id: "run-123".to_string(),
}),
)));
std::env::remove_var("OZ_HARNESS");
assert_eq!(event.payload(), Some(json!({ "harness": "claude" })));
}
#[test]
#[serial_test::serial]
fn run_message_send_telemetry_supports_opencode_harness() {
std::env::set_var("OZ_HARNESS", "opencode");
let event = command_to_telemetry_event(&CliCommand::Run(TaskCommand::Message(
MessageCommand::Send(MessageSendArgs {
to: vec!["run-456".to_string()],
subject: "subject".to_string(),
body: "body".to_string(),
sender_run_id: "run-123".to_string(),
}),
)));
std::env::remove_var("OZ_HARNESS");
assert_eq!(event.payload(), Some(json!({ "harness": "opencode" })));
}
#[test]
#[serial_test::serial]
fn run_message_send_telemetry_defaults_to_unknown_harness() {
std::env::remove_var("OZ_HARNESS");
let event = command_to_telemetry_event(&CliCommand::Run(TaskCommand::Message(
MessageCommand::Send(MessageSendArgs {
to: vec!["run-456".to_string()],
subject: "subject".to_string(),
body: "body".to_string(),
sender_run_id: "run-123".to_string(),
}),
)));
assert_eq!(event.payload(), Some(json!({ "harness": "unknown" })));
}
#[test]
#[serial_test::serial]
fn run_message_watch_telemetry_defaults_to_unknown_harness() {
std::env::remove_var("OZ_HARNESS");
let event = command_to_telemetry_event(&CliCommand::Run(TaskCommand::Message(
MessageCommand::Watch(MessageWatchArgs {
run_id: "run-123".to_string(),
since_sequence: 0,
}),
)));
assert_eq!(event.payload(), Some(json!({ "harness": "unknown" })));
}