chiark / gitweb /
sshkeys: Tests a restricted command, refactor
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Jun 2021 17:00:04 +0000 (18:00 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Jun 2021 17:37:21 +0000 (18:37 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
apitest/at-otter.rs

index 009266c1274df80b0231f0ca160437b4ee09c3c1..45171e1bd8a82972a40b31bb9de11fb47c50ef57 100644 (file)
@@ -246,16 +246,20 @@ impl Ctx {
                 .lines().nth(2).unwrap().unwrap(),
                 STATIC_TEST.strip_suffix("\n").unwrap() );
 
-    let mut command = ds.gss(
-      "--account ssh:test: \
-       --ssh nowhere \
-       list-accounts"
-    )?;
-    command.insert(0, ds.subst(
-      "--ssh-command=@src@/apitest/mock-ssh-restricted \
-                     @authkeys@ '@dummy_key_data@'"
-    )?);
-    self.otter(&command)?;
+    let mk_restricted = |account|{
+      let mut command = ds.also(&[("account",account)]).gss(
+        "--account @account@ \
+         --ssh nowhere \
+         list-accounts"
+      )?;
+      command.insert(0, ds.subst(
+        "--ssh-command=@src@/apitest/mock-ssh-restricted \
+         @authkeys@ '@dummy_key_data@'"
+      )?);
+      Ok::<_,Explode>(command)
+    };
+
+    self.otter(&mk_restricted("ssh:test:")?)?;
   }
 }