from scoring.anomaly_model import (
    train_anomaly_model,
    get_anomaly_score,
    normalize_anomaly_score
)


model = train_anomaly_model(
    "data/ml_features.csv"
)


# Normal traffic
normal_request = [
    1,  # request_count
    0,  # high_velocity
    0,  # duplicate
    0,  # geo_mismatch
    0   # bad_ua
]


# Suspicious traffic
suspicious_request = [
    3,  # request_count
    1,  # high_velocity
    1,  # duplicate
    1,  # geo_mismatch
    1   # bad_ua
]


normal_score = get_anomaly_score(
    model,
    normal_request
)

suspicious_score = get_anomaly_score(
    model,
    suspicious_request
)


print("Normal request anomaly score:", normal_score)
print("Suspicious request anomaly score:", suspicious_score)

normal_risk = normalize_anomaly_score(normal_score)
suspicious_risk = normalize_anomaly_score(suspicious_score)

print("Normal request ML risk:", normal_risk)
print("Suspicious request ML risk:", suspicious_risk)