@@ -19,6 +19,7 @@ | |||
*/ | |||
package org.sonar.server.rule.ws; | |||
import com.google.common.io.Resources; | |||
import java.util.ArrayList; | |||
import java.util.Collections; | |||
import java.util.List; | |||
@@ -81,6 +82,7 @@ public class CreateAction implements RulesWsAction { | |||
.setPost(true) | |||
.setDescription("Create a custom rule.<br>" + | |||
"Requires the 'Administer Quality Profiles' permission") | |||
.setResponseExample(Resources.getResource(getClass(), "example-create.json")) | |||
.setSince("4.4") | |||
.setChangelog( | |||
new Change("5.5", "Creating manual rule is not more possible")) |
@@ -20,6 +20,7 @@ | |||
package org.sonar.server.rule.ws; | |||
import com.google.common.base.Splitter; | |||
import com.google.common.io.Resources; | |||
import java.util.ArrayList; | |||
import java.util.Collections; | |||
import java.util.List; | |||
@@ -92,6 +93,7 @@ public class UpdateAction implements RulesWsAction { | |||
WebService.NewAction action = controller | |||
.createAction("update") | |||
.setPost(true) | |||
.setResponseExample(Resources.getResource(getClass(), "example-update.json")) | |||
.setDescription("Update an existing rule.<br>" + | |||
"Requires the 'Administer Quality Profiles' permission") | |||
.setSince("4.4") |
@@ -0,0 +1,28 @@ | |||
{ | |||
"rule":{ | |||
"key":"squid:forbidSonar", | |||
"repo":"squid", | |||
"name":"forbidSonar", | |||
"createdAt":"2018-06-06T16:04:28+0200", | |||
"htmlDesc":"Forbid classes with name starting with Sonar", | |||
"mdDesc":"Forbid classes with name starting with Sonar", | |||
"severity":"MAJOR", | |||
"status":"READY", | |||
"isTemplate":false, | |||
"templateKey":"squid:S3688", | |||
"sysTags":[], | |||
"lang":"java", | |||
"langName":"Java", | |||
"params":[ | |||
{ | |||
"key":"className", | |||
"htmlDesc":"Fully qualified name of the forbidden class. Use a regex to forbid a package.", | |||
"defaultValue":"**/Sonar*", | |||
"type":"STRING" | |||
} | |||
], | |||
"scope":"MAIN", | |||
"isExternal":false, | |||
"type":"CODE_SMELL" | |||
} | |||
} |
@@ -0,0 +1,30 @@ | |||
{ | |||
"rule":{ | |||
"key":"squid:forbidSonar", | |||
"repo":"squid", | |||
"name":"forbidSonar", | |||
"createdAt":"2018-06-06T16:09:09+0200", | |||
"htmlDesc":"Forbid classes with name starting with Sonar", | |||
"mdDesc":"Forbid classes with name starting with Sonar", | |||
"severity":"MAJOR", | |||
"status":"READY", | |||
"isTemplate":false, | |||
"templateKey":"squid:S3688", | |||
"tags":[], | |||
"sysTags":[], | |||
"lang":"java", | |||
"langName":"Java", | |||
"params":[ | |||
{ | |||
"key":"className", | |||
"htmlDesc":"Fully qualified name of the forbidden class. Use a regex to forbid a package.", | |||
"defaultValue":"**/Sonar*","type":"STRING" | |||
} | |||
], | |||
"debtOverloaded":false, | |||
"remFnOverloaded":false, | |||
"scope":"MAIN", | |||
"isExternal":false, | |||
"type":"CODE_SMELL" | |||
} | |||
} |
@@ -80,6 +80,14 @@ public class CreateActionTest { | |||
new RuleMapper(new Languages(), createMacroInterpreter()), | |||
new RuleWsSupport(db.getDbClient(), userSession, defaultOrganizationProvider))); | |||
@Test | |||
public void check_definition() { | |||
assertThat(ws.getDef().isPost()).isTrue(); | |||
assertThat(ws.getDef().isInternal()).isFalse(); | |||
assertThat(ws.getDef().responseExampleAsString()).isNotNull(); | |||
assertThat(ws.getDef().description()).isNotNull(); | |||
} | |||
@Test | |||
public void create_custom_rule() { | |||
logInAsQProfileAdministrator(); |
@@ -99,6 +99,14 @@ public class UpdateActionTest { | |||
private WsAction underTest = new UpdateAction(dbClient, ruleUpdater, mapper, userSession, new RuleWsSupport(db.getDbClient(), userSession, defaultOrganizationProvider)); | |||
private WsActionTester ws = new WsActionTester(underTest); | |||
@Test | |||
public void check_definition() { | |||
assertThat(ws.getDef().isPost()).isTrue(); | |||
assertThat(ws.getDef().isInternal()).isFalse(); | |||
assertThat(ws.getDef().responseExampleAsString()).isNotNull(); | |||
assertThat(ws.getDef().description()).isNotNull(); | |||
} | |||
@Test | |||
public void update_custom_rule() { | |||
logInAsQProfileAdministrator(); |