Documentation ¶
Index ¶
- Constants
- func AuthenticateWithSAMLResponse(t testing.TB, c *client.APIClient, samlResponse []byte)
- func BashCmd(cmd string, subs ...string) *exec.Cmd
- func Cmd(name string, args ...string) *exec.Cmd
- func DeletePachdPod(t testing.TB)
- func DeletePipelineRC(t testing.TB, pipeline string)
- func GetACSAddress(t testing.TB, pachdAddress string) string
- func GetKubeClient(t testing.TB) *kube.Clientset
- func GetTestEnterpriseCode() string
- func MustMarshalEl(t testing.TB, el *etree.Element) []byte
- func MustMarshalXML(t testing.TB, m xml.Marshaler) []byte
- func MustParseURL(t testing.TB, u string) *url.URL
- func PrettyPrintEl(t testing.TB, el *etree.Element) string
- func UniquePort() uint16
- func UniqueString(prefix string) string
- func WithEtcdEnv(cb func(*EtcdEnv) error) (err error)
- func WithMockEnv(cb func(*MockEnv) error) error
- func WithRealEnv(cb func(*RealEnv) error) error
- type EtcdEnv
- type MockEnv
- type MockPachd
- type MockServiceProviderProvider
- type RealEnv
- type TestIDP
Constants ¶
const TestPGDump = `` /* 1232-byte string literal not displayed */
TestPGDump is a simple example pgdump file for a table containing a few cars
const TestPGDumpNewHeader = `` /* 1024-byte string literal not displayed */
TestPGDumpNewHeader has no rows, but has a new header
const TestPGDumpNewRows = `` /* 1219-byte string literal not displayed */
TestPGDumpNewRows is the same as TestPGDump, except that it has two new rows
Variables ¶
This section is empty.
Functions ¶
func AuthenticateWithSAMLResponse ¶ added in v1.7.11
AuthenticateWithSAMLResponse sends 'response' to Pachd's ACS, extracts the OTP from the response, converts it to a Pachyderm token, and automatically assigns it to the client 'c'
func BashCmd ¶ added in v1.6.4
BashCmd is a convenience function that: 1. Performs a Go template substitution on 'cmd' using the strings in 'subs' 2. Returns a command that runs the result string from 1 as a Bash script
func Cmd ¶ added in v1.6.4
Cmd is a convenience function that replaces exec.Command. It's both shorter and it uses the current process's stderr as output for the command, which makes debugging failures much easier (i.e. you get an error message rather than "exit status 1")
func DeletePachdPod ¶ added in v1.7.14
DeletePachdPod deletes the pachd pod in a test cluster (restarting it, e.g. to retart the PPS master)
func DeletePipelineRC ¶ added in v1.7.14
DeletePipelineRC deletes the RC belonging to the pipeline 'pipeline'. This can be used to test PPS's robustness
func GetACSAddress ¶ added in v1.7.11
GetACSAddress takes a pachd address, assumed to be of the form
(host):(650|30650)
and converts it to
(host):(654|30654)
and returns that
func GetKubeClient ¶ added in v1.7.11
GetKubeClient connects to the Kubernetes API server either from inside the cluster or from a test binary running on a machine with kubectl (it will connect to the same cluster as kubectl)
func GetTestEnterpriseCode ¶
func GetTestEnterpriseCode() string
GetTestEnterpriseCode gets a Pachyderm Enterprise activation code from a private S3 bucket, and provides it to tests that use Pachyderm Enterprise features
func MustMarshalEl ¶ added in v1.7.11
MustMarshalEl marshals 'el' to []byte, or fails the current test
func MustMarshalXML ¶ added in v1.7.11
MustMarshalXML marshals 'm' to []byte, or fails the current test
func MustParseURL ¶ added in v1.7.11
MustParseURL marshals 'u' to a *url.URL, or fails the current test
func PrettyPrintEl ¶ added in v1.7.11
PrettyPrintEl returns 'el' indented and marshalled to a string
func UniquePort ¶ added in v1.8.3
func UniquePort() uint16
UniquePort generates a likely unique port, so that multiple servers can run concurrently. Note that it does not actually check that the port is free, but uses atomics and a fairly highly port range to maximize the likelihood that the port is available.
func UniqueString ¶ added in v1.6.4
UniqueString adds a UUID suffix to 'prefix'. This helps avoid name conflicts between tests that share the same Pachyderm cluster
func WithEtcdEnv ¶ added in v1.9.10
WithEtcdEnv constructs a default EtcdEnv for testing during the lifetime of the callback.
func WithMockEnv ¶ added in v1.9.10
WithMockEnv sets up a MockEnv structure, passes it to the provided callback, then cleans up everything in the environment, regardless of if an assertion fails.
func WithRealEnv ¶ added in v1.9.10
WithRealEnv constructs a MockEnv, then forwards all API calls to go to API server instances for supported operations. PPS requires a kubernetes environment in order to spin up pipelines, which is not yet supported by this package, but the other API servers work.
Types ¶
type EtcdEnv ¶ added in v1.9.10
type EtcdEnv struct { Context context.Context Directory string Etcd *embed.Etcd EtcdClient *etcd.Client }
EtcdEnv contains the basic setup for running end-to-end pachyderm tests entirely locally within the test process. It provides a temporary directory for storing data, and an embedded etcd server with a connected client.
type MockEnv ¶ added in v1.9.10
MockEnv contains the basic setup for running end-to-end pachyderm tests entirely locally within the test process. It provides a temporary directory for storing data, an embedded etcd server with a connected client, as well as a local mock pachd instance which allows a test to hook into any pachd calls.
type MockPachd ¶ added in v1.9.9
type MockPachd struct { Addr net.Addr Object mockObjectServer PFS mockPFSServer PPS mockPPSServer Auth mockAuthServer Transaction mockTransactionServer Enterprise mockEnterpriseServer Version mockVersionServer Admin mockAdminServer // contains filtered or unexported fields }
MockPachd provides an interface for running the interface for a Pachd API server locally without any of its dependencies. Tests may mock out specific API calls by providing a handler function, and later check information about the mocked calls.
func NewMockPachd ¶ added in v1.9.9
NewMockPachd constructs a mock Pachd API server whose behavior can be controlled through the MockPachd instance. By default, all API calls will error, unless a handler is specified.
type MockServiceProviderProvider ¶ added in v1.7.11
MockServiceProviderProvider gives tests the opportunity to inject their own SAML service provider metadata into an ID provider
func ConstServiceProviderProvider ¶ added in v1.7.11
func ConstServiceProviderProvider(md *saml.EntityDescriptor) MockServiceProviderProvider
ConstServiceProviderProvider returns a ServiceProviderProvider that always returns 'md'
func (MockServiceProviderProvider) GetServiceProvider ¶ added in v1.7.11
func (f MockServiceProviderProvider) GetServiceProvider(r *http.Request, serviceProviderID string) (*saml.EntityDescriptor, error)
GetServiceProvider implements the corresponding method in the ServiceProviderProvider interface for MockServiceProviderProvider
type RealEnv ¶ added in v1.9.10
type RealEnv struct { MockEnv AuthServer authserver.APIServer PFSBlockServer pfsserver.BlockAPIServer PFSServer pfsserver.APIServer TransactionServer txnserver.APIServer // contains filtered or unexported fields }
RealEnv contains a setup for running end-to-end pachyderm tests locally. It includes the base MockEnv struct as well as a real instance of the API server. These calls can still be mocked, but they default to calling into the real server endpoints.
type TestIDP ¶ added in v1.7.11
TestIDP is a simple SAML ID provider for testing. It can generate SAML metadata (for configs) or SAMLResponses containing signed auth assertions and group memberships (for authentication)
func NewTestIDP ¶ added in v1.7.11
NewTestIDP generates a new x509 cert and new test SAML ID provider