carapax 0.36.0

A Telegram Bot Framework
Documentation
use crate::types::Update;

use super::*;

#[tokio::test]
async fn in_memory_access_policy() {
    let policy = InMemoryAccessPolicy::from(vec![AccessRule::allow_user(1)]);

    let update_granted: Update = serde_json::from_value(serde_json::json!(
        {
            "update_id": 1,
            "message": {
                "message_id": 1111,
                "date": 0,
                "from": {"id": 1, "is_bot": false, "first_name": "test"},
                "chat": {"id": 1, "type": "private", "first_name": "test"},
                "text": "test",
            }
        }
    ))
    .unwrap();
    let input_granted = HandlerInput::from(update_granted);
    assert!(policy.is_granted(input_granted).await.unwrap());

    let update_forbidden: Update = serde_json::from_value(serde_json::json!(
        {
            "update_id": 1,
            "message": {
                "message_id": 1111,
                "date": 0,
                "from": {"id": 2, "is_bot": false, "first_name": "test"},
                "chat": {"id": 1, "type": "private", "first_name": "test"},
                "text": "test",
            }
        }
    ))
    .unwrap();
    let input_forbidden = HandlerInput::from(update_forbidden);
    assert!(!policy.is_granted(input_forbidden).await.unwrap());
}