mirror of
https://github.com/openai/codex.git
synced 2026-09-13 11:47:17 +00:00
Use string keyring APIs for JSON storage
This commit is contained in:
@@ -79,7 +79,8 @@ fn load_secret_from_keyring<K: KeyringStore + ?Sized>(
|
||||
field: &str,
|
||||
) -> Result<Option<Vec<u8>>, FullJsonKeyringError> {
|
||||
keyring_store
|
||||
.load_secret(service, key)
|
||||
.load(service, key)
|
||||
.map(|value| value.map(String::into_bytes))
|
||||
.map_err(|err| credential_store_error("load", field, err))
|
||||
}
|
||||
|
||||
@@ -90,8 +91,11 @@ fn save_secret_to_keyring<K: KeyringStore + ?Sized>(
|
||||
value: &[u8],
|
||||
field: &str,
|
||||
) -> Result<(), FullJsonKeyringError> {
|
||||
let value = std::str::from_utf8(value).map_err(|err| {
|
||||
FullJsonKeyringError::new(format!("failed to encode {field} as UTF-8: {err}"))
|
||||
})?;
|
||||
keyring_store
|
||||
.save_secret(service, key, value)
|
||||
.save(service, key, value)
|
||||
.map_err(|err| credential_store_error("write", field, err))
|
||||
}
|
||||
|
||||
@@ -145,8 +149,8 @@ mod tests {
|
||||
.expect("JSON should exist");
|
||||
assert_eq!(loaded, expected);
|
||||
assert_eq!(
|
||||
store.saved_secret(BASE_KEY),
|
||||
Some(serde_json::to_vec(&expected).expect("JSON should serialize")),
|
||||
store.saved_value(BASE_KEY),
|
||||
Some(serde_json::to_string(&expected).expect("JSON should serialize")),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -395,7 +395,8 @@ fn load_secret_from_keyring<K: KeyringStore + ?Sized>(
|
||||
field: &str,
|
||||
) -> Result<Option<Vec<u8>>, SplitJsonKeyringError> {
|
||||
keyring_store
|
||||
.load_secret(service, key)
|
||||
.load(service, key)
|
||||
.map(|value| value.map(String::into_bytes))
|
||||
.map_err(|err| credential_store_error("load", field, err))
|
||||
}
|
||||
|
||||
@@ -406,8 +407,11 @@ fn save_secret_to_keyring<K: KeyringStore + ?Sized>(
|
||||
value: &[u8],
|
||||
field: &str,
|
||||
) -> Result<(), SplitJsonKeyringError> {
|
||||
let value = std::str::from_utf8(value).map_err(|err| {
|
||||
SplitJsonKeyringError::new(format!("failed to encode {field} as UTF-8: {err}"))
|
||||
})?;
|
||||
keyring_store
|
||||
.save_secret(service, key, value)
|
||||
.save(service, key, value)
|
||||
.map_err(|err| credential_store_error("write", field, err))
|
||||
}
|
||||
|
||||
@@ -662,7 +666,7 @@ mod tests {
|
||||
|
||||
let root_value_key = value_key(BASE_KEY, "");
|
||||
assert_eq!(
|
||||
store.saved_secret_utf8(&root_value_key),
|
||||
store.saved_value(&root_value_key),
|
||||
Some("\"value\"".to_string())
|
||||
);
|
||||
|
||||
@@ -715,11 +719,11 @@ mod tests {
|
||||
assert!(!store.contains(&stale_value_key));
|
||||
assert!(store.contains(&manifest_key));
|
||||
assert_eq!(
|
||||
store.saved_secret_utf8(&value_key(BASE_KEY, "/value")),
|
||||
store.saved_value(&value_key(BASE_KEY, "/value")),
|
||||
Some("\"second\"".to_string())
|
||||
);
|
||||
assert_eq!(
|
||||
store.saved_secret_utf8(&value_key(BASE_KEY, "/extra")),
|
||||
store.saved_value(&value_key(BASE_KEY, "/extra")),
|
||||
Some("1".to_string())
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user