test(sysctl): extend controller tests

This commit is contained in:
Orhun Parmaksız 2021-12-18 21:38:49 +03:00
parent 39774c5d2a
commit bb98de15cf
No known key found for this signature in database
GPG key ID: F83424824B3E4B90
2 changed files with 52 additions and 0 deletions

View file

@ -62,6 +62,13 @@ jobs:
name: Run tests
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
--no-install-recommends \
--allow-unauthenticated linux-doc
- name: Checkout the repository
uses: actions/checkout@v2

View file

@ -130,16 +130,61 @@ impl Sysctl {
#[cfg(test)]
mod tests {
use super::*;
use crate::parsers::KERNEL_DOCS_PATH;
#[test]
fn test_sysctl_controller() -> Result<()> {
let config = Config::default();
let mut sysctl = Sysctl::init(config)?;
assert!(sysctl.get_parameter("kernel.hostname").is_some());
assert!(sysctl.get_parameter("unexisting.param").is_none());
assert_eq!(
"Linux",
sysctl.get_parameters("ostype").first().unwrap().value
);
assert!(sysctl.get_parameters("---").is_empty());
for path in KERNEL_DOCS_PATH.iter() {
if path.exists() {
sysctl.update_docs(&path)?;
}
}
let parameter = sysctl.get_parameter("kernel.hostname").unwrap().clone();
let old_value = parameter.docs_title;
let parameters = sysctl.parameters.clone();
sysctl
.parameters
.iter_mut()
.find(|param| param.name == parameter.name)
.unwrap()
.docs_title = String::from("-");
sysctl.update_params(parameters);
assert_eq!(
old_value,
sysctl
.parameters
.iter_mut()
.find(|param| param.name == parameter.name)
.unwrap()
.docs_title
);
assert!(sysctl
.get_parameter("vm.zone_reclaim_mode")
.unwrap()
.description
.as_ref()
.unwrap()
.contains("zone_reclaim_mode is disabled by default."));
assert!(sysctl
.get_parameter("user.max_user_namespaces")
.unwrap()
.description
.as_ref()
.unwrap()
.contains("The maximum number of user namespaces"));
Ok(())
}