@Test public void no_rules() { RulesBuilder builder = new RulesBuilder(); Rules rules = builder.build(); assertThat(rules.findAll()).isEmpty(); }
private static Rules load(RulesLoader ref) { Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG); List<Rule> loadedRules = ref.load(); RulesBuilder builder = new RulesBuilder(); for (Rule r : loadedRules) { NewRule newRule = builder.add(RuleKey.of(r.getRepository(), r.getKey())); newRule.setName(r.getName()); newRule.setInternalKey(r.getInternalKey()); } profiler.stopInfo(); return builder.build(); } }
@Test public void fail_to_add_twice_the_same_rule() { RulesBuilder builder = new RulesBuilder(); builder.add(RuleKey.of("squid", "S0001")); thrown.expect(IllegalStateException.class); thrown.expectMessage("Rule 'squid:S0001' already exists"); builder.add(RuleKey.of("squid", "S0001")); }
@Before public void before() throws Exception { moduleHierarchy = mock(InputModuleHierarchy.class); File projectBaseDir = temp.newFolder(); fs = new DefaultFileSystem(projectBaseDir.toPath()); SIMPLE_DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+02:00")); when(server.getVersion()).thenReturn("3.6"); ProjectDefinition def = ProjectDefinition.create().setBaseDir(projectBaseDir).setWorkDir(temp.newFolder()).setKey("struts"); DefaultInputProject project = new DefaultInputProject(def, 1); InputComponentStore inputComponentStore = new InputComponentStore(mock(BranchConfiguration.class)); DefaultInputFile inputFile = new TestInputFileBuilder("struts", "src/main/java/org/apache/struts/Action.java") .setModuleBaseDir(projectBaseDir.toPath()).build(); inputFile.setStatus(InputFile.Status.CHANGED); inputFile.setPublished(true); inputComponentStore.put("struts", inputFile); RulesBuilder builder = new RulesBuilder(); builder.add(RuleKey.of("squid", "AvoidCycles")).setName("Avoid Cycles"); rules = builder.build(); jsonReport = new JSONReport(settings.asConfig(), fs, server, rules, issueCache, project, inputComponentStore); }
@Test public void build_rules() { RulesBuilder builder = new RulesBuilder(); NewRule newSquid1 = builder.add(RuleKey.of("squid", "S0001")); newSquid1.setName("Detect bug");
@Test public void fail_to_add_twice_the_same_param() { RulesBuilder builder = new RulesBuilder(); NewRule newRule = builder.add(RuleKey.of("squid", "S0001")); newRule.addParam("min"); newRule.addParam("max"); thrown.expect(IllegalStateException.class); thrown.expectMessage("Parameter 'min' already exists on rule 'squid:S0001'"); newRule.addParam("min"); } }
public Rules provide(Sonarlint.Rules storageRules) { if (rules == null) { RulesBuilder builder = new RulesBuilder(); for (Map.Entry<String, Sonarlint.Rules.Rule> entry : storageRules.getRulesByKeyMap().entrySet()) { Sonarlint.Rules.Rule r = entry.getValue(); NewRule newRule = builder.add(RuleKey.of(r.getRepo(), r.getKey())) .setName(r.getName()) .setInternalKey(r.getInternalKey()) .setSeverity(r.getSeverity()) .setDescription(r.getHtmlDesc()); if (StringUtils.isNotEmpty(r.getType())) { newRule.setType(r.getType()); } } rules = builder.build(); } return rules; }
private static Rules load(RulesLoader ref) { Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG); List<Rule> loadedRules = ref.load(); RulesBuilder builder = new RulesBuilder(); for (Rule r : loadedRules) { NewRule newRule = builder.add(RuleKey.of(r.getRepository(), r.getKey())); newRule.setName(r.getName()); newRule.setInternalKey(r.getInternalKey()); } profiler.stopInfo(); return builder.build(); } }
private static Rules load(RulesLoader ref) { Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG); MutableBoolean fromCache = new MutableBoolean(); List<Rule> loadedRules = ref.load(fromCache); RulesBuilder builder = new RulesBuilder(); for (Rule r : loadedRules) { NewRule newRule = builder.add(RuleKey.of(r.getRepository(), r.getKey())); newRule.setName(r.getName()); newRule.setInternalKey(r.getInternalKey()); } profiler.stopInfo(fromCache.booleanValue()); return builder.build(); } }
private Rules load(RuleDao ruleDao, DefaultDebtModel debtModel, Durations durations) { RulesBuilder rulesBuilder = new RulesBuilder(); List<RuleParamDto> ruleParamDtos = ruleDao.selectParameters(); ListMultimap<Integer, RuleParamDto> paramDtosByRuleId = ArrayListMultimap.create(); for (RuleParamDto dto : ruleParamDtos) { paramDtosByRuleId.put(dto.getRuleId(), dto); } for (RuleDto ruleDto : ruleDao.selectEnablesAndNonManual()) { RuleKey ruleKey = RuleKey.of(ruleDto.getRepositoryKey(), ruleDto.getRuleKey()); NewRule newRule = rulesBuilder.add(ruleKey) .setId(ruleDto.getId()) .setName(ruleDto.getName()) .setSeverity(ruleDto.getSeverityString()) .setDescription(ruleDto.getDescription()) .setStatus(ruleDto.getStatus()) .setInternalKey(ruleDto.getConfigKey()); if (hasCharacteristic(ruleDto)) { newRule.setDebtSubCharacteristic(effectiveCharacteristic(ruleDto, ruleKey, debtModel).key()); newRule.setDebtRemediationFunction(effectiveFunction(ruleDto, ruleKey, durations)); } for (RuleParamDto ruleParamDto : paramDtosByRuleId.get(ruleDto.getId())) { newRule.addParam(ruleParamDto.getName()) .setDescription(ruleParamDto.getDescription()); } } return rulesBuilder.build(); }
private static Rules createRules(StandaloneRuleDefinitionsLoader pluginRulesLoader) { RulesBuilder builder = new RulesBuilder(); for (RulesDefinition.Repository repoDef : pluginRulesLoader.getContext().repositories()) { for (RulesDefinition.Rule ruleDef : repoDef.rules()) { if (ruleDef.type() == RuleType.SECURITY_HOTSPOT) { continue; } NewRule newRule = builder.add(RuleKey.of(ruleDef.repository().key(), ruleDef.key())) .setInternalKey(ruleDef.internalKey()) .setDescription(ruleDef.htmlDescription() != null ? ruleDef.htmlDescription() : Markdown.convertToHtml(ruleDef.markdownDescription())) .setSeverity(ruleDef.severity()) .setType(ruleDef.type() != null ? ruleDef.type().toString() : null) .setName(ruleDef.name()); for (Param p : ruleDef.params()) { newRule.addParam(p.key()) .setDescription(p.description()); } } } return builder.build(); } }