use of org.sonarqube.ws.QualityProfiles.SearchWsResponse.QualityProfile in project sonarqube by SonarSource.
the class QualityProfileProvider method provide.
public ModuleQProfiles provide(ProjectKey projectKey, QualityProfileLoader loader, ProjectRepositories projectRepositories, AnalysisProperties props) {
if (this.profiles == null) {
List<QualityProfile> profileList;
Profiler profiler = Profiler.create(LOG).startInfo(LOG_MSG);
if (!projectRepositories.exists()) {
profileList = loader.loadDefault(getSonarProfile(props));
} else {
profileList = loader.load(projectKey.get(), getSonarProfile(props));
}
profiler.stopInfo();
profiles = new ModuleQProfiles(profileList);
}
return profiles;
}
use of org.sonarqube.ws.QualityProfiles.SearchWsResponse.QualityProfile in project sonarlint-core by SonarSource.
the class QualityProfilesDownloader method fetchQualityProfiles.
public QProfiles fetchQualityProfiles() {
QProfiles.Builder qProfileBuilder = QProfiles.newBuilder();
String searchUrl = DEFAULT_QP_SEARCH_URL;
if (wsClient.getOrganizationKey() != null) {
searchUrl += "?organization=" + StringUtils.urlEncode(wsClient.getOrganizationKey());
}
try (InputStream contentStream = wsClient.get(searchUrl).contentStream()) {
SearchWsResponse qpResponse = QualityProfiles.SearchWsResponse.parseFrom(contentStream);
for (QualityProfile qp : qpResponse.getProfilesList()) {
QProfile.Builder qpBuilder = QProfile.newBuilder();
qpBuilder.setKey(qp.getKey());
qpBuilder.setName(qp.getName());
qpBuilder.setLanguage(qp.getLanguage());
qpBuilder.setLanguageName(qp.getLanguageName());
qpBuilder.setActiveRuleCount(qp.getActiveRuleCount());
qpBuilder.setRulesUpdatedAt(qp.getRulesUpdatedAt());
qpBuilder.setUserUpdatedAt(qp.getUserUpdatedAt());
qProfileBuilder.putQprofilesByKey(qp.getKey(), qpBuilder.build());
if (qp.getIsDefault()) {
qProfileBuilder.putDefaultQProfilesByLanguage(qp.getLanguage(), qp.getKey());
}
}
} catch (IOException e) {
throw new IllegalStateException("Failed to load default quality profiles", e);
}
return qProfileBuilder.build();
}
use of org.sonarqube.ws.QualityProfiles.SearchWsResponse.QualityProfile in project sonarqube by SonarSource.
the class DefaultQualityProfileLoaderTest method createStreamOfProfiles.
private static InputStream createStreamOfProfiles(String... names) throws IOException {
ByteArrayOutputStream os = new ByteArrayOutputStream();
Qualityprofiles.SearchWsResponse.Builder responseBuilder = Qualityprofiles.SearchWsResponse.newBuilder();
for (String n : names) {
QualityProfile qp = QualityProfile.newBuilder().setKey(n).setName(n).setLanguage("lang").build();
responseBuilder.addProfiles(qp);
}
responseBuilder.build().writeTo(os);
return new ByteArrayInputStream(os.toByteArray());
}
use of org.sonarqube.ws.QualityProfiles.SearchWsResponse.QualityProfile in project sonarqube by SonarSource.
the class ActiveRulesProviderTest method mockProfiles.
private static QualityProfiles mockProfiles(String... keys) {
List<QualityProfile> profiles = new LinkedList<>();
for (String k : keys) {
QualityProfile p = QualityProfile.newBuilder().setKey(k).setLanguage(k).setRulesUpdatedAt(DateUtils.formatDateTime(new Date())).build();
profiles.add(p);
}
return new QualityProfiles(profiles);
}
use of org.sonarqube.ws.QualityProfiles.SearchWsResponse.QualityProfile in project sonarqube by SonarSource.
the class SearchActionTest method actions_when_user_can_edit_profile.
@Test
public void actions_when_user_can_edit_profile() {
QProfileDto profile1 = db.qualityProfiles().insert(p -> p.setLanguage(XOO1.getKey()));
QProfileDto profile2 = db.qualityProfiles().insert(p -> p.setLanguage(XOO2.getKey()));
QProfileDto profile3 = db.qualityProfiles().insert(p -> p.setLanguage(XOO2.getKey()));
QProfileDto builtInProfile = db.qualityProfiles().insert(p -> p.setLanguage(XOO2.getKey()).setIsBuiltIn(true));
UserDto user = db.users().insertUser();
GroupDto group = db.users().insertGroup();
db.qualityProfiles().addUserPermission(profile1, user);
db.qualityProfiles().addGroupPermission(profile3, group);
userSession.logIn(user).setGroups(group);
SearchWsResponse result = call(ws.newRequest());
assertThat(result.getProfilesList()).extracting(QualityProfile::getKey, qp -> qp.getActions().getEdit(), qp -> qp.getActions().getCopy(), qp -> qp.getActions().getSetAsDefault(), qp -> qp.getActions().getDelete(), qp -> qp.getActions().getAssociateProjects()).containsExactlyInAnyOrder(tuple(profile1.getKee(), true, false, false, true, true), tuple(profile2.getKee(), false, false, false, false, false), tuple(profile3.getKee(), true, false, false, true, true), tuple(builtInProfile.getKee(), false, false, false, false, false));
assertThat(result.getActions().getCreate()).isFalse();
}
Aggregations