chiark / gitweb /
apitest: Provide Session::api_with_piece_op
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 27 Feb 2021 19:28:44 +0000 (19:28 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 27 Feb 2021 19:33:32 +0000 (19:33 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
apitest/at-otter.rs

index 58eb893a7835ba70b7d6abc273bf8e49b4c932e2..b99309a82332ddd4b437ae28c0cfb49e07fcbafd 100644 (file)
@@ -222,6 +222,14 @@ impl Session {
     ensure_eq!(resp.status(), 200);
   }
 
+  #[throws(AE)]
+  fn api_with_piece_op(&mut self, su: &SetupCore, piece: &str,
+                       opname: &str, op: serde_json::Value) {
+    self.api_piece_op(su, piece, "grab", json!({}))?;
+    self.api_piece_op(su, piece, "m", op)?;
+    self.api_piece_op(su, piece, "ungrab", json!({}))?;
+  }
+
   #[throws(AE)]
   fn await_update<
     R,
@@ -293,9 +301,7 @@ impl Ctx {
     dbg!(&llm);
 
     for (llm, pos) in izip!(&llm, [PosC([5,5]), PosC([50,25])].iter()) {
-      session.api_piece_op(&self.su, &llm.id, "grab", json!({}))?;
-      session.api_piece_op(&self.su, &llm.id, "m", json![pos.0])?;
-      session.api_piece_op(&self.su, &llm.id, "ungrab", json!({}))?;
+      session.api_with_piece_op(&self.su, &llm.id, "m", json![pos.0])?;
     }
 
     session.synch(&mut self.su)?;