Skip to content

Commit 43b5350

Browse files
committed
chore(pact-consumer): Set the crypto provider in the DSL Builder if it has not already been set
1 parent 956679c commit 43b5350

5 files changed

Lines changed: 17 additions & 8 deletions

File tree

rust/Cargo.lock

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rust/pact_consumer/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ pact_models = { version = "~1.3.13", default-features = false }
3434
pact-plugin-driver = { version = "~1.1.1", optional = true, default-features = false }
3535
uuid = { version = "1.24.0", features = ["v4"], optional = true }
3636
regex = "1.13.1"
37+
rustls = { version = "0.23.43", features = ["ring"] }
3738
serde_json = "1.0.151"
3839
termsize = "0.1.9"
3940
tokio = { version = "1.53.1", features = ["full"] }
@@ -45,7 +46,6 @@ yansi = { version = "1.0.1", optional = true }
4546
env_logger = "0.11.11"
4647
expectest = "0.12.0"
4748
reqwest = { version = "0.13.4", default-features = false, features = ["rustls-no-provider", "blocking", "json"] }
48-
rustls = { version = "0.23.43", features = ["ring"] }
4949
serde = { version = "1.0.229", features = ["derive"] }
5050
rand = "0.8.7"
5151
tempfile = "3.27.0"

rust/pact_consumer/src/builders/pact_builder.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ impl PactBuilder {
7272
pact_matching::matchingrules::configure_core_catalogue();
7373
pact_mock_server::configure_core_catalogue();
7474

75+
if rustls::crypto::CryptoProvider::get_default().is_none() {
76+
rustls::crypto::ring::default_provider()
77+
.install_default()
78+
.expect("Failed to install rustls crypto provider");
79+
}
80+
7581
let mut pact = RequestResponsePact::default();
7682
pact.consumer = Consumer {
7783
name: consumer.into(),

rust/pact_consumer/src/builders/pact_builder_async.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ impl PactBuilderAsync {
6969
pact_matching::matchingrules::configure_core_catalogue();
7070
pact_mock_server::configure_core_catalogue();
7171

72+
if rustls::crypto::CryptoProvider::get_default().is_none() {
73+
rustls::crypto::ring::default_provider()
74+
.install_default()
75+
.expect("Failed to install rustls crypto provider");
76+
}
77+
7278
let mut pact = RequestResponsePact::default();
7379
pact.consumer = Consumer {
7480
name: consumer.into(),

rust/pact_consumer/tests/tests.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,6 @@ fn mock_server_failing_validation() {
195195

196196
#[test_log::test(tokio::test)]
197197
async fn duplicate_interactions() {
198-
rustls::crypto::ring::default_provider()
199-
.install_default()
200-
.expect("Failed to install rustls crypto provider");
201-
202198
let u8 = random::<u8>();
203199
let output_dir = output_dir(&*format!("target/pact_dir_{:03}", u8));
204200

0 commit comments

Comments
 (0)