parlov-analysis 0.7.0

Analysis engine trait and signal detection for parlov.
Documentation
use super::*;

// -- Confirmed / Medium (upper-moderate patterns, base_confidence 82-84) --

#[test]
fn not_modified_vs_not_found() {
    assert_pattern(
        304,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Conditional-request differential"),
        true,
        Some("RFC 9110 §15.4.5"),
    );
}

#[test]
fn unprocessable_vs_not_found() {
    assert_pattern(
        422,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Validation-path differential"),
        true,
        Some("RFC 9110 §15.5.21"),
    );
}

#[test]
fn unprocessable_vs_created() {
    assert_pattern(
        422,
        201,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Validation-path differential"),
        true,
        Some("RFC 9110 §9.3.4"),
    );
}

#[test]
fn precondition_failed_vs_not_found() {
    assert_pattern(
        412,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Precondition-failed differential"),
        true,
        Some("RFC 9110 §13.1.1"),
    );
}

#[test]
fn not_acceptable_vs_not_found() {
    assert_pattern(
        406,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Content-negotiation differential"),
        true,
        Some("RFC 9110 §15.5.7"),
    );
}

#[test]
fn unsupported_media_type_vs_not_found() {
    assert_pattern(
        415,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Media-type differential"),
        true,
        Some("RFC 9110 §15.5.16"),
    );
}

#[test]
fn conflict_vs_not_found() {
    assert_pattern(
        409,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("State-conflict differential"),
        true,
        Some("RFC 9110 §15.5.10"),
    );
}

#[test]
fn conflict_vs_no_content() {
    assert_pattern(
        409,
        204,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Conflict-based differential"),
        true,
        Some("RFC 9110 §15.5.10"),
    );
}

#[test]
fn range_not_satisfiable_vs_not_found() {
    assert_pattern(
        416,
        404,
        OracleVerdict::Confirmed,
        Some(Severity::Medium),
        Some("Range-not-satisfiable differential"),
        true,
        Some("RFC 9110 §15.5.17"),
    );
}