1pub mod crypto;
2pub mod csv;
3pub mod db;
4pub mod records;
5pub mod store;
6pub mod testing;
7
8pub use records::{
9 default_metadata, default_secrets, key, new_tag, new_tags, secrets_from_user_pass,
10 DecryptedRecord, EncryptedRecord, Metadata, Secrets, Status, Tag,
11};
12
13pub fn version() -> versions::SemVer {
16 versions::SemVer::new(env!("CARGO_PKG_VERSION"))
17 .expect("CARGO_PKG_VERSION must be valid semver format")
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn test_version() {
26 let version = version();
27 assert_eq!(version.major, 0);
28 assert!(version.minor >= 10);
29 }
30
31 #[test]
32 fn test_reexports() {
33 let secrets = default_secrets();
35 assert_eq!(secrets.user, "");
36
37 let secrets2 = secrets_from_user_pass("user", "pass");
38 assert_eq!(secrets2.user, "user");
39
40 let metadata = default_metadata();
41 assert!(!metadata.name.is_empty() || metadata.name.is_empty());
42
43 let tag = new_tag("test".to_string());
44 assert_eq!(tag.value, "test");
45
46 let tags = new_tags(vec!["t1".to_string(), "t2".to_string()]);
47 assert_eq!(tags.len(), 2);
48 }
49}