File: cache.rs

package info (click to toggle)
icann-rdap-cli 0.0.25-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 456 kB
  • sloc: makefile: 2
file content (50 lines) | stat: -rw-r--r-- 1,718 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#![allow(non_snake_case)]

use {
    icann_rdap_client::rdap::RequestResponseOwned,
    icann_rdap_common::response::{Domain, Entity, RdapResponse},
    icann_rdap_srv::storage::StoreOps,
};

use crate::test_jig::TestJig;

#[tokio::test(flavor = "multi_thread")]
async fn GIVEN_domain_with_entity_WHEN_retreived_from_cache_THEN_is_domain() {
    // GIVEN
    let mut test_jig = TestJig::new_rdap().await;
    let mut tx = test_jig.mem.new_tx().await.expect("new transaction");
    tx.add_domain(
        &Domain::builder()
            .ldh_name("foo.example")
            .entity(Entity::builder().handle("bob").build())
            .build(),
    )
    .await
    .expect("add domain in tx");
    tx.commit().await.expect("tx commit");

    test_jig.cmd.arg("foo.example");
    let output = test_jig.cmd.output().expect("executing domain query");
    let responses: Vec<RequestResponseOwned> =
        serde_json::from_slice(&output.stdout).expect("parsing stdout");
    let rdap = &responses.first().expect("response is empty").res_data.rdap;
    println!("response type is {rdap}");

    // WHEN
    let mut test_jig = test_jig.new_cmd();
    test_jig.cmd.arg("foo.example");

    // THEN
    let output = test_jig.cmd.output().expect("executing domain query");
    let responses: Vec<RequestResponseOwned> =
        serde_json::from_slice(&output.stdout).expect("parsing stdout");
    let rdap = &responses.first().expect("response is empty").res_data.rdap;
    println!("response type is {rdap}");
    assert!(matches!(rdap, RdapResponse::Domain(_)));
    let rdap_type = &responses
        .first()
        .expect("response is empty")
        .res_data
        .rdap_type;
    assert_eq!(rdap_type, "Domain");
}