Skip to content

Commit 4390242

Browse files
committed
test(operator): Add feature gate parsing unit tests
1 parent b1199d3 commit 4390242

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

crates/stackable-operator/src/client/feature_gates.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,9 @@ pub enum FeatureStage {
208208

209209
#[cfg(test)]
210210
mod tests {
211+
use rstest::rstest;
212+
213+
use super::*;
211214
use crate::client::{initialize_operator, tests::test_cluster_info_opts};
212215

213216
#[tokio::test]
@@ -226,4 +229,24 @@ mod tests {
226229
println!("{feature_gate:?}");
227230
}
228231
}
232+
233+
#[rstest]
234+
#[case(r#"kubernetes_feature_enabled{name="APIResponseCompression",stage="BETA"} 1"#)]
235+
#[case(r#"kubernetes_feature_enabled{name="APIServingWithRoutine",stage="ALPHA"} 0"#)]
236+
#[case(r#"kubernetes_feature_enabled{name="AggregatedDiscoveryRemoveBetaType",stage="DEPRECATED"} 1"#)]
237+
#[case(r#"kubernetes_feature_enabled{name="AnyVolumeDataSource",stage=""} 1"#)]
238+
fn parse_feature_gate_valid(#[case] input: &str) {
239+
assert!(FeatureGate::from_str(input).is_ok())
240+
}
241+
242+
#[rstest]
243+
#[case(r#"kubernetes_feature_disabled{name="AggregatedDiscoveryRemoveBetaType",stage="DEPRECATED"} 1"#)]
244+
#[case(r#"kubernetes_feature_enabled{name="APIResponseCompression",stage="GAMMA"} 1"#)]
245+
#[case(r#"kubernetes_feature_enabled{name="APIResponseCompression"} 1"#)]
246+
#[case(r#"kubernetes_feature_enabled{="APIResponseCompression",="ALPHA"} 1"#)]
247+
#[case("kubernetes_feature_enabled{} 0")]
248+
#[case("")]
249+
fn parse_feature_gate_invalid(#[case] input: &str) {
250+
assert!(FeatureGate::from_str(input).is_err())
251+
}
229252
}

0 commit comments

Comments
 (0)