rusticity-term 0.1.5

Terminal UI components for Rusticity
Documentation
pub mod pipe;
pub mod queue;
pub mod sub;
pub mod tag;
pub mod trigger;

use std::collections::HashMap;

pub use pipe::EventBridgePipe;
pub use queue::Queue;
pub use sub::SnsSubscription;
pub use tag::QueueTag;
pub use trigger::LambdaTrigger;

pub fn init(i18n: &mut HashMap<String, String>) {
    queue::init(i18n);
    trigger::init(i18n);
    pipe::init(i18n);
    tag::init(i18n);
    sub::init(i18n);
}

pub fn console_url_queues(region: &str) -> String {
    format!(
        "https://{}.console.aws.amazon.com/sqs/v3/home?region={}#/queues",
        region, region
    )
}

pub fn console_url_queue_detail(region: &str, queue_url: &str) -> String {
    let encoded_url = urlencoding::encode(queue_url);
    format!(
        "https://{}.console.aws.amazon.com/sqs/v3/home?region={}#/queues/{}",
        region, region, encoded_url
    )
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_console_url_queues() {
        assert_eq!(
            console_url_queues("us-east-1"),
            "https://us-east-1.console.aws.amazon.com/sqs/v3/home?region=us-east-1#/queues"
        );
    }

    #[test]
    fn test_console_url_queue_detail() {
        let url = "https://sqs.us-east-1.amazonaws.com/654654343159/MyTest";
        assert_eq!(
            console_url_queue_detail("us-east-1", url),
            "https://us-east-1.console.aws.amazon.com/sqs/v3/home?region=us-east-1#/queues/https%3A%2F%2Fsqs.us-east-1.amazonaws.com%2F654654343159%2FMyTest"
        );
    }
}