github.com/jfrog/jfrog-client-go@v1.40.2/tests/artifactoryaql_test.go (about) 1 package tests 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "io" 7 "strings" 8 "testing" 9 10 "github.com/jfrog/jfrog-client-go/artifactory/services/utils" 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestCreateAqlQueryForBuildInfoJson(t *testing.T) { 15 initArtifactoryTest(t) 16 17 // Create a build 18 buildName := fmt.Sprintf("%s-%s", "a / \\ | \t * ? : ; \\ / %b", getRunId()) 19 err := createDummyBuild(buildName) 20 assert.NoError(t, err) 21 22 // Run AQL to get the build from Artifactory 23 aqlQuery := utils.CreateAqlQueryForBuildInfoJson("", buildName, buildNumber, buildTimestamp) 24 stream, err := testsAqlService.ExecAql(aqlQuery) 25 assert.NoError(t, err) 26 defer func() { 27 assert.NoError(t, stream.Close()) 28 }() 29 30 // Parse AQL results 31 aqlResults, err := io.ReadAll(stream) 32 assert.NoError(t, err) 33 parsedResult := new(utils.AqlSearchResult) 34 err = json.Unmarshal(aqlResults, parsedResult) 35 assert.NoError(t, err) 36 assert.Len(t, parsedResult.Results, 1) 37 38 // Verify build checksum exist 39 assert.NotEmpty(t, parsedResult.Results[0].Actual_Sha1) 40 assert.NotEmpty(t, parsedResult.Results[0].Actual_Md5) 41 42 // Delete build 43 encodedBuildName := strings.TrimSuffix(parsedResult.Results[0].Path, "-"+buildTimestamp+".json") 44 assert.NoError(t, deleteBuild(encodedBuildName)) 45 }