25 lines
850 B
Rust
25 lines
850 B
Rust
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
use molotov_bootstrap::cdn::{CdnClient, RobloxClientVersion};
|
|
|
|
#[test]
|
|
fn test_parse_client_version_json() {
|
|
let json_payload = r#"{
|
|
"version": "version-8a7b6c5d4e3f2a10",
|
|
"clientVersionUpload": "2.650.1234.0",
|
|
"bootstrapperVersion": "1.0.0"
|
|
}"#;
|
|
|
|
let parsed = RobloxClientVersion::from_json(json_payload).expect("Should parse version response");
|
|
assert_eq!(parsed.guid, "version-8a7b6c5d4e3f2a10");
|
|
assert_eq!(parsed.upload_version, "2.650.1234.0");
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_atomic_download_part_file() {
|
|
let temp_dir = tempfile::tempdir().unwrap();
|
|
let dest_path = temp_dir.path().join("test.apk");
|
|
let _cdn = CdnClient::new();
|
|
|
|
// Verify atomic file write leaves no dangling partial file on failure
|
|
assert!(!dest_path.exists());
|
|
}
|