func (v *VerifyRequest) Validate() error {
	v.Args = []string{}

	if len(v.PactURLs) != 0 {
		v.Args = append(v.Args, v.PactURLs...)
	}

	if len(v.PactURLs) == 0 && v.BrokerURL == "" {
		return fmt.Errorf("One of 'PactURLs' or 'BrokerURL' must be specified")
	}

	if len(v.CustomProviderHeaders) != 0 {
		for _, header := range v.CustomProviderHeaders {
			v.Args = append(v.Args, "--custom-provider-header", header)
		}
	}

	v.Args = append(v.Args, "--format", "json")

	if v.ProviderBaseURL != "" {
		v.Args = append(v.Args, "--provider-base-url", v.ProviderBaseURL)
	} else {
		return fmt.Errorf("Provider base URL is mandatory")
	}

	if v.ProviderStatesSetupURL != "" {
		v.Args = append(v.Args, "--provider-states-setup-url", v.ProviderStatesSetupURL)
	}

	if v.BrokerUsername != "" {
		v.Args = append(v.Args, "--broker-username", v.BrokerUsername)
	}

	if v.BrokerPassword != "" {
		v.Args = append(v.Args, "--broker-password", v.BrokerPassword)
	}

	if v.BrokerURL != "" && ((v.BrokerUsername == "" && v.BrokerPassword != "") || (v.BrokerUsername != "" && v.BrokerPassword == "")) {
		return errors.New("both 'BrokerUsername' and 'BrokerPassword' must be supplied if one given")
	}

	if v.BrokerURL != "" {
		v.Args = append(v.Args, "--pact-broker-base-url", v.BrokerURL)
	}

	if v.BrokerToken != "" {
		v.Args = append(v.Args, "--broker-token", v.BrokerToken)
	}

	if v.ProviderVersion != "" {
		v.Args = append(v.Args, "--provider_app_version", v.ProviderVersion)
	}

	if v.Provider != "" {
		v.Args = append(v.Args, "--provider", v.Provider)
	}

	if v.PublishVerificationResults {
		v.Args = append(v.Args, "--publish_verification_results", "true")
	}

	if v.Verbose {
		log.Println("[DEBUG] verifier: ignoring deprecated Verbose flag")
	}

	return nil
}
func (v *VerifyRequest) Validate() error {
	v.Args = []string{}

	if len(v.PactURLs) != 0 {
		v.Args = append(v.Args, v.PactURLs...)
	}

	if len(v.PactURLs) == 0 && v.BrokerURL == "" {
		return fmt.Errorf("One of 'PactURLs' or 'BrokerURL' must be specified")
	}

	if len(v.CustomProviderHeaders) != 0 {
		for _, header := range v.CustomProviderHeaders {
			v.Args = append(v.Args, "--custom-provider-header", header)
		}
	}

	v.Args = append(v.Args, "--format", "json")

	if v.ProviderBaseURL != "" {
		v.Args = append(v.Args, "--provider-base-url", v.ProviderBaseURL)
	} else {
		return fmt.Errorf("Provider base URL is mandatory")
	}

	if v.ProviderStatesSetupURL != "" {
		v.Args = append(v.Args, "--provider-states-setup-url", v.ProviderStatesSetupURL)
	}

	if v.BrokerUsername != "" {
		v.Args = append(v.Args, "--broker-username", v.BrokerUsername)
	}

	if v.BrokerPassword != "" {
		v.Args = append(v.Args, "--broker-password", v.BrokerPassword)
	}

	if v.BrokerURL != "" && ((v.BrokerUsername == "" && v.BrokerPassword != "") || (v.BrokerUsername != "" && v.BrokerPassword == "")) {
		return errors.New("both 'BrokerUsername' and 'BrokerPassword' must be supplied if one given")
	}

	if v.BrokerURL != "" {
		v.Args = append(v.Args, "--pact-broker-base-url", v.BrokerURL)
	}

	if v.BrokerToken != "" {
		v.Args = append(v.Args, "--broker-token", v.BrokerToken)
	}

	if v.ProviderVersion != "" {
		v.Args = append(v.Args, "--provider_app_version", v.ProviderVersion)
	}

	if v.Provider != "" {
		v.Args = append(v.Args, "--provider", v.Provider)
	}

	if v.PublishVerificationResults {
		v.Args = append(v.Args, "--publish_verification_results", "true")
	}

	if v.Verbose {
		log.Println("[DEBUG] verifier: ignoring deprecated Verbose flag")
	}

	return nil
}
func ( v * VerifyRequest ) Validate ( ) error { v . Args = [ ] string { } if len ( v . PactURLs ) != 0 { v . Args = append ( v . Args , v . PactURLs ... ) } if len ( v . PactURLs ) == 0 && v . BrokerURL == " " { return fmt . Errorf ( " " ) } if len ( v . CustomProviderHeaders ) != 0 { for _ , header := range v . CustomProviderHeaders { v . Args = append ( v . Args , " " , header ) } } v . Args = append ( v . Args , " " , " " ) if v . ProviderBaseURL != " " { v . Args = append ( v . Args , " " , v . ProviderBaseURL ) } else { return fmt . Errorf ( " " ) } if v . ProviderStatesSetupURL != " " { v . Args = append ( v . Args , " " , v . ProviderStatesSetupURL ) } if v . BrokerUsername != " " { v . Args = append ( v . Args , " " , v . BrokerUsername ) } if v . BrokerPassword != " " { v . Args = append ( v . Args , " " , v . BrokerPassword ) } if v . BrokerURL != " " && ( ( v . BrokerUsername == " " && v . BrokerPassword != " " ) || ( v . BrokerUsername != " " && v . BrokerPassword == " " ) ) { return errors . New ( " " ) } if v . BrokerURL != " " { v . Args = append ( v . Args , " " , v . BrokerURL ) } if v . BrokerToken != " " { v . Args = append ( v . Args , " " , v . BrokerToken ) } if v . ProviderVersion != " " { v . Args = append ( v . Args , " " , v . ProviderVersion ) } if v . Provider != " " { v . Args = append ( v . Args , " " , v . Provider ) } if v . PublishVerificationResults { v . Args = append ( v . Args , " " , " " ) } if v . Verbose { log . Println ( " " ) } return nil }
// Validate checks that the minimum fields are provided.
// Deprecated: This map be deleted after the native library replaces Ruby deps,
// and should not be used outside of this library.
Validate checks that the minimum fields are provided . Deprecated : This map be deleted after the native library replaces Ruby deps and should not be used outside of this library .