v0.3.2-pre.005-fix.001
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 337
|
# version: 339
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
members = ["crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"]
|
members = ["crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.2-pre.5"
|
version = "0.3.2-pre.5.fix.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: crates/ksp-store-postgres-lib/unit_tests/runtime.rs
|
// file: crates/ksp-store-postgres-lib/unit_tests/runtime.rs
|
||||||
// version: 1
|
// version: 2
|
||||||
|
|
||||||
fn network() -> ksp_store_api::RawNetworkId {
|
fn network() -> ksp_store_api::RawNetworkId {
|
||||||
return match ksp_store_api::RawNetworkId::new("devnet") {
|
return match ksp_store_api::RawNetworkId::new("devnet") {
|
||||||
@@ -58,7 +58,7 @@ fn typed_disabled_policy_overrides_uri_tls_and_connection_controls() {
|
|||||||
assert_eq!(config.get_ssl_mode(), tokio_postgres::config::SslMode::Disable);
|
assert_eq!(config.get_ssl_mode(), tokio_postgres::config::SslMode::Disable);
|
||||||
assert_eq!(config.get_ssl_negotiation(), tokio_postgres::config::SslNegotiation::Postgres);
|
assert_eq!(config.get_ssl_negotiation(), tokio_postgres::config::SslNegotiation::Postgres);
|
||||||
assert_eq!(config.get_application_name(), std::option::Option::Some(super::APPLICATION_NAME));
|
assert_eq!(config.get_application_name(), std::option::Option::Some(super::APPLICATION_NAME));
|
||||||
assert_eq!(config.get_connect_timeout(), std::option::Option::Some(std::time::Duration::from_secs(10)));
|
assert_eq!(config.get_connect_timeout(), std::option::Option::Some(&std::time::Duration::from_secs(10)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ fn typed_verify_full_policy_forces_tls_and_rejects_hostaddr_only_identity() {
|
|||||||
assert_eq!(config.get_ssl_mode(), tokio_postgres::config::SslMode::Require);
|
assert_eq!(config.get_ssl_mode(), tokio_postgres::config::SslMode::Require);
|
||||||
assert_eq!(config.get_ssl_negotiation(), tokio_postgres::config::SslNegotiation::Postgres);
|
assert_eq!(config.get_ssl_negotiation(), tokio_postgres::config::SslNegotiation::Postgres);
|
||||||
assert_eq!(config.get_application_name(), std::option::Option::Some(super::APPLICATION_NAME));
|
assert_eq!(config.get_application_name(), std::option::Option::Some(super::APPLICATION_NAME));
|
||||||
assert_eq!(config.get_connect_timeout(), std::option::Option::Some(std::time::Duration::from_secs(10)));
|
assert_eq!(config.get_connect_timeout(), std::option::Option::Some(&std::time::Duration::from_secs(10)));
|
||||||
let hostaddr_only = settings("hostaddr=127.0.0.1 user=operator dbname=ksp", crate::PostgresBackendTlsMode::VerifyFull);
|
let hostaddr_only = settings("hostaddr=127.0.0.1 user=operator dbname=ksp", crate::PostgresBackendTlsMode::VerifyFull);
|
||||||
let rejected = super::normalized_config(&hostaddr_only);
|
let rejected = super::normalized_config(&hostaddr_only);
|
||||||
assert_eq!(rejected.err().map(|value| return value.kind()), std::option::Option::Some(crate::PostgresBackendErrorKind::ConfigInvalid));
|
assert_eq!(rejected.err().map(|value| return value.kind()), std::option::Option::Some(crate::PostgresBackendErrorKind::ConfigInvalid));
|
||||||
|
|||||||
54
deltas/0.3.2/pre.005-fix.001.md
Normal file
54
deltas/0.3.2/pre.005-fix.001.md
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<!-- file: deltas/0.3.2/pre.005-fix.001.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta `0.3.2-pre.005-fix.001` — correction des assertions `connect_timeout`
|
||||||
|
|
||||||
|
## 1. Base
|
||||||
|
|
||||||
|
Base exacte : `0.3.2-pre.005` telle qu'appliquée et formatée par l'opérateur.
|
||||||
|
|
||||||
|
Le gate du 29 août 2026 confirme :
|
||||||
|
|
||||||
|
```text
|
||||||
|
audits Rust/Markdown propres
|
||||||
|
cargo check --workspace propre
|
||||||
|
production ksp-store-postgres-lib compilable
|
||||||
|
graphes Store/PostgreSQL conformes
|
||||||
|
tests ksp-store-lib avec et sans feature PostgreSQL propres
|
||||||
|
```
|
||||||
|
|
||||||
|
La seule erreur bloquante est dans deux assertions unitaires de `ksp-store-postgres-lib` : `tokio_postgres::Config::get_connect_timeout()` retourne `Option<&Duration>`, tandis que le test comparait à `Option<Duration>`.
|
||||||
|
|
||||||
|
## 2. Correctif
|
||||||
|
|
||||||
|
Les deux assertions de `unit_tests/runtime.rs` comparent désormais la référence retournée par l'API :
|
||||||
|
|
||||||
|
```rust
|
||||||
|
std::option::Option::Some(&std::time::Duration::from_secs(10))
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucun comportement production, réglage, dépendance, policy TLS, pool ou lifecycle n'est modifié.
|
||||||
|
|
||||||
|
## 3. Version
|
||||||
|
|
||||||
|
```text
|
||||||
|
workspace.package.version = 0.3.2-pre.5.fix.1
|
||||||
|
```
|
||||||
|
|
||||||
|
## 4. Gate opérateur
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo fmt --all
|
||||||
|
python3 scripts/audit_rust_workspace_rules.py
|
||||||
|
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.2
|
||||||
|
cargo check --workspace
|
||||||
|
cargo clippy --workspace --all-targets
|
||||||
|
cargo test -p ksp-store-postgres-lib
|
||||||
|
cargo test -p ksp-store-lib
|
||||||
|
cargo test -p ksp-store-lib --no-default-features
|
||||||
|
cargo check -p ksp-store-lib --no-default-features
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5. Suite
|
||||||
|
|
||||||
|
Après gate propre, `pre.006` peut introduire le moteur de migrations PostgreSQL KSP sans rouvrir la fondation connexion/pool/TLS.
|
||||||
Reference in New Issue
Block a user