Skip to content

Commit

Permalink
Add distribution path mappings
Browse files Browse the repository at this point in the history
  • Loading branch information
Yarden-Edery committed Nov 27, 2023
1 parent 96ddaba commit 9ab7903
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 6 deletions.
24 changes: 23 additions & 1 deletion distribution_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -445,7 +445,7 @@ func TestUpdateBundleProps(t *testing.T) {
cleanDistributionTest(t)
}

func TestBundlePathMapping(t *testing.T) {
func TestBundlePathMappingFromPatternAndTarget(t *testing.T) {
initDistributionTest(t)

// Upload files
Expand All @@ -465,6 +465,28 @@ func TestBundlePathMapping(t *testing.T) {
cleanDistributionTest(t)
}

func TestBundlePathMappingFromPatternAndTargetUsingSpec(t *testing.T) {
initDistributionTest(t)

// Upload files
specFile, err := tests.CreateSpec(tests.DistributionUploadSpecB)
assert.NoError(t, err)
runRt(t, "u", "--spec="+specFile)

// Create and distribute release bundle with path mapping from <DistRepo1>/data/ to <DistRepo2>/target/
spec, err := tests.CreateSpec(tests.DistributionCreateWithPatternAndTarget)
assert.NoError(t, err)
runDs(t, "rbc", tests.BundleName, bundleVersion, "--sign", "--spec="+spec)
runDs(t, "rbd", tests.BundleName, bundleVersion, "--site=*", "--sync")

// Validate files are distributed to the target mapping
spec, err = tests.CreateSpec(tests.DistributionMappingDownload)
assert.NoError(t, err)
inttestutils.VerifyExistInArtifactory(tests.GetBundleMappingExpected(), spec, serverDetails, t)

cleanDistributionTest(t)
}

func TestBundlePathMappingUsingSpec(t *testing.T) {
initDistributionTest(t)

Expand Down
14 changes: 14 additions & 0 deletions schema/filespec-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@
}
}
},
"pathMapping": {
"description": "If specified, determines release-bundle source and target paths for artifacts that had been fetched using aql",
"properties": {
"input": {
"type": "string",
"description": "The input path for mapping."
},
"output": {
"type": "string",
"description": "The output path for mapping."
}
}
},
"archive": {
"type": "string",
"enum": ["zip"],
Expand Down Expand Up @@ -227,6 +240,7 @@
]
}
},
"pathMapping": { "required": ["aql"] },
"build": { "not": { "required": ["bundle", "limit", "offset"] } },
"bundle": { "not": { "required": ["build", "limit", "offset"] } },
"excludeArtifacts": { "required": ["build"] },
Expand Down
18 changes: 15 additions & 3 deletions testdata/filespecs/dist_create_with_mapping.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
{
"files": [
{
"pattern": "${DIST_REPO1}/data/(*)",
"target": "${DIST_REPO2}/target/{1}"
"aql": {
"items.find": {
"repo": "${DIST_REPO1}",
"path": "data",
"$or": [
{
"name": {
"$match": "*"
}
}
]
}
},
"pathMapping": { "input": "${DIST_REPO1}/data/(.*)", "output": "${DIST_REPO2}/target/$1" }
}
]
}
}
8 changes: 8 additions & 0 deletions testdata/filespecs/dist_create_with_pattern_and_target.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"files": [
{
"pattern": "${DIST_REPO1}/data/(*)",
"target": "${DIST_REPO2}/target/{1}"
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ func execDependency() {
func Exec() {
fmt.Println("Executing ")
execDependency()
}
}
2 changes: 1 addition & 1 deletion utils/cliutils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"errors"
"fmt"
"github.com/jfrog/gofrog/version"
"github.com/jfrog/jfrog-client-go/utils/log"
"io"
"net/http"
"os"
Expand All @@ -26,7 +27,6 @@ import (
clientutils "github.com/jfrog/jfrog-client-go/utils"
"github.com/jfrog/jfrog-client-go/utils/errorutils"
"github.com/jfrog/jfrog-client-go/utils/io/content"
"github.com/jfrog/jfrog-client-go/utils/log"
"github.com/urfave/cli"
)

Expand Down
1 change: 1 addition & 0 deletions utils/tests/consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ const (
DelSpecExclusions = "delete_spec_exclusions.json"
DistributionCreateByAql = "dist_create_by_aql.json"
DistributionCreateWithMapping = "dist_create_with_mapping.json"
DistributionCreateWithPatternAndTarget = "dist_create_with_pattern_and_target.json"
DistributionMappingDownload = "dist_mapping_download_spec.json"
DistributionRepoConfig1 = "dist_repository_config1.json"
DistributionRepoConfig2 = "dist_repository_config2.json"
Expand Down

0 comments on commit 9ab7903

Please sign in to comment.