github.com/jfrog/jfrog-cli-go@v1.22.1-0.20200318093948-4826ef344ffd/inttestutils/buildinfo.go (about)

     1  package inttestutils
     2  
     3  import (
     4  	"encoding/json"
     5  	"github.com/jfrog/jfrog-client-go/artifactory/buildinfo"
     6  	"github.com/jfrog/jfrog-client-go/httpclient"
     7  	"github.com/jfrog/jfrog-client-go/utils/io/httputils"
     8  	"github.com/jfrog/jfrog-client-go/utils/log"
     9  	"net/http"
    10  	"testing"
    11  )
    12  
    13  func GetBuildInfo(artifactoryUrl, buildName, buildNumber string, t *testing.T, artHttpDetails httputils.HttpClientDetails) buildinfo.BuildInfo {
    14  	client, err := httpclient.ClientBuilder().Build()
    15  	if err != nil {
    16  		t.Error(err)
    17  	}
    18  	_, body, _, err := client.SendGet(artifactoryUrl+"api/build/"+buildName+"/"+buildNumber, true, artHttpDetails)
    19  	if err != nil {
    20  		t.Error(err)
    21  	}
    22  
    23  	var buildInfoJson struct {
    24  		BuildInfo buildinfo.BuildInfo `json:"buildInfo,omitempty"`
    25  	}
    26  	if err := json.Unmarshal(body, &buildInfoJson); err != nil {
    27  		t.Error(err)
    28  	}
    29  	return buildInfoJson.BuildInfo
    30  }
    31  
    32  func DeleteBuild(artifactoryUrl, buildName string, artHttpDetails httputils.HttpClientDetails) {
    33  	client, err := httpclient.ClientBuilder().Build()
    34  	if err != nil {
    35  		log.Error(err)
    36  	}
    37  	resp, body, err := client.SendDelete(artifactoryUrl+"api/build/"+buildName+"?deleteAll=1", nil, artHttpDetails)
    38  	if err != nil {
    39  		log.Error(err)
    40  	}
    41  	if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusNotFound {
    42  		log.Error(resp.Status)
    43  		log.Error(string(body))
    44  	}
    45  }