Skip to main content

rusticity_term/
sqs.rs

1pub mod pipe;
2pub mod queue;
3pub mod sub;
4pub mod tag;
5pub mod trigger;
6
7use std::collections::HashMap;
8
9pub use pipe::EventBridgePipe;
10pub use queue::Queue;
11pub use sub::SnsSubscription;
12pub use tag::QueueTag;
13pub use trigger::LambdaTrigger;
14
15pub fn init(i18n: &mut HashMap<String, String>) {
16    queue::init(i18n);
17    trigger::init(i18n);
18    pipe::init(i18n);
19    tag::init(i18n);
20    sub::init(i18n);
21}
22
23pub fn console_url_queues(region: &str) -> String {
24    format!(
25        "https://{}.console.aws.amazon.com/sqs/v3/home?region={}#/queues",
26        region, region
27    )
28}
29
30pub fn console_url_queue_detail(region: &str, queue_url: &str) -> String {
31    let encoded_url = urlencoding::encode(queue_url);
32    format!(
33        "https://{}.console.aws.amazon.com/sqs/v3/home?region={}#/queues/{}",
34        region, region, encoded_url
35    )
36}
37
38#[cfg(test)]
39mod tests {
40    use super::*;
41
42    #[test]
43    fn test_console_url_queues() {
44        assert_eq!(
45            console_url_queues("us-east-1"),
46            "https://us-east-1.console.aws.amazon.com/sqs/v3/home?region=us-east-1#/queues"
47        );
48    }
49
50    #[test]
51    fn test_console_url_queue_detail() {
52        let url = "https://sqs.us-east-1.amazonaws.com/654654343159/MyTest";
53        assert_eq!(
54            console_url_queue_detail("us-east-1", url),
55            "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"
56        );
57    }
58}