import org.junit.ClassRule;
import org.junit.Test;
import org.sonarqube.ws.QualityProfiles;
-import org.sonarqube.ws.client.WsClient;
import org.sonarqube.ws.client.qualityprofile.SearchWsRequest;
import util.ItUtils;
import static org.assertj.core.api.Assertions.assertThat;
-import static util.ItUtils.newAdminWsClient;
public class QualityProfilesRestoreAndSearchTest {
@ClassRule
public static Orchestrator orchestrator = Category4Suite.ORCHESTRATOR;
- public WsClient adminWsClient = newAdminWsClient(orchestrator);
@Before
public void init() {
public void restore_and_search_in_default_organization() {
ItUtils.restoreProfile(orchestrator, getClass().getResource("/authorisation/one-issue-per-line-profile.xml"));
QualityProfiles.SearchWsResponse results = ItUtils.newAdminWsClient(orchestrator).qualityProfiles().search(new SearchWsRequest());
- System.out.println(results.getProfilesList());
assertThat(results.getProfilesList())
.filteredOn(result -> "xoo".equals(result.getLanguage()))
.filteredOn(result -> "one-issue-per-line".equals(result.getName()))
}
public static void restoreProfile(Orchestrator orchestrator, URL resource, String organization) {
- newAdminWsClient(orchestrator)
- .qualityProfiles()
- .restoreProfile(
- RestoreWsRequest.builder()
- .setBackup(resourceToFile(resource))
- .setOrganization(organization)
- .build());
- }
-
- private static File resourceToFile(URL resource) {
URI uri;
try {
uri = resource.toURI();
} catch (URISyntaxException e) {
throw new IllegalArgumentException("Cannot find quality profile xml file '" + resource + "' in classpath");
}
- return new File(uri);
+ newAdminWsClient(orchestrator)
+ .qualityProfiles()
+ .restoreProfile(
+ RestoreWsRequest.builder()
+ .setBackup(new File(uri))
+ .setOrganization(organization)
+ .build());
}
public static class ComponentNavigation {