bgpkit-commons 0.13.0

A library for common BGP-related data and functions.
Documentation
#![cfg(feature = "delegated")]

use std::io::Cursor;

use bgpkit_commons::delegated::parse_reader;

#[test]
fn parser_preserves_source_records_without_asinfo_policy() {
    let input = "\
ripencc|GB|asn|219157|1|20260722|allocated
arin|US|asn|300000|1|20200101|reserved
ripencc|NL|ipv4|185.0.0.0|65536|20000101|allocated
";

    let records = parse_reader(Cursor::new(input))
        .collect::<Result<Vec<_>, _>>()
        .unwrap();

    assert_eq!(records.len(), 3);
    assert_eq!(records[0].registry, "ripencc");
    assert_eq!(records[0].country, "GB");
    assert_eq!(records[0].record_type, "asn");
    assert_eq!(records[0].start, "219157");
    assert_eq!(records[0].value, "1");
    assert_eq!(records[0].status, "allocated");
    assert_eq!(records[1].status, "reserved");
    assert_eq!(records[2].record_type, "ipv4");
}

#[test]
fn parser_reports_malformed_records() {
    let input = "ripencc|GB|asn\n";
    let mut records = parse_reader(Cursor::new(input));

    assert!(records.next().unwrap().is_err());
}