Skip to content

Commit 9b78024

Browse files
authored
chore!: Update dependencies and fix flaky retry mechanism tests (#74)
Signed-off-by: Eren Atas <[email protected]>
1 parent 5eadcd6 commit 9b78024

File tree

31 files changed

+707
-543
lines changed

31 files changed

+707
-543
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "open-feature-contrib"
33
version = "0.1.0"
4-
edition = "2021"
4+
edition = "2024"
55

66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
77

crates/env-var/Cargo.toml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
name = "open-feature-env-var"
44
version = "0.1.1"
5-
edition = "2021"
5+
edition = "2024"
66
description = "Environment Variable provider for OpenFeature"
77
authors = ["Jose Bovet Derpich <[email protected]>"]
88
repository = "https://github.com/open-feature/rust-sdk-contrib"
@@ -14,13 +14,16 @@ keywords = ["open-feature", "feature-flag", "environment-variable"]
1414
maintenance = { status = "actively-developed" }
1515

1616
[dependencies]
17-
open-feature = "0.2.5"
18-
async-trait = "0.1.88"
17+
open-feature = "0.2.7"
18+
async-trait = "0.1.89"
1919

2020
[dev-dependencies]
21-
tokio = { version = "1.47.1", features = ["full"] }
21+
tokio = { version = "1.48.0", features = ["full"] }
2222
cucumber = "0.21.1"
2323
futures = "0.3.31"
24+
test-with = { version = "0.15", features = ["runtime"] }
25+
libtest-with = { version = "0.8.1-10" }
26+
temp-env = "0.3"
2427

2528
[[test]]
2629
name = "example"

crates/env-var/src/lib.rs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use async_trait::async_trait;
22
use open_feature::{
3-
provider::{FeatureProvider, ProviderMetadata, ResolutionDetails},
43
EvaluationContext, EvaluationError, EvaluationErrorCode, EvaluationReason, EvaluationResult,
54
StructValue,
5+
provider::{FeatureProvider, ProviderMetadata, ResolutionDetails},
66
};
77
/// Environment Variables Provider Metadata
88
const METADATA: &str = "Environment Variables Provider";
@@ -51,13 +51,15 @@ impl FeatureProvider for EnvVarProvider {
5151
/// A logical true or false, as represented idiomatically in the implementation languages.
5252
///
5353
/// # Example
54-
/// ```rust
54+
/// ```rust,no_run
55+
/// // Note: This example uses temp_env for safe env var handling
56+
/// use temp_env;
5557
/// #[tokio::test]
5658
/// async fn test_resolve_string_value() {
5759
/// let provider = EnvVarProvider::default();
5860
/// let flag_key = "TEST_ENV_VAR";
5961
/// let value = "false";
60-
/// std::env::set_var(flag_key, value);
62+
/// temp_env::with_var(flag_key, Some(value), || {});
6163
///
6264
/// let res = provider
6365
/// .resolve_string_value(flag_key, &EvaluationContext::default())
@@ -76,13 +78,15 @@ impl FeatureProvider for EnvVarProvider {
7678

7779
/// The 64-bit signed integer type.
7880
/// # Example
79-
/// ```rust
81+
/// ```rust,no_run
82+
/// // Note: This example uses temp_env for safe env var handling
83+
/// use temp_env;
8084
/// #[tokio::test]
8185
/// async fn test_resolve_int_value() {
8286
/// let flag_key = "TEST_INT_ENV_VAR";
8387
/// let flag_value = i64::MAX.to_string();
8488
/// let provider = EnvVarProvider::default();
85-
/// std::env::set_var(flag_key, &flag_value);
89+
/// temp_env::with_var(flag_key, Some(&flag_value), || {});
8690
/// let result = provider.resolve_int_value(flag_key, &EvaluationContext::default()).await;
8791
/// assert!(result.is_ok());
8892
/// assert_eq!(result.unwrap().value, flag_value.parse::<i64>().unwrap());
@@ -106,7 +110,8 @@ impl FeatureProvider for EnvVarProvider {
106110
/// let flag_value = std::f64::consts::PI.to_string();
107111
/// let provider = EnvVarProvider::default();
108112
///
109-
/// std::env::set_var(flag_key, &flag_value);
113+
/// // Note: This example uses temp_env for safe env var handling
114+
/// temp_env::with_var(flag_key, Some(&flag_value), || {});
110115
///
111116
/// let result = provider
112117
/// .resolve_float_value(flag_key, &EvaluationContext::default())
@@ -125,13 +130,15 @@ impl FeatureProvider for EnvVarProvider {
125130

126131
/// A UTF-8 encoded string.
127132
/// # Example
128-
/// ```rust
133+
/// ```rust,no_run
134+
/// // Note: This example uses temp_env for safe env var handling
135+
/// use temp_env;
129136
/// #[tokio::test]
130137
/// async fn test_resolve_string_value() {
131138
/// let provider = EnvVarProvider::default();
132139
/// let flag_key = "TEST_ENV_VAR";
133140
/// let value = "flag_value";
134-
/// std::env::set_var(flag_key, value);
141+
/// temp_env::with_var(flag_key, Some(value), || {});
135142
///
136143
/// let res = provider
137144
/// .resolve_string_value(flag_key, &EvaluationContext::default())

0 commit comments

Comments
 (0)