chiark / gitweb /
sshkeys: Test banner and static handling
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Jun 2021 16:41:04 +0000 (17:41 +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 1bdb05f0972ae22d317d2e53c0f20074bd898857..292bfe3409dfe7fb6371b0d302490063d4135b7d 100644 (file)
@@ -211,13 +211,27 @@ impl Ctx {
     )?);
     self.otter(&command)?;
 
-    let dummy_key_path = ds.subst("@src@/apitest/dummy.pub")?;
-    let ds = ds.also(&[("dummy_key_path", &dummy_key_path)]);
+    let ds = ds.also(&[
+      ("dummy_key_path", ds.subst("@src@/apitest/dummy.pub")?),
+      ("authkeys", ds.subst("@abstmp@/authorized_keys")?),
+    ]);
+
+    static STATIC_TEST: &str = "# example static data -- for test\n";
 
-    self.otter(&ds.gss(
+    File::create(ds.subst("@authkeys@")?)?
+      .write(STATIC_TEST.as_bytes())?;
+
+    let set_keys = ds.gss(
       "--super --account ssh:test: set-ssh-keys \
        @dummy_key_path@"
-    )?)?;
+    )?;
+
+    self.otter(&set_keys).expect_err("auth keys has static");
+
+    fs::rename(ds.subst("@authkeys@")?,
+               ds.subst("@authkeys@.static")?)?;
+
+    self.otter(&set_keys)?;
   }
 }