mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00
refactor(test): Pull out new POST parsing
This commit is contained in:
parent
e52b041a4d
commit
6d048153b3
@ -129,21 +129,9 @@ fn _validate_upload(
|
|||||||
expected_files: &[&str],
|
expected_files: &[&str],
|
||||||
expected_contents: &[(&str, &str)],
|
expected_contents: &[(&str, &str)],
|
||||||
) {
|
) {
|
||||||
let mut f = File::open(new_path).unwrap();
|
let (actual_json, krate_bytes) = read_new_post(new_path);
|
||||||
// 32-bit little-endian integer of length of JSON data.
|
|
||||||
let json_sz = read_le_u32(&mut f).expect("read json length");
|
|
||||||
let mut json_bytes = vec![0; json_sz as usize];
|
|
||||||
f.read_exact(&mut json_bytes).expect("read JSON data");
|
|
||||||
|
|
||||||
snapbox::assert_data_eq!(json_bytes, expected_json.is_json());
|
snapbox::assert_data_eq!(actual_json, expected_json.is_json());
|
||||||
|
|
||||||
// 32-bit little-endian integer of length of crate file.
|
|
||||||
let crate_sz = read_le_u32(&mut f).expect("read crate length");
|
|
||||||
let mut krate_bytes = vec![0; crate_sz as usize];
|
|
||||||
f.read_exact(&mut krate_bytes).expect("read crate data");
|
|
||||||
// Check at end.
|
|
||||||
let current = f.seek(SeekFrom::Current(0)).unwrap();
|
|
||||||
assert_eq!(f.seek(SeekFrom::End(0)).unwrap(), current);
|
|
||||||
|
|
||||||
// Verify the tarball.
|
// Verify the tarball.
|
||||||
validate_crate_contents(
|
validate_crate_contents(
|
||||||
@ -154,6 +142,26 @@ fn _validate_upload(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn read_new_post(new_path: &Path) -> (Vec<u8>, Vec<u8>) {
|
||||||
|
let mut f = File::open(new_path).unwrap();
|
||||||
|
|
||||||
|
// 32-bit little-endian integer of length of JSON data.
|
||||||
|
let json_sz = read_le_u32(&mut f).expect("read json length");
|
||||||
|
let mut json_bytes = vec![0; json_sz as usize];
|
||||||
|
f.read_exact(&mut json_bytes).expect("read JSON data");
|
||||||
|
|
||||||
|
// 32-bit little-endian integer of length of crate file.
|
||||||
|
let crate_sz = read_le_u32(&mut f).expect("read crate length");
|
||||||
|
let mut krate_bytes = vec![0; crate_sz as usize];
|
||||||
|
f.read_exact(&mut krate_bytes).expect("read crate data");
|
||||||
|
|
||||||
|
// Check at end.
|
||||||
|
let current = f.seek(SeekFrom::Current(0)).unwrap();
|
||||||
|
assert_eq!(f.seek(SeekFrom::End(0)).unwrap(), current);
|
||||||
|
|
||||||
|
(json_bytes, krate_bytes)
|
||||||
|
}
|
||||||
|
|
||||||
/// Checks the contents of a `.crate` file.
|
/// Checks the contents of a `.crate` file.
|
||||||
///
|
///
|
||||||
/// - `expected_crate_name` should be something like `foo-0.0.1.crate`.
|
/// - `expected_crate_name` should be something like `foo-0.0.1.crate`.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user