Skip to content
This repository was archived by the owner on Apr 3, 2025. It is now read-only.

Commit cd9c3c3

Browse files
committed
License: add two simple unit tests
1 parent 83badf6 commit cd9c3c3

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

crates/playready/src/license.rs

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,62 @@ impl TryFrom<&[u8]> for License {
151151
Self::from_bytes(value)
152152
}
153153
}
154+
155+
#[cfg(test)]
156+
mod test {
157+
use super::License;
158+
use crate::license::CipherType::Ecc256;
159+
160+
#[test]
161+
fn parse_license_with_empty_playback_policy_container() {
162+
let lic = License::from_b64(concat!(
163+
"WE1SAAAAAAO6ZrBZY/dbvTGZkxnTjOH/AAMAAQAAAVAAAwACAAAAMgABAA0AAAAK",
164+
"AAEAAAAzAAAACgABAAEAMgAAAAwAAAArAAEANAAAAAoH0AACAAQAAAAIAAMACQAA",
165+
"APIAAQAKAAAAngEBAQEBAQEBAQEBAQEBAQEAAQADAIACAgICAgICAgICAgICAgIC",
166+
"AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC",
167+
"AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC",
168+
"AgICAgICAgICAgICAgICAgAAACoAAABMAAEAQAMDAwMDAwMDAwMDAwMDAwMDAwMD",
169+
"AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAQAL",
170+
"AAAAHAABABAEBAQEBAQEBAQEBAQEBAQE"
171+
))
172+
.unwrap();
173+
174+
assert_eq!(
175+
lic.encrypted_keys(),
176+
vec![(Ecc256, &[1u8; 16], [2u8; 128].as_slice())]
177+
);
178+
assert_eq!(lic.public_key().unwrap(), [3u8; 64].as_slice());
179+
assert_eq!(
180+
lic.cmac_verification_data().unwrap(),
181+
(&lic.raw[..332], [4u8; 16].as_slice())
182+
);
183+
assert_eq!(lic.auxiliary_key(), None)
184+
}
185+
186+
#[test]
187+
fn parse_license_with_non_empty_playback_policy_container() {
188+
let lic = License::from_b64(concat!(
189+
"WE1SAAAAAAOOieG5U75vQ7O6VHqb06OGAAMAAQAAAYwAAwACAAAAXAABABIAAAAQ",
190+
"AAAAAGeRPH8AAQAwAAAADAACowAAAAATAAAADGeQy/8AAAAaAAAADAABUYAAAAAz",
191+
"AAAACgABAAEAMgAAAAwAAABNAAEANAAAAAoH0AACAAQAAAAaAAEABQAAABIB9AD6",
192+
"AJYAZABkAAMACQAAAPIAAQAKAAAAngEBAQEBAQEBAQEBAQEBAQEAAQADAIACAgIC",
193+
"AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC",
194+
"AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC",
195+
"AgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAACoAAABMAAEAQAMDAwMDAwMD",
196+
"AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD",
197+
"AwMDAwMDAwMAAQALAAAAHAABABAEBAQEBAQEBAQEBAQEBAQE"
198+
))
199+
.unwrap();
200+
201+
assert_eq!(
202+
lic.encrypted_keys(),
203+
vec![(Ecc256, &[1u8; 16], [2u8; 128].as_slice())]
204+
);
205+
assert_eq!(lic.public_key().unwrap(), [3u8; 64].as_slice());
206+
assert_eq!(
207+
lic.cmac_verification_data().unwrap(),
208+
(&lic.raw[..392], [4u8; 16].as_slice())
209+
);
210+
assert_eq!(lic.auxiliary_key(), None)
211+
}
212+
}

0 commit comments

Comments
 (0)