swagger_utils/
lib.rs

1extern crate serde;
2#[macro_use]
3extern crate serde_derive;
4extern crate serde_yaml;
5
6mod common;
7mod definitions;
8mod paths;
9
10use definitions::Definitions;
11use paths::Paths;
12
13#[derive(Debug, PartialEq, Deserialize)]
14pub struct Swagger {
15    #[serde(rename = "swagger")]
16    spec: Option<String>,
17    definitions: Option<Definitions>,
18    paths: Option<Paths>,
19}
20
21#[cfg(test)]
22mod tests {
23    extern crate yaml_rust;
24    use std::fs::File;
25    use std::path::PathBuf;
26    use Swagger;
27
28    #[test]
29    fn load_test_yaml() {
30        let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
31        path.push("src/test.yaml");
32        let file = File::open(path.to_str().unwrap()).unwrap();
33        let root: Swagger = serde_yaml::from_reader(&file).unwrap();
34        assert!(root.paths.unwrap().len() > 0);
35        assert!(root.definitions.unwrap().len() > 0);
36    }
37}