Skip to content

Commit b7128fb

Browse files
authored
Merge pull request #121 from adamnemecek/dev
Refactoring
2 parents a765aaf + eb87f3e commit b7128fb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+1001
-948
lines changed

icann-rdap-cli/src/bin/rdap-test/error.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
use std::process::{ExitCode, Termination};
22

3-
use icann_rdap_cli::rt::exec::TestExecutionError;
4-
use icann_rdap_client::iana::IanaResponseError;
5-
use icann_rdap_client::RdapClientError;
6-
use thiserror::Error;
3+
use {
4+
icann_rdap_cli::rt::exec::TestExecutionError,
5+
icann_rdap_client::{iana::IanaResponseError, RdapClientError},
6+
thiserror::Error,
7+
};
78

89
#[derive(Debug, Error)]
910
pub enum RdapTestError {

icann-rdap-cli/src/bin/rdap-test/main.rs

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
1-
use std::io::stdout;
2-
use std::str::FromStr;
3-
4-
use clap::builder::styling::AnsiColor;
5-
use clap::builder::Styles;
6-
use error::RdapTestError;
7-
use icann_rdap_cli::dirs;
8-
use icann_rdap_cli::dirs::fcbs::FileCacheBootstrapStore;
9-
use icann_rdap_cli::rt::exec::execute_tests;
10-
use icann_rdap_cli::rt::exec::ExtensionGroup;
11-
use icann_rdap_cli::rt::exec::TestOptions;
12-
use icann_rdap_cli::rt::results::RunOutcome;
13-
use icann_rdap_cli::rt::results::TestResults;
14-
use icann_rdap_client::http::ClientConfig;
15-
use icann_rdap_client::md::MdOptions;
16-
use icann_rdap_client::rdap::QueryType;
17-
use icann_rdap_common::check::traverse_checks;
18-
use icann_rdap_common::check::CheckClass;
19-
use termimad::crossterm::style::Color::*;
20-
use termimad::Alignment;
21-
use termimad::MadSkin;
22-
use tracing::info;
1+
use std::{io::stdout, str::FromStr};
2+
233
#[cfg(debug_assertions)]
244
use tracing::warn;
25-
use tracing_subscriber::filter::LevelFilter;
26-
27-
use clap::{Parser, ValueEnum};
28-
use icann_rdap_common::VERSION;
5+
use {
6+
clap::builder::{styling::AnsiColor, Styles},
7+
error::RdapTestError,
8+
icann_rdap_cli::{
9+
dirs,
10+
dirs::fcbs::FileCacheBootstrapStore,
11+
rt::{
12+
exec::{execute_tests, ExtensionGroup, TestOptions},
13+
results::{RunOutcome, TestResults},
14+
},
15+
},
16+
icann_rdap_client::{http::ClientConfig, md::MdOptions, rdap::QueryType},
17+
icann_rdap_common::check::{traverse_checks, CheckClass},
18+
termimad::{crossterm::style::Color::*, Alignment, MadSkin},
19+
tracing::info,
20+
tracing_subscriber::filter::LevelFilter,
21+
};
22+
23+
use {
24+
clap::{Parser, ValueEnum},
25+
icann_rdap_common::VERSION,
26+
};
2927

3028
pub mod error;
3129

icann-rdap-cli/src/bin/rdap/bootstrap.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
use crate::error::RdapCliError;
2-
use icann_rdap_cli::dirs::fcbs::FileCacheBootstrapStore;
3-
use icann_rdap_client::http::Client;
4-
use icann_rdap_client::iana::BootstrapStore;
5-
use icann_rdap_client::iana::PreferredUrl;
6-
use icann_rdap_client::{
7-
iana::{fetch_bootstrap, qtype_to_bootstrap_url},
8-
rdap::QueryType,
1+
use {
2+
crate::error::RdapCliError,
3+
icann_rdap_cli::dirs::fcbs::FileCacheBootstrapStore,
4+
icann_rdap_client::{
5+
http::Client,
6+
iana::{fetch_bootstrap, qtype_to_bootstrap_url, BootstrapStore, PreferredUrl},
7+
rdap::QueryType,
8+
},
9+
icann_rdap_common::iana::IanaRegistryType,
10+
tracing::debug,
911
};
10-
use icann_rdap_common::iana::IanaRegistryType;
11-
use tracing::debug;
1212

1313
/// Defines the type of bootstrapping to use.
1414
pub(crate) enum BootstrapType {

icann-rdap-cli/src/bin/rdap/error.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use std::process::{ExitCode, Termination};
22

3-
use icann_rdap_client::iana::IanaResponseError;
4-
use icann_rdap_client::RdapClientError;
5-
use minus::MinusError;
6-
use thiserror::Error;
7-
use tracing::error;
3+
use {
4+
icann_rdap_client::{iana::IanaResponseError, RdapClientError},
5+
minus::MinusError,
6+
thiserror::Error,
7+
tracing::error,
8+
};
89

910
#[derive(Debug, Error)]
1011
pub enum RdapCliError {

icann-rdap-cli/src/bin/rdap/main.rs

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,26 @@
1-
use bootstrap::BootstrapType;
2-
use clap::builder::styling::AnsiColor;
3-
use clap::builder::Styles;
4-
use error::RdapCliError;
5-
use icann_rdap_cli::dirs;
6-
use icann_rdap_client::http::create_client;
7-
use icann_rdap_client::http::Client;
8-
use icann_rdap_client::http::ClientConfig;
9-
use icann_rdap_common::check::CheckClass;
10-
use query::InrBackupBootstrap;
11-
use query::ProcessType;
12-
use query::ProcessingParams;
13-
use query::TldLookup;
14-
use std::io::IsTerminal;
15-
use std::str::FromStr;
16-
use tracing::error;
17-
use tracing::info;
181
#[cfg(debug_assertions)]
192
use tracing::warn;
20-
use tracing_subscriber::filter::LevelFilter;
21-
use write::FmtWrite;
22-
use write::PagerWrite;
23-
24-
use clap::{ArgGroup, Parser, ValueEnum};
25-
use icann_rdap_client::rdap::QueryType;
26-
use icann_rdap_common::VERSION;
27-
use query::OutputType;
28-
use tokio::{join, task::spawn_blocking};
3+
use {
4+
bootstrap::BootstrapType,
5+
clap::builder::{styling::AnsiColor, Styles},
6+
error::RdapCliError,
7+
icann_rdap_cli::dirs,
8+
icann_rdap_client::http::{create_client, Client, ClientConfig},
9+
icann_rdap_common::check::CheckClass,
10+
query::{InrBackupBootstrap, ProcessType, ProcessingParams, TldLookup},
11+
std::{io::IsTerminal, str::FromStr},
12+
tracing::{error, info},
13+
tracing_subscriber::filter::LevelFilter,
14+
write::{FmtWrite, PagerWrite},
15+
};
16+
17+
use {
18+
clap::{ArgGroup, Parser, ValueEnum},
19+
icann_rdap_client::rdap::QueryType,
20+
icann_rdap_common::VERSION,
21+
query::OutputType,
22+
tokio::{join, task::spawn_blocking},
23+
};
2924

3025
use crate::query::do_query;
3126

icann-rdap-cli/src/bin/rdap/query.rs

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
1-
use icann_rdap_client::http::Client;
2-
use icann_rdap_common::check::traverse_checks;
3-
use icann_rdap_common::check::CheckClass;
4-
use icann_rdap_common::check::CheckParams;
5-
use icann_rdap_common::check::Checks;
6-
use icann_rdap_common::check::GetChecks;
7-
use icann_rdap_common::response::get_related_links;
8-
use tracing::debug;
9-
use tracing::error;
10-
use tracing::info;
1+
use {
2+
icann_rdap_client::http::Client,
3+
icann_rdap_common::{
4+
check::{traverse_checks, CheckClass, CheckParams, Checks, GetChecks},
5+
response::get_related_links,
6+
},
7+
tracing::{debug, error, info},
8+
};
119

12-
use icann_rdap_client::{
13-
gtld::{GtldParams, ToGtldWhois},
14-
md::{redacted::replace_redacted_items, MdOptions, MdParams, ToMd},
15-
rdap::{QueryType, ResponseData},
16-
rdap::{RequestData, RequestResponse, RequestResponses, SourceType},
10+
use {
11+
icann_rdap_client::{
12+
gtld::{GtldParams, ToGtldWhois},
13+
md::{redacted::replace_redacted_items, MdOptions, MdParams, ToMd},
14+
rdap::{
15+
QueryType, RequestData, RequestResponse, RequestResponses, ResponseData, SourceType,
16+
},
17+
},
18+
termimad::{crossterm::style::Color::*, Alignment, MadSkin},
1719
};
18-
use termimad::{crossterm::style::Color::*, Alignment, MadSkin};
1920

20-
use crate::bootstrap::get_base_url;
21-
use crate::bootstrap::BootstrapType;
22-
use crate::error::RdapCliError;
23-
use crate::request::do_request;
21+
use crate::{
22+
bootstrap::{get_base_url, BootstrapType},
23+
error::RdapCliError,
24+
request::do_request,
25+
};
2426

2527
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
2628
pub(crate) enum OutputType {

icann-rdap-cli/src/bin/rdap/request.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ use std::{
33
io::{BufRead, BufReader},
44
};
55

6-
use icann_rdap_client::{
7-
http::Client,
8-
rdap::{rdap_url_request, QueryType, ResponseData},
6+
use {
7+
icann_rdap_client::{
8+
http::Client,
9+
rdap::{rdap_url_request, QueryType, ResponseData},
10+
},
11+
icann_rdap_common::{httpdata::HttpData, response::GetSelfLink},
12+
pct_str::{PctString, URIReserved},
13+
tracing::{debug, info},
914
};
10-
use icann_rdap_common::{httpdata::HttpData, response::GetSelfLink};
11-
use pct_str::PctString;
12-
use pct_str::URIReserved;
13-
use tracing::{debug, info};
1415

1516
use crate::{dirs::rdap_cache_path, error::RdapCliError, query::ProcessingParams};
1617

icann-rdap-cli/src/dirs/fcbs.rs

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ use std::{
44
path::PathBuf,
55
};
66

7-
use icann_rdap_client::iana::{BootstrapStore, RegistryHasNotExpired};
8-
use icann_rdap_common::{
9-
httpdata::HttpData,
10-
iana::{BootstrapRegistry, IanaRegistry, IanaRegistryType},
7+
use {
8+
icann_rdap_client::iana::{BootstrapStore, RegistryHasNotExpired},
9+
icann_rdap_common::{
10+
httpdata::HttpData,
11+
iana::{BootstrapRegistry, IanaRegistry, IanaRegistryType},
12+
},
13+
tracing::debug,
1114
};
12-
use tracing::debug;
1315

1416
use super::bootstrap_cache_path;
1517

@@ -94,16 +96,18 @@ where
9496
#[cfg(test)]
9597
#[allow(non_snake_case)]
9698
mod test {
97-
use icann_rdap_client::{
98-
iana::{BootstrapStore, PreferredUrl},
99-
rdap::QueryType,
100-
};
101-
use icann_rdap_common::{
102-
httpdata::HttpData,
103-
iana::{IanaRegistry, IanaRegistryType},
99+
use {
100+
icann_rdap_client::{
101+
iana::{BootstrapStore, PreferredUrl},
102+
rdap::QueryType,
103+
},
104+
icann_rdap_common::{
105+
httpdata::HttpData,
106+
iana::{IanaRegistry, IanaRegistryType},
107+
},
108+
serial_test::serial,
109+
test_dir::{DirBuilder, FileType, TestDir},
104110
};
105-
use serial_test::serial;
106-
use test_dir::{DirBuilder, FileType, TestDir};
107111

108112
use crate::dirs::{self, fcbs::FileCacheBootstrapStore};
109113

icann-rdap-cli/src/rt/exec.rs

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
//! Function to execute tests.
22
3-
use std::net::{Ipv4Addr, Ipv6Addr};
4-
use std::str::FromStr;
5-
6-
use hickory_client::client::{AsyncClient, ClientConnection, ClientHandle};
7-
use hickory_client::rr::{DNSClass, Name, RecordType};
8-
use hickory_client::udp::UdpClientConnection;
9-
use icann_rdap_client::http::create_client_with_addr;
10-
use icann_rdap_client::iana::{qtype_to_bootstrap_url, BootstrapStore};
11-
use icann_rdap_client::{http::create_client, http::ClientConfig, rdap::rdap_url_request};
12-
use icann_rdap_client::{rdap::QueryType, RdapClientError};
13-
use icann_rdap_common::response::get_related_links;
14-
use icann_rdap_common::response::ExtensionId;
15-
use reqwest::header::HeaderValue;
16-
use reqwest::Url;
17-
use thiserror::Error;
18-
use tracing::{debug, info};
19-
use url::ParseError;
3+
use std::{
4+
net::{Ipv4Addr, Ipv6Addr},
5+
str::FromStr,
6+
};
7+
8+
use {
9+
hickory_client::{
10+
client::{AsyncClient, ClientConnection, ClientHandle},
11+
rr::{DNSClass, Name, RecordType},
12+
udp::UdpClientConnection,
13+
},
14+
icann_rdap_client::{
15+
http::{create_client, create_client_with_addr, ClientConfig},
16+
iana::{qtype_to_bootstrap_url, BootstrapStore},
17+
rdap::{rdap_url_request, QueryType},
18+
RdapClientError,
19+
},
20+
icann_rdap_common::response::{get_related_links, ExtensionId},
21+
reqwest::{header::HeaderValue, Url},
22+
thiserror::Error,
23+
tracing::{debug, info},
24+
url::ParseError,
25+
};
2026

2127
use crate::rt::results::{RunFeature, TestRun};
2228

icann-rdap-cli/src/rt/results.rs

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,20 @@ use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
22

33
/// Contains the results of test execution.
44
use chrono::{DateTime, Utc};
5-
use icann_rdap_client::{
6-
md::{string::StringUtil, table::MultiPartTable, MdOptions},
7-
rdap::ResponseData,
8-
RdapClientError,
5+
use {
6+
icann_rdap_client::{
7+
md::{string::StringUtil, table::MultiPartTable, MdOptions},
8+
rdap::ResponseData,
9+
RdapClientError,
10+
},
11+
icann_rdap_common::{
12+
check::{traverse_checks, Check, CheckClass, CheckItem, CheckParams, Checks, GetChecks},
13+
response::{ExtensionId, RdapResponse},
14+
},
15+
reqwest::StatusCode,
16+
serde::Serialize,
17+
strum_macros::Display,
918
};
10-
use icann_rdap_common::{
11-
check::{traverse_checks, Check, CheckClass, CheckItem, CheckParams, Checks, GetChecks},
12-
response::{ExtensionId, RdapResponse},
13-
};
14-
use reqwest::StatusCode;
15-
use serde::Serialize;
16-
use strum_macros::Display;
1719

1820
use super::exec::TestOptions;
1921

@@ -225,28 +227,24 @@ pub struct TestRun {
225227
}
226228

227229
impl TestRun {
228-
pub fn new_v4(features: Vec<RunFeature>, ipv4: Ipv4Addr, port: u16) -> Self {
230+
fn new(features: Vec<RunFeature>, socket_addr: SocketAddr) -> Self {
229231
Self {
230232
features,
231233
start_time: Utc::now(),
232-
socket_addr: SocketAddr::new(IpAddr::V4(ipv4), port),
234+
socket_addr,
233235
end_time: None,
234236
response_data: None,
235237
outcome: RunOutcome::Skipped,
236238
checks: None,
237239
}
238240
}
239241

242+
pub fn new_v4(features: Vec<RunFeature>, ipv4: Ipv4Addr, port: u16) -> Self {
243+
Self::new(features, SocketAddr::new(IpAddr::V4(ipv4), port))
244+
}
245+
240246
pub fn new_v6(features: Vec<RunFeature>, ipv6: Ipv6Addr, port: u16) -> Self {
241-
Self {
242-
features,
243-
start_time: Utc::now(),
244-
socket_addr: SocketAddr::new(IpAddr::V6(ipv6), port),
245-
end_time: None,
246-
response_data: None,
247-
outcome: RunOutcome::Skipped,
248-
checks: None,
249-
}
247+
Self::new(features, SocketAddr::new(IpAddr::V6(ipv6), port))
250248
}
251249

252250
pub fn end(

0 commit comments

Comments
 (0)