use of org.sonarqube.ws.client.PostRequest in project sonarqube by SonarSource.
the class QualityGateNotificationTest method status_on_metric_variation_and_send_notifications.
@Test
public void status_on_metric_variation_and_send_notifications() throws Exception {
setServerProperty(orchestrator, "email.smtp_host.secured", "localhost");
setServerProperty(orchestrator, "email.smtp_port.secured", Integer.toString(smtpServer.getServer().getPort()));
// Create user, who will receive notifications for new violations
userRule.createUser("tester", "Tester", "tester@example.org", "tester");
// Send test email to the test user
newAdminWsClient(orchestrator).wsConnector().call(new PostRequest("api/emails/send").setParam("to", "test@example.org").setParam("message", "This is a test message from SonarQube")).failIfNotSuccessful();
// Add notifications to the test user
WsClient wsClient = newUserWsClient(orchestrator, "tester", "tester");
wsClient.wsConnector().call(new PostRequest("api/notifications/add").setParam("type", "NewAlerts").setParam("channel", "EmailNotificationChannel")).failIfNotSuccessful();
// Create quality gate with conditions on variations
QualityGate simple = qgClient().create("SimpleWithDifferential");
qgClient().setDefault(simple.id());
qgClient().createCondition(NewCondition.create(simple.id()).metricKey("ncloc").period(1).operator("EQ").warningThreshold("0"));
SonarScanner analysis = SonarScanner.create(projectDir("qualitygate/xoo-sample"));
orchestrator.executeBuild(analysis);
assertThat(getGateStatusMeasure().getValue()).isEqualTo("OK");
orchestrator.executeBuild(analysis);
assertThat(getGateStatusMeasure().getValue()).isEqualTo("WARN");
qgClient().unsetDefault();
qgClient().destroy(simple.id());
waitUntilAllNotificationsAreDelivered(smtpServer);
Iterator<WiserMessage> emails = smtpServer.getMessages().iterator();
MimeMessage message = emails.next().getMimeMessage();
assertThat(message.getHeader("To", null)).isEqualTo("<test@example.org>");
assertThat((String) message.getContent()).contains("This is a test message from SonarQube");
assertThat(emails.hasNext()).isTrue();
message = emails.next().getMimeMessage();
assertThat(message.getHeader("To", null)).isEqualTo("<tester@example.org>");
assertThat((String) message.getContent()).contains("Quality gate status: Orange (was Green)");
assertThat((String) message.getContent()).contains("Quality gate threshold: Lines of Code variation = 0 since previous analysis");
assertThat((String) message.getContent()).contains("/dashboard/index/sample");
assertThat(emails.hasNext()).isFalse();
}
use of org.sonarqube.ws.client.PostRequest in project sonarqube by SonarSource.
the class ProjectsPageTest method should_add_tag_to_facet.
@Test
public void should_add_tag_to_facet() {
// Add some tags to this project
wsClient.wsConnector().call(new PostRequest("api/project_tags/set").setParam("project", PROJECT_KEY).setParam("tags", "aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,zz"));
ProjectsPage page = nav.openProjects();
page.getFacetByProperty("tags").shouldHaveValue("aa", "1").shouldHaveValue("ii", "1").selectOptionItem("zz").shouldHaveValue("zz", "1");
}
use of org.sonarqube.ws.client.PostRequest in project sonarqube by SonarSource.
the class ProjectQualityGatePageTest method setUp.
@Before
public void setUp() {
ORCHESTRATOR.resetData();
wsClient.wsConnector().call(new PostRequest("api/projects/create").setParam("name", "Sample").setParam("key", "sample"));
}
use of org.sonarqube.ws.client.PostRequest in project sonarqube by SonarSource.
the class IssuesServiceTest method bulk_change.
@Test
public void bulk_change() {
underTest.bulkChange(BulkChangeRequest.builder().setIssues(asList("ABCD", "EFGH")).setAssign("john").setSetSeverity("MAJOR").setSetType("bugs").setDoTransition("confirm").setAddTags(asList("tag1", "tag2")).setRemoveTags(asList("tag3", "tag4")).setComment("some comment").setSendNotifications(true).build());
PostRequest request = serviceTester.getPostRequest();
assertThat(serviceTester.getPostParser()).isSameAs(Issues.BulkChangeWsResponse.parser());
serviceTester.assertThat(request).hasParam("issues", "ABCD,EFGH").hasParam("assign", "john").hasParam("set_severity", "MAJOR").hasParam("set_type", "bugs").hasParam("do_transition", "confirm").hasParam("add_tags", "tag1,tag2").hasParam("remove_tags", "tag3,tag4").hasParam("comment", "some comment").hasParam("sendNotifications", "true").andNoOtherParam();
}
use of org.sonarqube.ws.client.PostRequest in project sonarqube by SonarSource.
the class IssuesServiceTest method delete_comment.
@Test
public void delete_comment() {
underTest.deleteComment("ABCD");
PostRequest request = serviceTester.getPostRequest();
assertThat(serviceTester.getPostParser()).isSameAs(Issues.Operation.parser());
serviceTester.assertThat(request).hasParam("comment", "ABCD").andNoOtherParam();
}
Aggregations