return db.qualityProfileDao().selectByProjectAndLanguages(session, projectKey, languageKeys);
}
- QualityProfileDto getByNameAndLanguage(String name, String language) {
- DbSession dbSession = db.openSession(false);
- try {
- return getByNameAndLanguage(dbSession, name, language);
- } finally {
- dbSession.close();
- }
- }
-
@CheckForNull
public QualityProfileDto getByNameAndLanguage(DbSession session, String name, String language) {
return db.qualityProfileDao().selectByNameAndLanguage(name, language, session);
}
@VisibleForTesting
- Change(String key, String type, long at, @Nullable String severity, @Nullable String userLogin, @Nullable String userName, @Nullable String inheritance, @Nullable RuleKey ruleKey, @Nullable String ruleName) {
+ Change(String key, String type, long at, @Nullable String severity, @Nullable String userLogin,
+ @Nullable String userName, @Nullable String inheritance, @Nullable RuleKey ruleKey, @Nullable String ruleName) {
this.key = key;
this.type = type;
this.at = at;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.sonar.api.server.rule.RuleParamType;
-import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.DbClient;
import org.sonar.db.DbSession;
import org.sonar.db.RowNotFoundException;
-import org.sonar.db.component.ComponentDto;
-import org.sonar.db.component.ComponentTesting;
import org.sonar.db.qualityprofile.QualityProfileDto;
import org.sonar.db.rule.RuleDto;
import org.sonar.db.rule.RuleParamDto;
import org.sonar.server.rule.index.RuleIndex;
import org.sonar.server.rule.index.RuleIndexer;
import org.sonar.server.rule.index.RuleQuery;
-import org.sonar.server.tester.MockUserSession;
import org.sonar.server.tester.ServerTester;
import org.sonar.server.tester.UserSessionRule;
factory.setDefault(XOO_P1_KEY);
}
- @Test
- public void get_profile_by_project_and_language() {
- ComponentDto project = ComponentTesting.newProjectDto("ABCD")
- .setId(1L)
- .setKey("org.codehaus.sonar:sonar");
- db.componentDao().insert(dbSession, project);
-
- QualityProfileDto profileDto = QProfileTesting.newXooP1();
- db.qualityProfileDao().insert(dbSession, profileDto);
- dbSession.commit();
- dbSession.clearCache();
- assertThat(factory.getByProjectAndLanguage("org.codehaus.sonar:sonar", "xoo")).isNull();
-
- tester.get(QProfileProjectOperations.class).addProject(profileDto.getKey(), project.uuid(),
- new MockUserSession("me").setGlobalPermissions(GlobalPermissions.QUALITY_PROFILE_ADMIN), dbSession);
- dbSession.commit();
- dbSession.clearCache();
- assertThat(factory.getByProjectAndLanguage("org.codehaus.sonar:sonar", "xoo").getKey()).isEqualTo(XOO_P1_KEY);
- }
-
- @Test
- public void get_profile_by_name_and_language() {
- QualityProfileDto profileDto = QProfileTesting.newQProfileDto(new QProfileName("xoo", "SonarQube way"), "abcd");
- db.qualityProfileDao().insert(dbSession, profileDto);
- dbSession.commit();
- dbSession.clearCache();
-
- assertThat(factory.getByNameAndLanguage("SonarQube way", "xoo").getKey()).isEqualTo("abcd");
- assertThat(factory.getByNameAndLanguage("SonarQube way", "java")).isNull();
- assertThat(factory.getByNameAndLanguage("Unfound", "xoo")).isNull();
- }
-
private void initRules() {
// create pre-defined rules
RuleDto xooRule1 = RuleTesting.newXooX1();