@@ -4592,4 +4592,54 @@ mod tests {
45924592 "Unrecognized targeting rule should cause the rule to be skipped, not fail the flag"
45934593 ) ;
45944594 }
4595+
4596+ #[ test]
4597+ fn test_from_proto_stores_sdk ( ) {
4598+ let sdk = Some ( Sdk {
4599+ sdk : Some ( flags_resolver:: sdk:: Sdk :: Id (
4600+ flags_resolver:: SdkId :: PythonProvider as i32 ,
4601+ ) ) ,
4602+ version : "1.2.3" . to_string ( ) ,
4603+ } ) ;
4604+
4605+ let state = ResolverState :: from_proto (
4606+ EXAMPLE_STATE . to_owned ( ) . try_into ( ) . unwrap ( ) ,
4607+ "confidence-demo-june" ,
4608+ sdk. clone ( ) ,
4609+ )
4610+ . unwrap ( ) ;
4611+
4612+ assert_eq ! ( state. sdk, sdk) ;
4613+ }
4614+
4615+ #[ test]
4616+ fn test_from_proto_stores_sdk_none ( ) {
4617+ let state = ResolverState :: from_proto (
4618+ EXAMPLE_STATE . to_owned ( ) . try_into ( ) . unwrap ( ) ,
4619+ "confidence-demo-june" ,
4620+ None ,
4621+ )
4622+ . unwrap ( ) ;
4623+
4624+ assert_eq ! ( state. sdk, None ) ;
4625+ }
4626+
4627+ #[ test]
4628+ fn test_from_proto_stores_sdk_with_custom_id ( ) {
4629+ let sdk = Some ( Sdk {
4630+ sdk : Some ( flags_resolver:: sdk:: Sdk :: CustomId (
4631+ "my-custom-sdk" . to_string ( ) ,
4632+ ) ) ,
4633+ version : "0.0.1" . to_string ( ) ,
4634+ } ) ;
4635+
4636+ let state = ResolverState :: from_proto (
4637+ EXAMPLE_STATE . to_owned ( ) . try_into ( ) . unwrap ( ) ,
4638+ "confidence-demo-june" ,
4639+ sdk. clone ( ) ,
4640+ )
4641+ . unwrap ( ) ;
4642+
4643+ assert_eq ! ( state. sdk, sdk) ;
4644+ }
45954645}
0 commit comments