Search in sources :

Example 1 with RulesDefinition

use of org.sonar.api.server.rule.RulesDefinition in project sonar-web by SonarSource.

the class WebSensorTest method setUp.

@Before
public void setUp() throws Exception {
    WebRulesDefinition rulesDefinition = new WebRulesDefinition();
    RulesDefinition.Context context = new RulesDefinition.Context();
    rulesDefinition.define(context);
    RulesDefinition.Repository repository = context.repository(WebRulesDefinition.REPOSITORY_KEY);
    List<NewActiveRule> ar = new ArrayList<>();
    for (RulesDefinition.Rule rule : repository.rules()) {
        ar.add(new ActiveRulesBuilder().create(RuleKey.of(WebRulesDefinition.REPOSITORY_KEY, rule.key())));
    }
    ActiveRules activeRules = new DefaultActiveRules(ar);
    CheckFactory checkFactory = new CheckFactory(activeRules);
    FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class);
    when(fileLinesContextFactory.createFor(Mockito.any(InputFile.class))).thenReturn(mock(FileLinesContext.class));
    sensor = new WebSensor(new NoSonarFilter(), fileLinesContextFactory, checkFactory);
    tester = SensorContextTester.create(TEST_DIR);
}
Also used : FileLinesContext(org.sonar.api.measures.FileLinesContext) ActiveRulesBuilder(org.sonar.api.batch.rule.internal.ActiveRulesBuilder) DefaultActiveRules(org.sonar.api.batch.rule.internal.DefaultActiveRules) NoSonarFilter(org.sonar.api.issue.NoSonarFilter) FileLinesContextFactory(org.sonar.api.measures.FileLinesContextFactory) ArrayList(java.util.ArrayList) InputFile(org.sonar.api.batch.fs.InputFile) DefaultInputFile(org.sonar.api.batch.fs.internal.DefaultInputFile) RulesDefinition(org.sonar.api.server.rule.RulesDefinition) WebRulesDefinition(org.sonar.plugins.web.rules.WebRulesDefinition) NewActiveRule(org.sonar.api.batch.rule.internal.NewActiveRule) DefaultActiveRules(org.sonar.api.batch.rule.internal.DefaultActiveRules) ActiveRules(org.sonar.api.batch.rule.ActiveRules) CheckFactory(org.sonar.api.batch.rule.CheckFactory) WebRulesDefinition(org.sonar.plugins.web.rules.WebRulesDefinition) FileLinesContext(org.sonar.api.measures.FileLinesContext) Before(org.junit.Before)

Example 2 with RulesDefinition

use of org.sonar.api.server.rule.RulesDefinition in project sonarqube by SonarSource.

the class RuleDefinitionsLoader method load.

public RulesDefinition.Context load() {
    RulesDefinition.Context context = new RulesDefinitionContext();
    for (RulesDefinition pluginDefinition : pluginDefs) {
        context.setCurrentPluginKey(serverPluginRepository.getPluginKey(pluginDefinition));
        pluginDefinition.define(context);
    }
    context.setCurrentPluginKey(null);
    coreCommonDefs.define(context);
    return context;
}
Also used : RulesDefinition(org.sonar.api.server.rule.RulesDefinition) RulesDefinitionContext(org.sonar.api.impl.server.RulesDefinitionContext)

Example 3 with RulesDefinition

use of org.sonar.api.server.rule.RulesDefinition in project sonarqube by SonarSource.

the class RegisterRulesTest method execute.

private void execute(RulesDefinition... defs) {
    ServerPluginRepository pluginRepository = mock(ServerPluginRepository.class);
    when(pluginRepository.getPluginKey(any(RulesDefinition.class))).thenReturn(FAKE_PLUGIN_KEY);
    RuleDefinitionsLoader loader = new RuleDefinitionsLoader(mock(CommonRuleDefinitionsImpl.class), pluginRepository, defs);
    Languages languages = mock(Languages.class);
    when(languages.get(any())).thenReturn(mock(Language.class));
    reset(webServerRuleFinder);
    RegisterRules task = new RegisterRules(loader, qProfileRules, dbClient, ruleIndexer, activeRuleIndexer, languages, system, webServerRuleFinder, uuidFactory, metadataIndex);
    task.start();
    // Execute a commit to refresh session state as the task is using its own session
    db.getSession().commit();
    verify(webServerRuleFinder).startCaching();
}
Also used : RulesDefinition(org.sonar.api.server.rule.RulesDefinition) Language(org.sonar.api.resources.Language) ServerPluginRepository(org.sonar.server.plugins.ServerPluginRepository) Languages(org.sonar.api.resources.Languages)

Example 4 with RulesDefinition

use of org.sonar.api.server.rule.RulesDefinition in project sonarqube by SonarSource.

the class ScannerMediumTester method addRules.

public ScannerMediumTester addRules(RulesDefinition rulesDefinition) {
    RulesDefinition.Context context = new RulesDefinitionContext();
    rulesDefinition.define(context);
    List<Repository> repositories = context.repositories();
    for (Repository repo : repositories) {
        for (RulesDefinition.Rule rule : repo.rules()) {
            this.addRule(rule.key(), rule.repository().key(), rule.internalKey(), rule.name());
        }
    }
    return this;
}
Also used : SingleProjectRepository(org.sonar.scanner.repository.SingleProjectRepository) MetricsRepository(org.sonar.scanner.repository.MetricsRepository) Repository(org.sonar.api.server.rule.RulesDefinition.Repository) RulesDefinition(org.sonar.api.server.rule.RulesDefinition) RulesDefinitionContext(org.sonar.api.impl.server.RulesDefinitionContext)

Example 5 with RulesDefinition

use of org.sonar.api.server.rule.RulesDefinition in project sonar-web by SonarSource.

the class HtmlSensorTest method setUp.

@Before
public void setUp() {
    HtmlRulesDefinition rulesDefinition = new HtmlRulesDefinition();
    RulesDefinition.Context context = new RulesDefinition.Context();
    rulesDefinition.define(context);
    RulesDefinition.Repository repository = context.repository(HtmlRulesDefinition.REPOSITORY_KEY);
    List<NewActiveRule> ar = new ArrayList<>();
    for (RulesDefinition.Rule rule : repository.rules()) {
        ar.add(new NewActiveRule.Builder().setRuleKey(RuleKey.of(HtmlRulesDefinition.REPOSITORY_KEY, rule.key())).build());
    }
    ActiveRules activeRules = new DefaultActiveRules(ar);
    CheckFactory checkFactory = new CheckFactory(activeRules);
    FileLinesContextFactory fileLinesContextFactory = mock(FileLinesContextFactory.class);
    when(fileLinesContextFactory.createFor(Mockito.any(InputFile.class))).thenReturn(mock(FileLinesContext.class));
    final SonarRuntime sonarRuntime = SonarRuntimeImpl.forSonarQube(Version.create(8, 9), SonarQubeSide.SCANNER, SonarEdition.COMMUNITY);
    sensor = new HtmlSensor(sonarRuntime, new NoSonarFilter(), fileLinesContextFactory, checkFactory);
    tester = SensorContextTester.create(TEST_DIR).setRuntime(sonarRuntime);
}
Also used : FileLinesContext(org.sonar.api.measures.FileLinesContext) DefaultActiveRules(org.sonar.api.batch.rule.internal.DefaultActiveRules) HtmlRulesDefinition(org.sonar.plugins.html.rules.HtmlRulesDefinition) NoSonarFilter(org.sonar.api.issue.NoSonarFilter) FileLinesContextFactory(org.sonar.api.measures.FileLinesContextFactory) ArrayList(java.util.ArrayList) InputFile(org.sonar.api.batch.fs.InputFile) DefaultInputFile(org.sonar.api.batch.fs.internal.DefaultInputFile) RulesDefinition(org.sonar.api.server.rule.RulesDefinition) HtmlRulesDefinition(org.sonar.plugins.html.rules.HtmlRulesDefinition) NewActiveRule(org.sonar.api.batch.rule.internal.NewActiveRule) DefaultActiveRules(org.sonar.api.batch.rule.internal.DefaultActiveRules) ActiveRules(org.sonar.api.batch.rule.ActiveRules) CheckFactory(org.sonar.api.batch.rule.CheckFactory) SonarRuntime(org.sonar.api.SonarRuntime) FileLinesContext(org.sonar.api.measures.FileLinesContext) Before(org.junit.Before)

Aggregations

RulesDefinition (org.sonar.api.server.rule.RulesDefinition)5 ArrayList (java.util.ArrayList)2 Before (org.junit.Before)2 InputFile (org.sonar.api.batch.fs.InputFile)2 DefaultInputFile (org.sonar.api.batch.fs.internal.DefaultInputFile)2 ActiveRules (org.sonar.api.batch.rule.ActiveRules)2 CheckFactory (org.sonar.api.batch.rule.CheckFactory)2 DefaultActiveRules (org.sonar.api.batch.rule.internal.DefaultActiveRules)2 NewActiveRule (org.sonar.api.batch.rule.internal.NewActiveRule)2 RulesDefinitionContext (org.sonar.api.impl.server.RulesDefinitionContext)2 NoSonarFilter (org.sonar.api.issue.NoSonarFilter)2 FileLinesContext (org.sonar.api.measures.FileLinesContext)2 FileLinesContextFactory (org.sonar.api.measures.FileLinesContextFactory)2 SonarRuntime (org.sonar.api.SonarRuntime)1 ActiveRulesBuilder (org.sonar.api.batch.rule.internal.ActiveRulesBuilder)1 Language (org.sonar.api.resources.Language)1 Languages (org.sonar.api.resources.Languages)1 Repository (org.sonar.api.server.rule.RulesDefinition.Repository)1 HtmlRulesDefinition (org.sonar.plugins.html.rules.HtmlRulesDefinition)1 WebRulesDefinition (org.sonar.plugins.web.rules.WebRulesDefinition)1