github.com/jfrog/jfrog-client-go@v1.40.2/distribution/services/utils/distributionutils_test.go (about) 1 package utils 2 3 import ( 4 "testing" 5 6 "github.com/jfrog/jfrog-client-go/artifactory/services/utils" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestCreateBundleBody(t *testing.T) { 11 releaseBundleParam := ReleaseBundleParams{ 12 SignImmediately: true, 13 StoringRepository: "storing-repo", 14 Description: "Release bundle description", 15 ReleaseNotes: "Release notes", 16 ReleaseNotesSyntax: Asciidoc, 17 } 18 19 releaseBundleBody, err := CreateBundleBody(releaseBundleParam, true) 20 assert.NoError(t, err) 21 assert.NotNil(t, releaseBundleBody) 22 assert.Equal(t, true, releaseBundleBody.DryRun) 23 assert.Equal(t, true, *releaseBundleBody.SignImmediately) 24 assert.Equal(t, "storing-repo", releaseBundleBody.StoringRepository) 25 assert.Equal(t, "Release bundle description", releaseBundleBody.Description) 26 assert.Equal(t, "Release notes", releaseBundleBody.ReleaseNotes.Content) 27 assert.Equal(t, Asciidoc, releaseBundleBody.ReleaseNotes.Syntax) 28 assert.Len(t, releaseBundleBody.BundleSpec.Queries, 0) 29 } 30 31 func TestCreateBundleBodyQuery(t *testing.T) { 32 targetProps, err := utils.ParseProperties("a=b;c=d;c=e") 33 assert.NoError(t, err) 34 35 releaseBundleParam := ReleaseBundleParams{ 36 SpecFiles: []*utils.CommonParams{{Pattern: "dist-repo/*", TargetProps: targetProps}}, 37 } 38 39 releaseBundleBody, err := CreateBundleBody(releaseBundleParam, true) 40 assert.NoError(t, err) 41 assert.NotNil(t, releaseBundleBody) 42 assert.Len(t, releaseBundleBody.BundleSpec.Queries, 1) 43 query := releaseBundleBody.BundleSpec.Queries[0] 44 assert.Contains(t, query.Aql, "dist-repo") 45 props := query.AddedProps 46 assert.Len(t, props, 2) 47 for _, prop := range props { 48 switch prop.Key { 49 case "a": 50 assert.Equal(t, []string{"b"}, prop.Values) 51 case "c": 52 assert.ElementsMatch(t, []string{"d", "e"}, prop.Values) 53 default: 54 assert.Fail(t, "Unexpected key "+prop.Key) 55 } 56 } 57 }