road-runner-common 0.11.0

Shared Rust utilities for exchange ecosystem backend services.
Documentation
use road_runner_common::capabilities;

#[test]
fn all_contains_every_known_capability_in_canonical_order() {
    // Arrange / Act
    let all = capabilities::ALL;

    // Assert
    assert_eq!(
        all,
        &[
            capabilities::ACCOUNT_READ,
            capabilities::SPOT_TRADE,
            capabilities::DEPOSIT_CRYPTO,
            capabilities::WITHDRAW_CRYPTO,
            capabilities::TRANSFER_INTERNAL,
            capabilities::API_ACCESS,
            capabilities::EARN_STAKE,
            capabilities::FIAT_DEPOSIT,
            capabilities::FIAT_WITHDRAW,
        ]
    );
}

#[test]
fn validation_distinguishes_known_default_and_fiat_capabilities() {
    // Arrange / Act / Assert
    assert!(capabilities::is_valid(capabilities::ACCOUNT_READ));
    assert!(capabilities::is_default_on(capabilities::ACCOUNT_READ));
    assert!(capabilities::is_valid(capabilities::FIAT_DEPOSIT));
    assert!(!capabilities::is_default_on(capabilities::FIAT_DEPOSIT));
    assert!(!capabilities::is_valid("unknown.capability"));
}