github.com/pivotal-cf/go-pivnet/v6@v6.0.2/integration/init_test.go (about)

     1  package integration_test
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	"github.com/pivotal-cf/go-pivnet/v6"
     8  	"github.com/pivotal-cf/go-pivnet/v6/logger"
     9  	"github.com/robdimsdale/sanitizer"
    10  
    11  	. "github.com/onsi/ginkgo"
    12  	. "github.com/onsi/gomega"
    13  
    14  	"testing"
    15  )
    16  
    17  const testProductSlug = "pivnet-resource-test"
    18  
    19  var client pivnet.Client
    20  
    21  func TestIntegration(t *testing.T) {
    22  	RegisterFailHandler(Fail)
    23  	RunSpecs(t, "Integration Suite")
    24  }
    25  
    26  var _ = BeforeSuite(func() {
    27  	APIToken := os.Getenv("API_TOKEN")
    28  	Host := os.Getenv("HOST")
    29  
    30  	if APIToken == "" {
    31  		Fail("API_TOKEN must be set for integration tests to run")
    32  	}
    33  
    34  	if Host == "" {
    35  		Fail("HOST must be set for integration tests to run")
    36  	}
    37  
    38  	By("Sanitizing acceptance test output")
    39  	sanitized := map[string]string{
    40  		APIToken: "***sanitized-api-token***",
    41  	}
    42  	sanitizedWriter := sanitizer.NewSanitizer(sanitized, GinkgoWriter)
    43  	GinkgoWriter = sanitizedWriter
    44  
    45  	accessTokenService := pivnet.NewAccessTokenOrLegacyToken(APIToken, Host, false)
    46  
    47  	config := pivnet.ClientConfig{
    48  		Host:      Host,
    49  		UserAgent: "go-pivnet/integration-test",
    50  	}
    51  
    52  	logger := GinkgoLogShim{}
    53  
    54  	client = pivnet.NewClient(accessTokenService, config, logger)
    55  
    56  	ok, err := client.Auth.Check()
    57  	Expect(err).NotTo(HaveOccurred())
    58  	Expect(ok).To(BeTrue())
    59  })
    60  
    61  type GinkgoLogShim struct {
    62  }
    63  
    64  func (l GinkgoLogShim) Debug(action string, data ...logger.Data) {
    65  	l.Info(action, data...)
    66  }
    67  
    68  func (l GinkgoLogShim) Info(action string, data ...logger.Data) {
    69  	GinkgoWriter.Write([]byte(fmt.Sprintf("%s%s\n", action, appendString(data...))))
    70  }
    71  
    72  func appendString(data ...logger.Data) string {
    73  	if len(data) > 0 {
    74  		return fmt.Sprintf(" - %+v", data)
    75  	}
    76  	return ""
    77  }