package bench.reachability.micronautguard; import java.io.*; import java.util.*; import java.util.Base64; public class ControllerTest { private static String serialize(Object obj) throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try (ObjectOutputStream oos = new ObjectOutputStream(bos)) { oos.writeObject(obj); } return Base64.getEncoder().encodeToString(bos.toByteArray()); } public static void main(String[] args) throws Exception { Map body = Map.of("payload", serialize("blocked")); Map env = Map.of("ALLOW_MN_DESER", "false"); var res = Controller.handleUpload(body, env); assert res.status() == 403 : "status"; assert res.body().equals("forbidden") : "body"; File outDir = new File("outputs"); outDir.mkdirs(); try (FileWriter fw = new FileWriter(new File(outDir, "SINK_BLOCKED"))) { fw.write("true"); } } }