Finished with tests for server bound login packets
This commit is contained in:
parent
f1a817d447
commit
1fca9c3666
@ -186,7 +186,7 @@ impl<R: Read> PacketRead for R {
|
||||
}
|
||||
|
||||
fn read_byte_array(&mut self) -> Result<Vec<u8>, DecodeError> {
|
||||
let length = self.read_var_u32()?;
|
||||
let length = self.read_var_i32()?;
|
||||
|
||||
let mut buf = vec![0; length as usize];
|
||||
self.read_exact(&mut buf)?;
|
||||
@ -238,7 +238,7 @@ impl<W: Write> PacketWrite for W {
|
||||
}
|
||||
|
||||
fn write_byte_array(&mut self, value: &[u8]) -> Result<(), EncodeError> {
|
||||
self.write_var_u32(value.len() as u32)?;
|
||||
self.write_var_i32(value.len() as i32)?;
|
||||
self.write_all(value)?;
|
||||
|
||||
Ok(())
|
||||
|
@ -395,8 +395,8 @@ impl PacketParser for LoginPluginRequest {
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::login::LoginPluginResponse;
|
||||
use crate::login::LoginStart;
|
||||
use crate::login::{EncryptionResponse, LoginPluginResponse};
|
||||
use crate::PacketParser;
|
||||
use std::io::Cursor;
|
||||
|
||||
@ -424,6 +424,35 @@ mod tests {
|
||||
assert_eq!(login_start.name, String::from("Username"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_encryption_response_encode() {
|
||||
let encryption_response = EncryptionResponse {
|
||||
shared_secret: vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
||||
verify_token: vec![1, 2, 3, 4],
|
||||
};
|
||||
|
||||
let mut vec = Vec::new();
|
||||
encryption_response.encode(&mut vec).unwrap();
|
||||
|
||||
assert_eq!(
|
||||
vec,
|
||||
include_bytes!("../test/packet/login/encryption_response.dat").to_vec()
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_encryption_response_decode() {
|
||||
let mut cursor =
|
||||
Cursor::new(include_bytes!("../test/packet/login/encryption_response.dat").to_vec());
|
||||
let encryption_response = EncryptionResponse::decode(&mut cursor).unwrap();
|
||||
|
||||
assert_eq!(
|
||||
encryption_response.shared_secret,
|
||||
vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
);
|
||||
assert_eq!(encryption_response.verify_token, vec![1, 2, 3, 4]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_login_plugin_response_encode() {
|
||||
let login_plugin_response = LoginPluginResponse {
|
||||
|
3
protocol/test/packet/login/encryption_response.dat
Normal file
3
protocol/test/packet/login/encryption_response.dat
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user