### Question:
BlocklangJsonValidator { public static Set<ValidationMessage> run(JsonNode jsonNode) { Assert.notNull(jsonNode, "jsonNode 的值不能为 null"); String repo = jsonNode.get("repo").asText(); JsonSchema jsonSchema = getJsonSchema(repo); if(jsonSchema == null) { return Collections.emptySet(); } return jsonSchema.validate(jsonNode); }  static Set<ValidationMessage> run(JsonNode jsonNode);  }### Answer:
@Test public void run_json_node_is_null() { assertThrows(IllegalArgumentException.class, () -> BlocklangJsonValidator.run(null)); }
@Test public void run_ide_repo_config_success() throws IOException { String content = StreamUtils.copyToString(getClass().getResourceAsStream("widget_ide_repo_config.json"), Charset.defaultCharset()); assertThat(BlocklangJsonValidator.run(JsonUtil.readTree(content))).isEmpty(); }
@Test public void run_ide_repo_config_failed() throws IOException { String content = StreamUtils.copyToString(getClass().getResourceAsStream("widget_ide_repo_config_invalid.json"), Charset.defaultCharset()); assertThat(BlocklangJsonValidator.run(JsonUtil.readTree(content))).hasSize(2); }