diff --git a/artifactory/commands/utils/testdata/transferconfig/virtual_repo_a.json b/artifactory/commands/utils/testdata/transferconfig/virtual_repo_a.json index ee1a1d412..19916268a 100644 --- a/artifactory/commands/utils/testdata/transferconfig/virtual_repo_a.json +++ b/artifactory/commands/utils/testdata/transferconfig/virtual_repo_a.json @@ -31,7 +31,8 @@ "priorityResolution": false, "projectKey": "default", "environments": [], - "repositories": ["b-virtual"], + "repositories": ["b-virtual","a-local"], + "defaultDeploymentRepo": "a-local", "hideUnauthorizedResources": false, "artifactoryRequestsCanRetrieveRemoteArtifacts": false, "resolveDockerTagsByTimestamp": false, diff --git a/artifactory/commands/utils/testdata/transferconfig/virtual_repo_b.json b/artifactory/commands/utils/testdata/transferconfig/virtual_repo_b.json index 09bb87c6d..f45850ad2 100644 --- a/artifactory/commands/utils/testdata/transferconfig/virtual_repo_b.json +++ b/artifactory/commands/utils/testdata/transferconfig/virtual_repo_b.json @@ -31,6 +31,8 @@ "priorityResolution": false, "projectKey": "default", "environments": [], + "repositories": ["b-local"], + "defaultDeploymentRepo": "b-local", "hideUnauthorizedResources": false, "artifactoryRequestsCanRetrieveRemoteArtifacts": false, "resolveDockerTagsByTimestamp": false, diff --git a/artifactory/commands/utils/transferconfigbase.go b/artifactory/commands/utils/transferconfigbase.go index 7bef0a76e..c4d8438f9 100644 --- a/artifactory/commands/utils/transferconfigbase.go +++ b/artifactory/commands/utils/transferconfigbase.go @@ -224,17 +224,22 @@ func (tcb *TransferConfigBase) transferVirtualRepositoriesToTarget(reposToTransf return } - // Create virtual repository without included repositories + // Create virtual repository without included repositories and default deployment repo repositories := singleRepoParamsMap["repositories"] delete(singleRepoParamsMap, "repositories") + defaultDeploymentRepo := singleRepoParamsMap["defaultDeploymentRepo"] + delete(singleRepoParamsMap, "defaultDeploymentRepo") if err = tcb.createRepositoryAndAssignToProject(singleRepoParamsMap, repoToTransfer); err != nil { return } - // Restore included repositories to set them later on + // Restore included repositories and default deployment repo to set them later on if repositories != nil { singleRepoParamsMap["repositories"] = repositories } + if defaultDeploymentRepo != nil { + singleRepoParamsMap["defaultDeploymentRepo"] = defaultDeploymentRepo + } } // Step 2 - Update all virtual repositories with the included repositories diff --git a/artifactory/commands/utils/transferconfigbase_test.go b/artifactory/commands/utils/transferconfigbase_test.go index ac091f28c..b3ca90b8a 100644 --- a/artifactory/commands/utils/transferconfigbase_test.go +++ b/artifactory/commands/utils/transferconfigbase_test.go @@ -223,6 +223,8 @@ func TestTransferVirtualRepositoriesToTarget(t *testing.T) { if r.Method == http.MethodPut { delete(expectedVirtualRepoAParamsMap, "repositories") delete(expectedVirtualRepoBParamsMap, "repositories") + delete(expectedVirtualRepoAParamsMap, "defaultDeploymentRepo") + delete(expectedVirtualRepoBParamsMap, "defaultDeploymentRepo") } switch r.RequestURI {