summaryrefslogtreecommitdiff
path: root/user-info
diff options
context:
space:
mode:
Diffstat (limited to 'user-info')
-rw-r--r--user-info/Cargo.toml7
-rw-r--r--user-info/src/lib.rs37
2 files changed, 0 insertions, 44 deletions
diff --git a/user-info/Cargo.toml b/user-info/Cargo.toml
deleted file mode 100644
index 63a3f7c..0000000
--- a/user-info/Cargo.toml
+++ /dev/null
@@ -1,7 +0,0 @@
-[package]
-name = "user-info"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
-nix = { version = "0.26.2", default-features = false, features = ["user"] }
diff --git a/user-info/src/lib.rs b/user-info/src/lib.rs
deleted file mode 100644
index 7a42db9..0000000
--- a/user-info/src/lib.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-use nix::unistd::{getgroups, getuid, Group, User};
-
-pub fn get_username() -> Option<String> {
- let uid = getuid();
- User::from_uid(uid).ok().flatten().map(|user| user.name)
-}
-
-pub fn get_user_groups() -> Vec<String> {
- let gids = getgroups().unwrap_or(Vec::default());
- gids.into_iter()
- .filter_map(|gid| Group::from_gid(gid).ok().flatten())
- .map(|group| group.name)
- .collect()
-}
-
-#[cfg(test)]
-mod test {
- use super::*;
-
- #[test]
- fn it_returns_a_username() {
- // We can't get too specific here because this is your actual username,
- // but we at lease expect it to be some string, not None.
- let username = get_username();
- let username_len = username.unwrap().trim().len();
- assert!(username_len > 0);
- }
-
- #[test]
- fn it_returns_some_groups() {
- let groups = get_user_groups();
- assert!(groups.len() > 0);
- for group in groups {
- assert!(group.trim().len() > 0);
- }
- }
-}