1
0
Fork 0
icann-rdap/icann-rdap-cli/tests/integration/rdap_cmd/source.rs
Daniel Baumann b06d3acde8
Adding upstream version 0.0.22.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-08 18:41:54 +02:00

46 lines
1.2 KiB
Rust

#![allow(non_snake_case)]
use {
icann_rdap_client::rdap::{RequestResponseOwned, SourceType},
icann_rdap_common::response::Network,
icann_rdap_srv::storage::StoreOps,
rstest::rstest,
};
use crate::test_jig::TestJig;
#[rstest]
#[case("10.0.0.0/24", "10.0.0.0/24")]
#[case("10.0.0.0/24", "10.0.0.1")]
#[tokio::test(flavor = "multi_thread")]
async fn GIVEN_inr_query_WHEN_query_THEN_source_is_rir(
#[case] db_cidr: &str,
#[case] q_cidr: &str,
) {
// GIVEN
let mut test_jig = TestJig::new_rdap().await;
let mut tx = test_jig.mem.new_tx().await.expect("new transaction");
tx.add_network(
&Network::builder()
.cidr(db_cidr)
.build()
.expect("cidr parsing"),
)
.await
.expect("add network in tx");
tx.commit().await.expect("tx commit");
// WHEN
test_jig.cmd.arg(q_cidr);
// THEN
let output = test_jig.cmd.output().expect("executing inr query");
let responses: Vec<RequestResponseOwned> =
serde_json::from_slice(&output.stdout).expect("parsing stdout");
let source_type = responses
.first()
.expect("respons is empty")
.req_data
.source_type;
assert!(matches!(source_type, SourceType::RegionalInternetRegistry));
}