summaryrefslogtreecommitdiff
path: root/user-info/src/lib.rs
blob: bd5ff42607ea7ea50e2e635589c970b165a1e389 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use nix::unistd::{getuid, User};

pub fn get_username() -> Option<String> {
    let uid = getuid();
    User::from_uid(uid).ok().flatten().map(|user| user.name)
}

#[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);
    }
}