Skip to main content

rusticity_term/
sqs.rs

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