Skip to content

Commit 40cf22b

Browse files
nicklaslclaude
andcommitted
test: verify sdk is stored on ResolverState::from_proto
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent e3ee809 commit 40cf22b

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

confidence-resolver/src/lib.rs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)