uda_connector/
configuration.rs

1use derive_getters::Getters;
2use url::Url;
3
4#[derive(Debug, Getters)]
5pub struct Configuration {
6    instances_list_url: Url,
7}
8
9impl Configuration {
10    pub fn new(instances_list_url: String) -> Self {
11        let instances_list_url = Url::parse(&instances_list_url).expect("Invalid URL supplied");
12        Self { instances_list_url }
13    }
14}
15
16#[cfg(test)]
17mod tests {
18    use super::*;
19
20    #[test]
21    fn build_with_valid_url() {
22        Configuration::new("https://reg.unicycling-software.com/tenants?locale=en".to_owned());
23    }
24
25    #[test]
26    #[should_panic(expected = "Invalid URL supplied")]
27    fn build_with_invalid_url() {
28        Configuration::new("123456".to_owned());
29    }
30}