github.com/randomtask1155/cli@v6.41.1-0.20181227003417-a98eed78cbde+incompatible/integration/helpers/client.go (about)

     1  package helpers
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv2"
     5  	ccWrapper "code.cloudfoundry.org/cli/api/cloudcontroller/wrapper"
     6  	"code.cloudfoundry.org/cli/api/uaa"
     7  	uaaWrapper "code.cloudfoundry.org/cli/api/uaa/wrapper"
     8  	"code.cloudfoundry.org/cli/command/translatableerror"
     9  	"code.cloudfoundry.org/cli/util/configv3"
    10  )
    11  
    12  func CreateCCV2Client() (*ccv2.Client, error) {
    13  	config, err := configv3.LoadConfig(configv3.FlagOverride{})
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  
    18  	ccWrappers := []ccv2.ConnectionWrapper{}
    19  	authWrapper := ccWrapper.NewUAAAuthentication(nil, config)
    20  
    21  	ccWrappers = append(ccWrappers, authWrapper)
    22  	ccWrappers = append(ccWrappers, ccWrapper.NewRetryRequest(config.RequestRetryCount()))
    23  
    24  	ccClient := ccv2.NewClient(ccv2.Config{
    25  		AppName:            config.BinaryName(),
    26  		AppVersion:         config.BinaryVersion(),
    27  		JobPollingTimeout:  config.OverallPollingTimeout(),
    28  		JobPollingInterval: config.PollingInterval(),
    29  		Wrappers:           ccWrappers,
    30  	})
    31  
    32  	_, err = ccClient.TargetCF(ccv2.TargetSettings{
    33  		URL:               config.Target(),
    34  		SkipSSLValidation: config.SkipSSLValidation(),
    35  		DialTimeout:       config.DialTimeout(),
    36  	})
    37  	if err != nil {
    38  		return nil, err
    39  	}
    40  
    41  	if ccClient.AuthorizationEndpoint() == "" {
    42  		return nil, translatableerror.AuthorizationEndpointNotFoundError{}
    43  	}
    44  
    45  	uaaClient := uaa.NewClient(config)
    46  
    47  	uaaAuthWrapper := uaaWrapper.NewUAAAuthentication(nil, config)
    48  	uaaClient.WrapConnection(uaaAuthWrapper)
    49  	uaaClient.WrapConnection(uaaWrapper.NewRetryRequest(config.RequestRetryCount()))
    50  
    51  	err = uaaClient.SetupResources(ccClient.AuthorizationEndpoint())
    52  	if err != nil {
    53  		return nil, err
    54  	}
    55  
    56  	uaaAuthWrapper.SetClient(uaaClient)
    57  	authWrapper.SetClient(uaaClient)
    58  	return ccClient, nil
    59  }