/* * Coverity Sonar Plugin * Copyright (c) 2017 Synopsys, Inc * support@coverity.com * * All rights reserved. This program and the accompanying materials are made * available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html. */ package org.sonar.plugins.coverity.server; import edu.emory.mathcs.backport.java.util.Collections; import org.junit.Test; import org.sonar.api.server.rule.RulesDefinition; import org.sonar.api.server.rule.RulesDefinitionXmlLoader; import org.sonar.plugins.coverity.CoverityPlugin; import java.util.List; import java.util.stream.Collectors; import static org.junit.Assert.*; public class CoverityRulesTest { @Test public void defineAddsRepositoryForLanguages() { final RulesDefinition.Context context = new RulesDefinition.Context(); final RulesDefinitionXmlLoader xmlLoader = new RulesDefinitionXmlLoader(); CoverityRules rules = new CoverityRules(xmlLoader); rules.define(context); final List<RulesDefinition.Repository> repositoryList = context.repositories(); assertNotNull(repositoryList); assertEquals(CoverityPlugin.COVERITY_LANGUAGES.size(), repositoryList.size()); List<String> expectedRepositoryKeys = CoverityPlugin.COVERITY_LANGUAGES.stream().map(l->CoverityPlugin.REPOSITORY_KEY + "-" + l).collect(Collectors.toList()); List<String> repositoryKeys = repositoryList.stream().map(r->r.key()).collect(Collectors.toList()); Collections.sort(expectedRepositoryKeys); Collections.sort(repositoryKeys); assertArrayEquals(expectedRepositoryKeys.toArray(), repositoryKeys.toArray()); List<String> expectedRepositoryNames = CoverityPlugin.COVERITY_LANGUAGES.stream().map(l-> "coverity-" + l).collect(Collectors.toList()); List<String> repositoryNames = repositoryList.stream().map(r->r.name()).collect(Collectors.toList()); Collections.sort(expectedRepositoryNames); Collections.sort(repositoryNames); assertArrayEquals(expectedRepositoryNames.toArray(), repositoryNames.toArray()); } }