@@ -25,6 +25,7 @@ pub fn token_content_type() -> impl Strategy<Value = token::ContentType> {
2525 Just ( token:: ContentType :: Jmux ) ,
2626 Just ( token:: ContentType :: Kdc ) ,
2727 Just ( token:: ContentType :: Jrl ) ,
28+ Just ( token:: ContentType :: Enrollment ) ,
2829 ]
2930 . no_shrink ( )
3031}
@@ -319,6 +320,31 @@ pub fn any_kdc_claims(now: i64, validity_duration: i64) -> impl Strategy<Value =
319320 } )
320321}
321322
323+ #[ derive( Debug , Clone , Serialize ) ]
324+ pub struct EnrollmentClaims {
325+ pub jet_gw_url : String ,
326+ #[ serde( skip_serializing_if = "Option::is_none" ) ]
327+ pub jet_agent_name : Option < String > ,
328+ pub nbf : i64 ,
329+ pub exp : i64 ,
330+ pub jti : Uuid ,
331+ }
332+
333+ pub fn any_enrollment_claims ( now : i64 , validity_duration : i64 ) -> impl Strategy < Value = EnrollmentClaims > {
334+ (
335+ "https://[a-z]{1,10}\\ .[a-z]{1,5}(:[0-9]{3,4})?" ,
336+ option:: of ( "[a-zA-Z0-9_-]{1,25}" ) ,
337+ uuid_typed ( ) ,
338+ )
339+ . prop_map ( move |( jet_gw_url, jet_agent_name, jti) | EnrollmentClaims {
340+ jet_gw_url,
341+ jet_agent_name,
342+ jti,
343+ nbf : now,
344+ exp : now + validity_duration,
345+ } )
346+ }
347+
322348#[ derive( Debug , Serialize , Clone ) ]
323349#[ serde( untagged) ]
324350pub enum TokenClaims {
@@ -327,6 +353,7 @@ pub enum TokenClaims {
327353 Bridge ( BridgeClaims ) ,
328354 Jmux ( JmuxClaims ) ,
329355 Kdc ( KdcClaims ) ,
356+ Enrollment ( EnrollmentClaims ) ,
330357}
331358
332359impl TokenClaims {
@@ -337,6 +364,7 @@ impl TokenClaims {
337364 TokenClaims :: Bridge ( _) => "BRIDGE" ,
338365 TokenClaims :: Jmux ( _) => "JMUX" ,
339366 TokenClaims :: Kdc ( _) => "KDC" ,
367+ TokenClaims :: Enrollment ( _) => "ENROLLMENT" ,
340368 }
341369 }
342370
@@ -355,6 +383,7 @@ pub fn any_claims_with_validity_duration(now: i64, validity_duration: i64) -> im
355383 any_kdc_claims( now, validity_duration) . prop_map( TokenClaims :: Kdc ) ,
356384 any_jmux_claims( now, validity_duration) . prop_map( TokenClaims :: Jmux ) ,
357385 any_association_claims( now, validity_duration) . prop_map( TokenClaims :: Association ) ,
386+ any_enrollment_claims( now, validity_duration) . prop_map( TokenClaims :: Enrollment ) ,
358387 ]
359388}
360389
0 commit comments