in javatests/com/google/gerrit/plugins/codeowners/acceptance/api/GetCodeOwnerConfigFilesIT.java [263:362]
public void filterByEmail() throws Exception {
TestAccount user2 = accountCreator.user2();
TestAccount user3 = accountCreator.create("user3", "user3@example.com", "User3", null);
CodeOwnerConfig.Key codeOwnerConfigKey1 =
codeOwnerConfigOperations
.newCodeOwnerConfig()
.project(project)
.branch("master")
.folderPath("/")
.addCodeOwnerEmail(user.email())
.create();
CodeOwnerConfig.Key codeOwnerConfigKey2 =
codeOwnerConfigOperations
.newCodeOwnerConfig()
.project(project)
.branch("master")
.folderPath("/foo/")
.addCodeOwnerEmail(admin.email())
.create();
CodeOwnerConfig.Key codeOwnerConfigKey3 =
codeOwnerConfigOperations
.newCodeOwnerConfig()
.project(project)
.branch("master")
.folderPath("/foo/bar/")
.addCodeOwnerSet(
CodeOwnerSet.builder()
.addPathExpression("foo")
.addCodeOwnerEmail(user.email())
.build())
.create();
CodeOwnerConfig.Key codeOwnerConfigKey4 =
codeOwnerConfigOperations
.newCodeOwnerConfig()
.project(project)
.branch("master")
.folderPath("/foo/baz/")
.addCodeOwnerEmail(admin.email())
.addCodeOwnerEmail(user.email())
.create();
CodeOwnerConfig.Key codeOwnerConfigKey5 =
codeOwnerConfigOperations
.newCodeOwnerConfig()
.project(project)
.branch("master")
.folderPath("/foo/xyz/")
.addCodeOwnerEmail(admin.email())
.addCodeOwnerEmail(user2.email())
.create();
assertThat(
projectCodeOwnersApiFactory
.project(project)
.branch("master")
.codeOwnerConfigFiles()
.withEmail(admin.email())
.paths())
.containsExactly(
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey2).getFilePath(),
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey4).getFilePath(),
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey5).getFilePath())
.inOrder();
assertThat(
projectCodeOwnersApiFactory
.project(project)
.branch("master")
.codeOwnerConfigFiles()
.withEmail(user.email())
.paths())
.containsExactly(
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey1).getFilePath(),
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey3).getFilePath(),
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey4).getFilePath())
.inOrder();
assertThat(
projectCodeOwnersApiFactory
.project(project)
.branch("master")
.codeOwnerConfigFiles()
.withEmail(user2.email())
.paths())
.containsExactly(
codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey5).getFilePath());
assertThat(
projectCodeOwnersApiFactory
.project(project)
.branch("master")
.codeOwnerConfigFiles()
.withEmail(user3.email())
.paths())
.isEmpty();
}