@Test public void update_custom_rule() throws Exception { // Template rule RuleDto templateRule = ruleDao.insert(session, RuleTesting.newTemplateRule(RuleKey.of("java", "S001"))); RuleParamDto param = RuleParamDto.createFor(templateRule) .setName("regex") .setType("STRING") .setDescription("Reg ex") .setDefaultValue(".*"); ruleDao.insertRuleParam(session, templateRule, param); session.commit(); // Custom rule NewRule newRule = NewRule.createForCustomRule("MY_CUSTOM", templateRule.getKey()) .setName("Old custom") .setHtmlDescription("Old description") .setSeverity(Severity.MINOR) .setStatus(RuleStatus.BETA) .setParameters(ImmutableMap.of("regex", "a")); RuleKey customRuleKey = ruleService.create(newRule); session.clearCache(); WsTester.TestRequest request = wsTester .newPostRequest("api/rules", "update") .setParam("key", customRuleKey.toString()) .setParam("name", "My custom rule") .setParam("markdown_description", "Description") .setParam("severity", "MAJOR") .setParam("status", "BETA") .setParam("params", "regex=a.*"); request.execute().assertJson(getClass(), "update_custom_rule.json"); }