Refine search
@Test public void constructor_reads_parameters_from_DB() { DbClient dbClient = mock(DbClient.class); DbSession dbSession = mock(DbSession.class); RuleDao ruleDao = mock(RuleDao.class); when(dbClient.openSession(anyBoolean())).thenReturn(dbSession); when(dbClient.ruleDao()).thenReturn(ruleDao); List<RuleKey> ruleKeys = Arrays.asList(RuleKey.of("A", "B"), RuleKey.of("C", "D"), RuleKey.of("E", "F")); when(ruleDao.selectAllDefinitions(dbSession)).thenReturn(ruleKeys.stream().map(RuleTesting::newRule).collect(toList())); new CachingRuleFinder(dbClient); verify(ruleDao).selectRuleParamsByRuleKeys(dbSession, ImmutableSet.copyOf(ruleKeys)); }
@Test public void test_compareTo() { RuleKey aa = RuleKey.of("A", "A"); RuleKey ab = RuleKey.of("A", "B"); assertThat(ab).isGreaterThan(aa); assertThat(aa).isLessThan(ab); assertThat(aa).isNotEqualTo(ab); assertThat(ab).isNotEqualTo(aa); assertThat(aa).isEqualTo(aa); assertThat(ab).isEqualTo(ab); } }
@Test public void test_equals_and_hashcode() throws Exception { RuleKey key1 = RuleKey.of("squid", "NullDeref"); RuleKey key2 = RuleKey.of("squid", "NullDeref"); RuleKey key3 = RuleKey.of("squid", "Other"); assertThat(key1).isEqualTo(key1); assertThat(key1).isEqualTo(key2); assertThat(key1).isNotEqualTo(key3); assertThat(key1).isNotEqualTo(null); assertThat(key1.hashCode()).isEqualTo(key1.hashCode()); assertThat(key1.hashCode()).isEqualTo(key2.hashCode()); }
@Test public void testRepeatedRule() { List<NewRule> newRules = new LinkedList<>(); newRules.add(createRule("key", "repo", "internal")); newRules.add(createRule("key", "repo", "internal")); DefaultRules rules = new DefaultRules(newRules); assertThat(rules.find(RuleKey.of("repo", "key"))).isNotNull(); }
@Test public void import_rules_with_deprecated_quality_model_format() throws Exception { String xml = getFileContent("import_rules_with_deprecated_quality_model_format.xml"); List<RuleDebt> results = underTest.importXML(xml, validationMessages); assertThat(results).extracting("ruleKey").containsOnly(RuleKey.of("javasquid", "rule1"), RuleKey.of("javasquid", "rule2")); assertThat(validationMessages.getErrors()).isEmpty(); assertThat(validationMessages.getWarnings()).isEmpty(); }
@Test public void import_rules() throws Exception { String xml = getFileContent("import_rules.xml"); List<RuleDebt> results = underTest.importXML(xml, validationMessages); assertThat(results).extracting("ruleKey").containsOnly(RuleKey.of("javasquid", "rule1"), RuleKey.of("javasquid", "rule2")); assertThat(validationMessages.getErrors()).isEmpty(); assertThat(validationMessages.getWarnings()).isEmpty(); }
@Test public void testRepeatedInternalKey() { List<NewRule> newRules = new LinkedList<>(); newRules.add(createRule("key1", "repo", "internal")); newRules.add(createRule("key2", "repo", "internal")); DefaultRules rules = new DefaultRules(newRules); assertThat(rules.findByInternalKey("repo", "internal")).hasSize(2); assertThat(rules.find(RuleKey.of("repo", "key1"))).isNotNull(); assertThat(rules.find(RuleKey.of("repo", "key2"))).isNotNull(); assertThat(rules.findByRepository("repo")).hasSize(2); }
@Test public void import_linear() throws Exception { String xml = getFileContent("import_linear.xml"); List<RuleDebt> results = underTest.importXML(xml, validationMessages); assertThat(results).hasSize(1); RuleDebt ruleDebt = results.get(0); assertThat(ruleDebt.ruleKey()).isEqualTo(RuleKey.of("checkstyle", "Regexp")); assertThat(ruleDebt.function()).isEqualTo(DebtRemediationFunction.Type.LINEAR.name()); assertThat(ruleDebt.coefficient()).isEqualTo("3h"); assertThat(ruleDebt.offset()).isNull(); }
@Test public void import_linear_having_offset_to_zero() throws Exception { String xml = getFileContent("import_linear_having_offset_to_zero.xml"); List<RuleDebt> results = underTest.importXML(xml, validationMessages); assertThat(results).hasSize(1); RuleDebt ruleDebt = results.get(0); assertThat(ruleDebt.ruleKey()).isEqualTo(RuleKey.of("checkstyle", "Regexp")); assertThat(ruleDebt.function()).isEqualTo(DebtRemediationFunction.Type.LINEAR.name()); assertThat(ruleDebt.coefficient()).isEqualTo("3h"); assertThat(ruleDebt.offset()).isNull(); }
@Test public void import_badly_formatted_xml() throws Exception { String xml = getFileContent("import_badly_formatted_xml.xml"); List<RuleDebt> results = underTest.importXML(xml, validationMessages); assertThat(results).hasSize(1); RuleDebt ruleDebt = results.get(0); assertThat(ruleDebt.ruleKey()).isEqualTo(RuleKey.of("checkstyle", "Regexp")); assertThat(ruleDebt.function()).isEqualTo(DebtRemediationFunction.Type.LINEAR.name()); assertThat(ruleDebt.coefficient()).isEqualTo("3h"); assertThat(ruleDebt.offset()).isNull(); }
@Test public void selectDefinitionByKeys() { RuleDefinitionDto rule = db.rules().insert(); assertThat(underTest.selectDefinitionByKeys(db.getSession(), Collections.emptyList())).isEmpty(); assertThat(underTest.selectDefinitionByKeys(db.getSession(), asList(RuleKey.of("NOT", "FOUND")))).isEmpty(); List<RuleDefinitionDto> rules = underTest.selectDefinitionByKeys(db.getSession(), asList(rule.getKey(), RuleKey.of("java", "OTHER"))); assertThat(rules).hasSize(1); assertThat(rules.get(0).getId()).isEqualTo(rule.getId()); }
@Test public void selectDefinitionByKey() { RuleDefinitionDto rule = db.rules().insert(); assertThat(underTest.selectDefinitionByKey(db.getSession(), RuleKey.of("NOT", "FOUND")).isPresent()).isFalse(); Optional<RuleDefinitionDto> reloaded = underTest.selectDefinitionByKey(db.getSession(), rule.getKey()); assertThat(reloaded.isPresent()).isTrue(); }
@Test public void testNonExistingKey() { List<NewRule> newRules = new LinkedList<>(); newRules.add(createRule("key1", "repo", "internal")); newRules.add(createRule("key2", "repo", "internal")); DefaultRules rules = new DefaultRules(newRules); assertThat(rules.findByInternalKey("xx", "xx")).hasSize(0); assertThat(rules.find(RuleKey.of("xxx", "xx"))).isNull(); assertThat(rules.findByRepository("xxxx")).hasSize(0); }