@@ -7,15 +7,13 @@ import (
77 "io"
88 "net/http"
99 "os"
10+ "os/exec"
1011 "path/filepath"
1112 "runtime"
1213 "strings"
1314 "testing"
1415 "time"
1516
16- "github.com/jfrog/jfrog-cli-core/v2/plugins"
17- coreTests "github.com/jfrog/jfrog-cli-core/v2/utils/tests"
18- "github.com/jfrog/jfrog-cli-evidence/evidence/cli"
1917 "github.com/jfrog/jfrog-cli-evidence/tests/e2e"
2018 "github.com/jfrog/jfrog-cli-evidence/tests/e2e/utils"
2119 clientutils "github.com/jfrog/jfrog-client-go/utils"
@@ -220,9 +218,15 @@ func (r *EvidenceE2ETestsRunner) runAttachmentCase(t *testing.T, tc attachmentCa
220218
221219func runEvidenceCommandWithToken (t * testing.T , r * EvidenceE2ETestsRunner , token string , args ... string ) (string , error ) {
222220 t .Helper ()
221+ require .NotEmpty (t , token , "access token is required" )
223222
224- tokenScopedCli := newEvidenceCLIWithToken (t , r , token )
225- return tokenScopedCli .RunCliCmdWithOutputs (t , args ... )
223+ _ , currentFile , _ , _ := runtime .Caller (0 )
224+ binaryPath := filepath .Join (filepath .Dir (currentFile ), ".." , ".." , ".." , "build" , "jfrog-evidence" )
225+ cmdArgs := append ([]string {}, args ... )
226+ cmdArgs = append (cmdArgs , fmt .Sprintf ("--url=%s" , getJfrogBaseURL (t , r )), fmt .Sprintf ("--access-token=%s" , token ))
227+ cmd := exec .Command (binaryPath , cmdArgs ... )
228+ output , err := cmd .CombinedOutput ()
229+ return string (output ), err
226230}
227231
228232func getJfrogBaseURL (t * testing.T , r * EvidenceE2ETestsRunner ) string {
@@ -241,17 +245,27 @@ func getJfrogBaseURL(t *testing.T, r *EvidenceE2ETestsRunner) string {
241245 return baseURL
242246}
243247
244- func newEvidenceCLIWithToken (t * testing.T , r * EvidenceE2ETestsRunner , token string ) * coreTests. JfrogCli {
248+ func getArtifactoryBaseURL (t * testing.T , r * EvidenceE2ETestsRunner ) string {
245249 t .Helper ()
246- require .NotEmpty (t , token , "access token is required" )
250+ require .NotNil (t , r )
251+ require .NotNil (t , r .ServicesManager , "services manager not initialized" )
247252
248- return coreTests .NewJfrogCli (execStandaloneEvidenceCliMain , "jfrog-evidence" ,
249- fmt .Sprintf ("--url=%s --access-token=%s" , getJfrogBaseURL (t , r ), token ))
250- }
253+ config := r .ServicesManager .GetConfig ()
254+ require .NotNil (t , config , "services manager config not initialized" )
255+
256+ serviceDetails := config .GetServiceDetails ()
257+ require .NotNil (t , serviceDetails , "service details not initialized" )
258+
259+ type artifactoryURLProvider interface {
260+ GetArtifactoryUrl () string
261+ }
262+ if detailsWithArtifactoryURL , ok := serviceDetails .(artifactoryURLProvider ); ok {
263+ if artifactoryURL := strings .TrimRight (detailsWithArtifactoryURL .GetArtifactoryUrl (), "/" ); artifactoryURL != "" {
264+ return artifactoryURL
265+ }
266+ }
251267
252- func execStandaloneEvidenceCliMain () error {
253- plugins .PluginMain (cli .GetStandaloneEvidenceApp ())
254- return nil
268+ return getJfrogBaseURL (t , r ) + "/artifactory"
255269}
256270
257271func ensureAttachmentSupportedEvidenceVersion (t * testing.T , r * EvidenceE2ETestsRunner ) {
@@ -276,7 +290,7 @@ func ensureAttachmentSupportedEvidenceVersion(t *testing.T, r *EvidenceE2ETestsR
276290
277291func ensureAttachmentSupportedArtifactoryVersion (t * testing.T , r * EvidenceE2ETestsRunner ) {
278292 t .Helper ()
279- req , err := http .NewRequest (http .MethodGet , getJfrogBaseURL (t , r )+ "/artifactory /api/system/version" , nil )
293+ req , err := http .NewRequest (http .MethodGet , getArtifactoryBaseURL (t , r )+ "/api/system/version" , nil )
280294 require .NoError (t , err )
281295 req .Header .Set ("Authorization" , "Bearer " + mustGetAdminToken (t , r ))
282296
0 commit comments