Test adding config with ALL import of config that is added in same commit Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: Ifd4598cdd57fee83071423f1c72c28a5f1c075a0
diff --git a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/CodeOwnerConfigValidatorIT.java b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/CodeOwnerConfigValidatorIT.java index 8a69e44..314747c 100644 --- a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/CodeOwnerConfigValidatorIT.java +++ b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/CodeOwnerConfigValidatorIT.java
@@ -289,8 +289,9 @@ } @Test - public void canUploadConfigWithoutIssues_withImportOfConfigThatIsAddedInSameCommit() - throws Exception { + public void + canUploadConfigWithImportOfConfigThatIsAddedInSameCommit_importModeGlobalCodeOwnersOnly() + throws Exception { // imports are not supported for the proto backend assume().that(backendConfig.getDefaultBackend()).isNotInstanceOf(ProtoBackend.class); @@ -302,7 +303,6 @@ CodeOwnerConfigImportMode.GLOBAL_CODE_OWNER_SETS_ONLY, codeOwnerConfigOperations.codeOwnerConfig(keyOfImportedCodeOwnerConfig).getFilePath()); - // Create a code owner config with import and without issues. PushOneCommit.Result r = createChange( "Add code owners", @@ -330,6 +330,42 @@ } @Test + public void canUploadConfigWithImportOfConfigThatIsAddedInSameCommit_importModeAll() + throws Exception { + // imports are not supported for the proto backend + assume().that(backendConfig.getDefaultBackend()).isNotInstanceOf(ProtoBackend.class); + + CodeOwnerConfig.Key codeOwnerConfigKey = createCodeOwnerConfigKey("/"); + CodeOwnerConfig.Key keyOfImportedCodeOwnerConfig = createCodeOwnerConfigKey("/foo/"); + + CodeOwnerConfigReference codeOwnerConfigReference = + CodeOwnerConfigReference.create( + CodeOwnerConfigImportMode.ALL, + codeOwnerConfigOperations.codeOwnerConfig(keyOfImportedCodeOwnerConfig).getFilePath()); + + PushOneCommit.Result r = + createChange( + "Add code owners", + ImmutableMap.of( + codeOwnerConfigOperations.codeOwnerConfig(codeOwnerConfigKey).getJGitFilePath(), + format( + CodeOwnerConfig.builder(codeOwnerConfigKey, TEST_REVISION) + .addImport(codeOwnerConfigReference) + .addCodeOwnerSet( + CodeOwnerSet.builder().addCodeOwnerEmail(admin.email()).build()) + .build()), + codeOwnerConfigOperations + .codeOwnerConfig(keyOfImportedCodeOwnerConfig) + .getJGitFilePath(), + format( + CodeOwnerConfig.builder(keyOfImportedCodeOwnerConfig, TEST_REVISION) + .addCodeOwnerSet( + CodeOwnerSet.builder().addCodeOwnerEmail(user.email()).build()) + .build()))); + assertOkWithHints(r, "code owner config files validated, no issues found"); + } + + @Test @GerritConfig(name = "plugin.code-owners.backend", value = "non-existing-backend") public void canUploadNonParseableConfigIfCodeOwnersPluginConfigurationIsInvalid() throws Exception {