aboutsummaryrefslogtreecommitdiffstats
path: root/it/it-tests
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2016-12-12 17:52:19 +0100
committerJulien Lancelot <julien.lancelot@sonarsource.com>2016-12-13 16:15:07 +0100
commit548d182e257e940a9016123922c9fa6ce510d415 (patch)
tree972d9fadbe444b2e12af412f07190bcf84b622ab /it/it-tests
parent90f6238d3434a2dcfb1ac85f7a253c0cd41ede86 (diff)
downloadsonarqube-548d182e257e940a9016123922c9fa6ce510d415.tar.gz
sonarqube-548d182e257e940a9016123922c9fa6ce510d415.zip
SONAR-7290 Add changelog action in IssueClient from ws-client
Diffstat (limited to 'it/it-tests')
-rw-r--r--it/it-tests/src/test/java/it/authorisation/IssuePermissionTest.java12
-rw-r--r--it/it-tests/src/test/java/it/issue/IssueChangelogTest.java70
-rw-r--r--it/it-tests/src/test/java/it/qualityModel/TechnicalDebtInIssueChangelogTest.java19
3 files changed, 46 insertions, 55 deletions
diff --git a/it/it-tests/src/test/java/it/authorisation/IssuePermissionTest.java b/it/it-tests/src/test/java/it/authorisation/IssuePermissionTest.java
index 0ae2fa15ce0..93a7e418939 100644
--- a/it/it-tests/src/test/java/it/authorisation/IssuePermissionTest.java
+++ b/it/it-tests/src/test/java/it/authorisation/IssuePermissionTest.java
@@ -33,6 +33,7 @@ import org.sonar.wsclient.issue.BulkChangeQuery;
import org.sonar.wsclient.issue.Issue;
import org.sonar.wsclient.issue.IssueQuery;
import org.sonar.wsclient.user.UserParameters;
+import org.sonarqube.ws.Issues;
import org.sonarqube.ws.client.WsClient;
import org.sonarqube.ws.client.permission.AddUserWsRequest;
import org.sonarqube.ws.client.permission.RemoveGroupWsRequest;
@@ -40,6 +41,7 @@ import org.sonarqube.ws.client.permission.RemoveGroupWsRequest;
import static junit.framework.TestCase.fail;
import static org.assertj.core.api.Assertions.assertThat;
import static util.ItUtils.newAdminWsClient;
+import static util.ItUtils.newUserWsClient;
import static util.ItUtils.projectDir;
public class IssuePermissionTest {
@@ -122,14 +124,14 @@ public class IssuePermissionTest {
// Without user permission, a user cannot see issue changelog on the project
try {
- orchestrator.getServer().wsClient(withoutBrowsePermission, "password").issueClient().changes(issue.key());
+ changelog(issue.key(), withoutBrowsePermission, "password");
fail();
} catch (Exception e) {
- assertThat(e).isInstanceOf(HttpException.class).describedAs("404");
+ assertThat(e).isInstanceOf(org.sonarqube.ws.client.HttpException.class).describedAs("403");
}
// Without user permission, a user cannot see issues on the project
- assertThat(orchestrator.getServer().wsClient(withBrowsePermission, "password").issueClient().changes(issue.key())).isNotEmpty();
+ assertThat(changelog(issue.key(), withBrowsePermission, "password").getChangelogList()).isNotEmpty();
} finally {
client.userClient().deactivate(withBrowsePermission);
@@ -242,4 +244,8 @@ public class IssuePermissionTest {
.setProjectKey(projectKey)
.setPermission(permission));
}
+
+ private static Issues.ChangelogWsResponse changelog(String issueKey, String login, String password) {
+ return newUserWsClient(orchestrator, login, password).issues().changelog(issueKey);
+ }
}
diff --git a/it/it-tests/src/test/java/it/issue/IssueChangelogTest.java b/it/it-tests/src/test/java/it/issue/IssueChangelogTest.java
index f4a1d58b038..75a0c78d6be 100644
--- a/it/it-tests/src/test/java/it/issue/IssueChangelogTest.java
+++ b/it/it-tests/src/test/java/it/issue/IssueChangelogTest.java
@@ -24,12 +24,14 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.wsclient.issue.Issue;
-import org.sonar.wsclient.issue.IssueChange;
-import org.sonar.wsclient.issue.IssueChangeDiff;
+import org.sonarqube.ws.Issues;
+import org.sonarqube.ws.Issues.ChangelogWsResponse.Changelog;
import util.ProjectAnalysis;
import util.ProjectAnalysisRule;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.tuple;
+import static util.ItUtils.newAdminWsClient;
public class IssueChangelogTest extends AbstractIssueTest {
@@ -54,16 +56,14 @@ public class IssueChangelogTest extends AbstractIssueTest {
adminIssueClient().assign(issue.key(), "admin");
- List<IssueChange> changes = retrieveChangeForIssue(issue.key());
+ List<Changelog> changes = changelog(issue.key()).getChangelogList();
assertThat(changes).hasSize(1);
- IssueChange change = changes.get(0);
- assertThat(change.user()).isEqualTo("admin");
- assertThat(change.creationDate()).isNotNull();
- assertThat(change.diffs()).hasSize(1);
- IssueChangeDiff changeDiff = change.diffs().get(0);
- assertThat(changeDiff.key()).isEqualTo("assignee");
- assertThat(changeDiff.oldValue()).isNull();
- assertThat(changeDiff.newValue()).isEqualTo("Administrator");
+ Changelog change = changes.get(0);
+ assertThat(change.getUser()).isEqualTo("admin");
+ assertThat(change.getCreationDate()).isNotNull();
+ assertThat(change.getDiffsList())
+ .extracting(Changelog.Diff::getKey, Changelog.Diff::hasOldValue, Changelog.Diff::getNewValue)
+ .containsOnly(tuple("assignee", false, "Administrator"));
}
@Test
@@ -74,48 +74,32 @@ public class IssueChangelogTest extends AbstractIssueTest {
adminIssueClient().doTransition(issue.key(), "resolve");
xooSampleAnalysis.run();
- List<IssueChange> changes = retrieveChangeForIssue(issue.key());
+ List<Changelog> changes = changelog(issue.key()).getChangelogList();
assertThat(changes).hasSize(2);
// Change done by the user (first change is be the oldest one)
- IssueChange change1 = changes.get(0);
- assertThat(change1.user()).isEqualTo("admin");
- assertThat(change1.creationDate()).isNotNull();
- assertThat(change1.diffs()).hasSize(2);
-
- IssueChangeDiff change1Diff1 = change1.diffs().get(0);
- assertThat(change1Diff1.key()).isEqualTo("resolution");
- assertThat(change1Diff1.oldValue()).isNull();
- assertThat(change1Diff1.newValue()).isEqualTo("FIXED");
-
- IssueChangeDiff change1Diff2 = change1.diffs().get(1);
- assertThat(change1Diff2.key()).isEqualTo("status");
- assertThat(change1Diff2.oldValue()).isEqualTo("OPEN");
- assertThat(change1Diff2.newValue()).isEqualTo("RESOLVED");
+ Changelog change1 = changes.get(0);
+ assertThat(change1.getUser()).isEqualTo("admin");
+ assertThat(change1.getCreationDate()).isNotNull();
+ assertThat(change1.getDiffsList())
+ .extracting(Changelog.Diff::getKey, Changelog.Diff::getOldValue, Changelog.Diff::getNewValue)
+ .containsOnly(tuple("resolution", "", "FIXED"), tuple("status", "OPEN", "RESOLVED"));
// Change done by scan
- IssueChange change2 = changes.get(1);
- assertThat(change2.user()).isNull();
- assertThat(change2.creationDate()).isNotNull();
- assertThat(change2.diffs()).hasSize(2);
-
- IssueChangeDiff changeDiff1 = change2.diffs().get(0);
- assertThat(changeDiff1.key()).isEqualTo("resolution");
- assertThat(changeDiff1.oldValue()).isNull();
- assertThat(changeDiff1.newValue()).isNull();
-
- IssueChangeDiff changeDiff2 = change2.diffs().get(1);
- assertThat(changeDiff2.key()).isEqualTo("status");
- assertThat(changeDiff2.oldValue()).isEqualTo("RESOLVED");
- assertThat(changeDiff2.newValue()).isEqualTo("REOPENED");
+ Changelog change2 = changes.get(1);
+ assertThat(change2.hasUser()).isFalse();
+ assertThat(change2.getCreationDate()).isNotNull();
+ assertThat(change2.getDiffsList())
+ .extracting(Changelog.Diff::getKey, Changelog.Diff::getOldValue, Changelog.Diff::getNewValue)
+ .containsOnly(tuple("resolution", "", ""), tuple("status", "RESOLVED", "REOPENED"));
}
private void assertIssueHasNoChange(String issueKey) {
- assertThat(retrieveChangeForIssue(issueKey)).isEmpty();
+ assertThat(changelog(issueKey).getChangelogList()).isEmpty();
}
- private List<IssueChange> retrieveChangeForIssue(String issueKey) {
- return issueClient().changes(issueKey);
+ private static Issues.ChangelogWsResponse changelog(String issueKey) {
+ return newAdminWsClient(ORCHESTRATOR).issues().changelog(issueKey);
}
}
diff --git a/it/it-tests/src/test/java/it/qualityModel/TechnicalDebtInIssueChangelogTest.java b/it/it-tests/src/test/java/it/qualityModel/TechnicalDebtInIssueChangelogTest.java
index f64abe6a5ce..ab44372993f 100644
--- a/it/it-tests/src/test/java/it/qualityModel/TechnicalDebtInIssueChangelogTest.java
+++ b/it/it-tests/src/test/java/it/qualityModel/TechnicalDebtInIssueChangelogTest.java
@@ -29,12 +29,13 @@ import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.sonar.wsclient.issue.Issue;
-import org.sonar.wsclient.issue.IssueChange;
-import org.sonar.wsclient.issue.IssueChangeDiff;
import org.sonar.wsclient.issue.IssueClient;
import org.sonar.wsclient.issue.IssueQuery;
+import org.sonarqube.ws.Issues;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.tuple;
+import static util.ItUtils.newAdminWsClient;
import static util.ItUtils.projectDir;
/**
@@ -71,16 +72,16 @@ public class TechnicalDebtInIssueChangelogTest {
IssueClient issueClient = orchestrator.getServer().wsClient().issueClient();
Issue issue = issueClient.find(IssueQuery.create()).list().get(0);
- List<IssueChange> changes = issueClient.changes(issue.key());
+ List<Issues.ChangelogWsResponse.Changelog> changes = changelog(issue.key()).getChangelogList();
assertThat(changes).hasSize(1);
- IssueChange change = changes.get(0);
+ assertThat(changes.get(0).getDiffsList())
+ .extracting(Issues.ChangelogWsResponse.Changelog.Diff::getKey, Issues.ChangelogWsResponse.Changelog.Diff::getOldValue, Issues.ChangelogWsResponse.Changelog.Diff::getNewValue)
+ .containsOnly(tuple("effort", "10", "100"));
+ }
- assertThat(change.diffs()).hasSize(1);
- IssueChangeDiff changeDiff = change.diffs().get(0);
- assertThat(changeDiff.key()).isEqualTo("effort");
- assertThat(changeDiff.oldValue()).isEqualTo("10");
- assertThat(changeDiff.newValue()).isEqualTo("100");
+ private static Issues.ChangelogWsResponse changelog(String issueKey) {
+ return newAdminWsClient(orchestrator).issues().changelog(issueKey);
}
}