summaryrefslogtreecommitdiffstats
path: root/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java')
-rw-r--r--gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java129
1 files changed, 88 insertions, 41 deletions
diff --git a/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java b/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java
index 9f2ccbf0e0..98b0b4a448 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/rules/GerritCommonTest.java
@@ -14,68 +14,115 @@
package com.google.gerrit.rules;
-import com.google.gerrit.common.data.ApprovalType;
-import com.google.gerrit.common.data.ApprovalTypes;
-import com.google.gerrit.reviewdb.client.ApprovalCategory;
-import com.google.gerrit.reviewdb.client.ApprovalCategoryValue;
+import com.google.gerrit.common.data.LabelType;
+import com.google.gerrit.common.data.LabelTypes;
+import com.google.gerrit.common.data.LabelValue;
+import com.google.gerrit.reviewdb.client.Account;
+import com.google.gerrit.reviewdb.client.AccountGroup;
+import com.google.gerrit.reviewdb.client.Branch;
+import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.Project;
+import com.google.gerrit.server.config.AllProjectsName;
+import com.google.gerrit.server.git.ProjectConfig;
+import com.google.gerrit.server.project.ProjectCache;
+import com.google.gerrit.server.project.ProjectState;
import com.google.inject.AbstractModule;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.List;
+import java.util.Set;
public class GerritCommonTest extends PrologTestCase {
+ private Projects projects;
+
@Override
public void setUp() throws Exception {
super.setUp();
-
- final ApprovalTypes types = new ApprovalTypes(Arrays.asList(
- codeReviewCategory(),
- verifiedCategory()
- ));
-
+ projects = new Projects(new LabelTypes(Arrays.asList(
+ category("Code-Review",
+ value(2, "Looks good to me, approved"),
+ value(1, "Looks good to me, but someone else must approve"),
+ value(0, "No score"),
+ value(-1, "I would prefer that you didn't submit this"),
+ value(-2, "Do not submit")),
+ category("Verified", value(1, "Verified"),
+ value(0, "No score"), value(-1, "Fails")))));
load("gerrit", "gerrit_common_test.pl", new AbstractModule() {
@Override
protected void configure() {
- bind(ApprovalTypes.class).toInstance(types);
+ bind(ProjectCache.class).toInstance(projects);
}
});
}
- private static ApprovalType codeReviewCategory() {
- ApprovalCategory cat = category(0, "CRVW", "Code Review");
- List<ApprovalCategoryValue> vals = newList();
- vals.add(value(cat, 2, "Looks good to me, approved"));
- vals.add(value(cat, 1, "Looks good to me, but someone else must approve"));
- vals.add(value(cat, 0, "No score"));
- vals.add(value(cat, -1, "I would prefer that you didn't submit this"));
- vals.add(value(cat, -2, "Do not submit"));
- return new ApprovalType(cat, vals);
+ @Override
+ protected void setUpEnvironment(PrologEnvironment env) {
+ env.set(StoredValues.CHANGE, new Change(
+ new Change.Key("Ibeef"), new Change.Id(1), new Account.Id(2),
+ new Branch.NameKey(projects.allProjectsName, "master")));
}
- private static ApprovalType verifiedCategory() {
- ApprovalCategory cat = category(1, "VRIF", "Verified");
- List<ApprovalCategoryValue> vals = newList();
- vals.add(value(cat, 1, "Verified"));
- vals.add(value(cat, 0, "No score"));
- vals.add(value(cat, -1, "Fails"));
- return new ApprovalType(cat, vals);
+ private static LabelValue value(int value, String text) {
+ return new LabelValue((short) value, text);
}
- private static ApprovalCategory category(int pos, String id, String name) {
- ApprovalCategory cat;
- cat = new ApprovalCategory(new ApprovalCategory.Id(id), name);
- cat.setPosition((short) pos);
- return cat;
+ private static LabelType category(String name, LabelValue... values) {
+ return new LabelType(name, Arrays.asList(values));
}
- private static ArrayList<ApprovalCategoryValue> newList() {
- return new ArrayList<ApprovalCategoryValue>();
- }
+ private static class Projects implements ProjectCache {
+ private final AllProjectsName allProjectsName;
+ private final ProjectState allProjects;
+
+ private Projects(LabelTypes labelTypes) {
+ allProjectsName = new AllProjectsName("All-Projects");
+ ProjectConfig config = new ProjectConfig(allProjectsName);
+ config.createInMemory();
+ for (LabelType label : labelTypes.getLabelTypes()) {
+ config.getLabelSections().put(label.getName(), label);
+ }
+ allProjects = new ProjectState(this, allProjectsName, null,
+ null, null, null, config);
+ }
+
+ @Override
+ public ProjectState getAllProjects() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public ProjectState get(Project.NameKey projectName) {
+ assertEquals(allProjectsName, projectName);
+ return allProjects;
+ }
+
+ @Override
+ public void evict(Project p) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void remove(Project p) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Iterable<Project.NameKey> all() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Set<AccountGroup.UUID> guessRelevantGroupUUIDs() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Iterable<Project.NameKey> byName(String prefix) {
+ throw new UnsupportedOperationException();
+ }
- private static ApprovalCategoryValue value(ApprovalCategory c, int v, String n) {
- return new ApprovalCategoryValue(
- new ApprovalCategoryValue.Id(c.getId(), (short) v),
- n);
+ @Override
+ public void onCreateProject(Project.NameKey newProjectName) {
+ throw new UnsupportedOperationException();
+ }
}
}