Skip to content

Commit 1b29fdb

Browse files
authored
fix: issues introduced by the 0.3.0 release (#49)
* fix: issues introduced by the 0.3.0 release * fix: tests compilation warnings Signed-off-by: Jeremy HERGAULT <jeremy.hergault@worldline.com>
1 parent 7e1a6e1 commit 1b29fdb

19 files changed

Lines changed: 264 additions & 193 deletions

File tree

Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ include = [
2222
]
2323

2424
[workspace.dependencies]
25-
prosa-utils = { version = "0.3.1", path = "prosa_utils", default-features = false }
26-
prosa-macros = { version = "0.3.1", path = "prosa_macros" }
25+
prosa-utils = { version = "0.3.2", path = "prosa_utils", default-features = false }
26+
prosa-macros = { version = "0.3.2", path = "prosa_macros" }
2727
thiserror = "2"
2828
aquamarine = "0.6"
2929
bytes = "1"
@@ -47,6 +47,7 @@ opentelemetry-prometheus = { version = "0.29" }
4747
opentelemetry-appender-log = "0.29"
4848

4949
# Config SSL
50+
openssl-sys = { version = "0.9" }
5051
openssl = { version = "0.10" }
5152

5253
# Web

cargo-prosa/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "cargo-prosa"
3-
version = "0.3.0"
3+
version = "0.3.1"
44
authors.workspace = true
55
description = "ProSA utility to package and deliver a builded ProSA"
66
homepage.workspace = true

cargo-prosa/src/cargo.rs

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,11 @@ impl PackageMetadata {
257257
{
258258
let mut proc_metadata = HashMap::new();
259259
for (name, data) in metadata {
260-
if name != "main" && name != "tvf" {
261-
if let Ok(prosa_metadata) = serde_json::from_value::<Metadata>(data.clone()) {
262-
proc_metadata.insert(name.as_str(), prosa_metadata);
263-
}
260+
if name != "main"
261+
&& name != "tvf"
262+
&& let Ok(prosa_metadata) = serde_json::from_value::<Metadata>(data.clone())
263+
{
264+
proc_metadata.insert(name.as_str(), prosa_metadata);
264265
}
265266
}
266267

@@ -279,16 +280,15 @@ impl PackageMetadata {
279280
.and_then(|m| m.get("prosa").and_then(|w| w.as_object()))
280281
{
281282
for (meta_name, data) in metadata {
282-
if meta_name == ty {
283-
if let Ok(prosa_metadata) =
283+
if meta_name == ty
284+
&& let Ok(prosa_metadata) =
284285
serde_json::from_value::<Vec<String>>(data.clone()).map(|v| v.into_iter())
285-
{
286-
meta_list.append(
287-
&mut prosa_metadata
288-
.map(|w| format!("{}::{}", self.name.replace('-', "_"), w))
289-
.collect::<Vec<String>>(),
290-
);
291-
}
286+
{
287+
meta_list.append(
288+
&mut prosa_metadata
289+
.map(|w| format!("{}::{}", self.name.replace('-', "_"), w))
290+
.collect::<Vec<String>>(),
291+
);
292292
}
293293
}
294294
}
@@ -327,35 +327,34 @@ impl PackageMetadata {
327327
version: &self.version,
328328
});
329329
}
330-
} else if ty == "adaptor" {
331-
if let Some(adaptor_name) = prosa_metadata.find_adaptor(
330+
} else if ty == "adaptor"
331+
&& let Some(adaptor_name) = prosa_metadata.find_adaptor(
332332
name.replace('-', "_").as_str(),
333333
Some(self.name.replace('-', "_").as_str()),
334-
) {
335-
return Some(ComponentVersion {
336-
name: adaptor_name.clone(),
337-
crate_name: &self.name,
338-
version: &self.version,
339-
});
340-
}
334+
)
335+
{
336+
return Some(ComponentVersion {
337+
name: adaptor_name.clone(),
338+
crate_name: &self.name,
339+
version: &self.version,
340+
});
341341
}
342342
}
343-
} else if meta_name == ty {
344-
if let Some(component_name) =
343+
} else if meta_name == ty
344+
&& let Some(component_name) =
345345
serde_json::from_value::<Vec<String>>(data.clone())
346346
.ok()
347347
.and_then(|m| {
348348
m.into_iter().find(|w| {
349349
format!("{}::{}", self.name.replace('-', "_"), w).contains(name)
350350
})
351351
})
352-
{
353-
return Some(ComponentVersion {
354-
name: component_name,
355-
crate_name: &self.name,
356-
version: &self.version,
357-
});
358-
}
352+
{
353+
return Some(ComponentVersion {
354+
name: component_name,
355+
crate_name: &self.name,
356+
version: &self.version,
357+
});
359358
}
360359
}
361360
}
@@ -561,23 +560,23 @@ impl CargoMetadata {
561560
let mut processor_version = None;
562561
let mut adaptor_version = None;
563562
for package in &self.packages {
564-
if processor_version.is_none() {
565-
if let Some(proc) = package.get_proc_version(proc_name) {
566-
processor_version = Some(proc);
563+
if processor_version.is_none()
564+
&& let Some(proc) = package.get_proc_version(proc_name)
565+
{
566+
processor_version = Some(proc);
567567

568-
if adaptor_version.is_some() {
569-
break;
570-
}
568+
if adaptor_version.is_some() {
569+
break;
571570
}
572571
}
573572

574-
if adaptor_version.is_none() {
575-
if let Some(adaptor) = package.get_adaptor_version(adaptor_name) {
576-
adaptor_version = Some(adaptor);
573+
if adaptor_version.is_none()
574+
&& let Some(adaptor) = package.get_adaptor_version(adaptor_name)
575+
{
576+
adaptor_version = Some(adaptor);
577577

578-
if processor_version.is_some() {
579-
break;
580-
}
578+
if processor_version.is_some() {
579+
break;
581580
}
582581
}
583582
}

cargo-prosa/src/main.rs

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -394,41 +394,39 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
394394
let dry_run = matches.get_flag("dry_run");
395395
let prosa_toml = fs::read_to_string(CONFIGURATION_FILENAME)?;
396396
let mut prosa_doc = prosa_toml.parse::<DocumentMut>()?;
397-
if let Some(processor) = matches.get_one::<String>("PROCESSOR") {
398-
if let Some(proc_metadata) = CargoMetadata::load_metadata()?
397+
if let Some(processor) = matches.get_one::<String>("PROCESSOR")
398+
&& let Some(proc_metadata) = CargoMetadata::load_metadata()?
399399
.prosa_proc_metadata()
400400
.get(processor.as_str())
401-
{
402-
let mut proc_desc = proc_metadata.get_proc_desc(
403-
matches.get_one::<String>("adaptor").map(|x| x.as_str()),
404-
None,
405-
)?;
406-
if let Some(name) = matches.get_one::<String>("name") {
407-
proc_desc.name = Some(name.clone());
408-
} else if proc_desc.name.is_none() {
409-
proc_desc.name = Some(processor.clone());
410-
}
401+
{
402+
let mut proc_desc = proc_metadata.get_proc_desc(
403+
matches.get_one::<String>("adaptor").map(|x| x.as_str()),
404+
None,
405+
)?;
406+
if let Some(name) = matches.get_one::<String>("name") {
407+
proc_desc.name = Some(name.clone());
408+
} else if proc_desc.name.is_none() {
409+
proc_desc.name = Some(processor.clone());
410+
}
411411

412-
// Use the processor name instead of the crate name
413-
proc_desc.proc_name = processor.clone();
412+
// Use the processor name instead of the crate name
413+
proc_desc.proc_name = processor.clone();
414414

415-
if !dry_run {
416-
if let Some(toml_edit::Item::ArrayOfTables(array_tables)) =
417-
prosa_doc.get_mut("proc")
418-
{
419-
array_tables.push(proc_desc.into());
420-
} else {
421-
let mut array_tables = toml_edit::ArrayOfTables::new();
422-
array_tables.push(proc_desc.into());
423-
prosa_doc
424-
.insert("proc", toml_edit::Item::ArrayOfTables(array_tables));
425-
}
426-
427-
let mut prosa_toml_file = fs::File::create(CONFIGURATION_FILENAME)?;
428-
prosa_toml_file.write_all(prosa_doc.to_string().as_bytes())?;
415+
if !dry_run {
416+
if let Some(toml_edit::Item::ArrayOfTables(array_tables)) =
417+
prosa_doc.get_mut("proc")
418+
{
419+
array_tables.push(proc_desc.into());
429420
} else {
430-
println!("Will add {proc_desc}");
421+
let mut array_tables = toml_edit::ArrayOfTables::new();
422+
array_tables.push(proc_desc.into());
423+
prosa_doc.insert("proc", toml_edit::Item::ArrayOfTables(array_tables));
431424
}
425+
426+
let mut prosa_toml_file = fs::File::create(CONFIGURATION_FILENAME)?;
427+
prosa_toml_file.write_all(prosa_doc.to_string().as_bytes())?;
428+
} else {
429+
println!("Will add {proc_desc}");
432430
}
433431
}
434432
}
@@ -447,13 +445,12 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
447445
array_tables.retain(|table| {
448446
if let Some(toml_edit::Item::Value(toml_edit::Value::String(name))) =
449447
table.get("name")
448+
&& processors.contains(&name.value())
450449
{
451-
if processors.contains(&name.value()) {
452-
if dry_run {
453-
println!("Will remove {}", name.value());
454-
} else {
455-
return false;
456-
}
450+
if dry_run {
451+
println!("Will remove {}", name.value());
452+
} else {
453+
return false;
457454
}
458455
}
459456

prosa/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "prosa"
3-
version = "0.3.1"
3+
version = "0.3.2"
44
authors.workspace = true
55
description = "ProSA core"
66
homepage.workspace = true

prosa/src/core/msg.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,27 @@ impl<M> ErrorMsg<M>
405405
where
406406
M: Sized + Clone + Tvf,
407407
{
408+
/// Method to create a new ErrorMsg
409+
pub fn new<R>(
410+
request: R,
411+
service: String,
412+
span: Span,
413+
data: Option<M>,
414+
err: ServiceError,
415+
) -> Self
416+
where
417+
R: Msg<M>,
418+
{
419+
ErrorMsg {
420+
id: request.get_id(),
421+
service,
422+
span,
423+
error_time: SystemTime::now(),
424+
data,
425+
err,
426+
}
427+
}
428+
408429
/// Getter of the service error
409430
pub fn get_err(&self) -> &ServiceError {
410431
&self.err

prosa/src/io.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,13 @@ impl From<tokio::net::unix::SocketAddr> for SocketAddr {
142142
#[cfg(test)]
143143
mod tests {
144144
use futures_util::future;
145-
use listener::{ListenerSetting, StreamListener};
145+
use listener::StreamListener;
146146

147147
#[cfg(feature = "openssl")]
148148
use prosa_utils::config::ssl::{SslConfig, SslConfigContext as _, Store};
149149

150-
use std::{env, os::fd::AsRawFd as _};
151-
use stream::{Stream, TargetSetting};
150+
use std::os::fd::AsRawFd as _;
151+
use stream::Stream;
152152
use tokio::io::{AsyncReadExt as _, AsyncWriteExt};
153153

154154
use super::*;
@@ -267,7 +267,7 @@ mod tests {
267267
async fn openssl_client_server() {
268268
let addr = "localhost:41443";
269269
let addr_url = Url::parse(format!("tls://{addr}").as_str()).unwrap();
270-
let cert_path = env::temp_dir()
270+
let cert_path = std::env::temp_dir()
271271
.join("test_openssl_client_server.pem")
272272
.to_str()
273273
.unwrap()
@@ -344,7 +344,7 @@ mod tests {
344344
async fn openssl_client_server_raw() {
345345
let addr = "localhost:41453";
346346
let addr_url = Url::parse(format!("tls://{addr}").as_str()).unwrap();
347-
let cert_path = env::temp_dir()
347+
let cert_path = std::env::temp_dir()
348348
.join("test_openssl_client_server_raw.pem")
349349
.to_str()
350350
.unwrap()
@@ -422,7 +422,7 @@ mod tests {
422422
async fn ssl_client_server_with_config() {
423423
let addr_str = "tls://localhost:41463";
424424
let addr = Url::parse(addr_str).unwrap();
425-
let cert_path = env::temp_dir()
425+
let cert_path = std::env::temp_dir()
426426
.join("test_ssl_client_server_with_config.pem")
427427
.to_str()
428428
.unwrap()
@@ -431,7 +431,8 @@ mod tests {
431431
let mut server_ssl_config = SslConfig::new_self_cert(cert_path.clone());
432432
server_ssl_config.set_alpn(vec!["prosa/1".into(), "h2".into()]);
433433

434-
let listener_settings = ListenerSetting::new(addr.clone(), Some(server_ssl_config));
434+
let listener_settings =
435+
listener::ListenerSetting::new(addr.clone(), Some(server_ssl_config));
435436
assert!(
436437
format!("{listener_settings:?}").contains("tls")
437438
&& format!("{listener_settings:?}").contains("localhost")
@@ -474,7 +475,7 @@ mod tests {
474475
let mut client_ssl_config = SslConfig::default();
475476
client_ssl_config.set_alpn(vec!["http/1.1".into(), "prosa/1".into()]);
476477
client_ssl_config.set_store(Store::File { path: cert_path });
477-
let target_settings = TargetSetting::new(addr, Some(client_ssl_config), None);
478+
let target_settings = stream::TargetSetting::new(addr, Some(client_ssl_config), None);
478479
assert_eq!(addr_str, target_settings.to_string());
479480

480481
let client = async {
@@ -508,7 +509,7 @@ mod tests {
508509
let addr_str = "https://worldline.com/";
509510
let addr = Url::parse(addr_str).unwrap();
510511

511-
let target_settings = TargetSetting::new(addr, Some(SslConfig::default()), None);
512+
let target_settings = stream::TargetSetting::new(addr, Some(SslConfig::default()), None);
512513
assert_eq!(addr_str, target_settings.to_string());
513514

514515
let mut stream = target_settings.connect().await.unwrap();

0 commit comments

Comments
 (0)