Documentation ¶
Index ¶
- func GenerateCertWithCommonName(i FakeCSQLInstance, cn string) []byte
- func NewSQLAdminService(ctx context.Context, reqs ...*Request) (*sqladmin.Service, func() error, error)
- func SelfSign(c *x509.Certificate, k *rsa.PrivateKey) ([]byte, error)
- func SignWithClientKey(c *x509.Certificate, k *rsa.PrivateKey, clientKey *rsa.PublicKey) ([]byte, error)
- func StartServerProxy(t *testing.T, i FakeCSQLInstance) func()
- type ClientSignFunc
- type EmptyTokenSource
- type FakeCSQLInstance
- type FakeCSQLInstanceOption
- func WithCertExpiry(t time.Time) FakeCSQLInstanceOption
- func WithCertSigner(s SignFunc) FakeCSQLInstanceOption
- func WithClientCertSigner(s ClientSignFunc) FakeCSQLInstanceOption
- func WithEngineVersion(s string) FakeCSQLInstanceOption
- func WithFirstGenBackend() FakeCSQLInstanceOption
- func WithNoIPAddrs() FakeCSQLInstanceOption
- func WithPrivateIP(addr string) FakeCSQLInstanceOption
- func WithPublicIP(addr string) FakeCSQLInstanceOption
- func WithRegion(region string) FakeCSQLInstanceOption
- type Request
- type SignFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateCertWithCommonName ¶
func GenerateCertWithCommonName(i FakeCSQLInstance, cn string) []byte
GenerateCertWithCommonName produces a certificate signed by the Fake Cloud SQL instance's CA with the specified common name cn.
func NewSQLAdminService ¶
func NewSQLAdminService(ctx context.Context, reqs ...*Request) (*sqladmin.Service, func() error, error)
NewSQLAdminService creates a SQL Admin API service backed by a mock HTTP backend. Callers should use the cleanup function to close down the server. If the cleanup function returns an error, a caller has not exercised all the registered requests.
func SelfSign ¶
func SelfSign(c *x509.Certificate, k *rsa.PrivateKey) ([]byte, error)
SelfSign produces a PEM encoded certificate that is self-signed.
func SignWithClientKey ¶
func SignWithClientKey(c *x509.Certificate, k *rsa.PrivateKey, clientKey *rsa.PublicKey) ([]byte, error)
SignWithClientKey produces a PEM encoded certificate signed by the parent certificate c using the server's private key and the client's public key.
func StartServerProxy ¶
func StartServerProxy(t *testing.T, i FakeCSQLInstance) func()
StartServerProxy starts a fake server proxy and listens on the provided port on all interfaces, configured with TLS as specified by the FakeCSQLInstance. Callers should invoke the returned function to clean up all resources.
Types ¶
type ClientSignFunc ¶
type ClientSignFunc = func(*x509.Certificate, *rsa.PrivateKey, *rsa.PublicKey) ([]byte, error)
ClientSignFunc is a function that produces a certificate signed using the provided certificate, using the server's private key and the client's public key. The result should be PEM-encoded.
type EmptyTokenSource ¶
type EmptyTokenSource struct{}
EmptyTokenSource is an Oauth2.TokenSource that returns empty tokens.
type FakeCSQLInstance ¶
type FakeCSQLInstance struct { Key *rsa.PrivateKey Cert *x509.Certificate // contains filtered or unexported fields }
FakeCSQLInstance represents settings for a specific Cloud SQL instance.
Use NewFakeCSQLInstance to instantiate.
func NewFakeCSQLInstance ¶
func NewFakeCSQLInstance(project, region, name string, opts ...FakeCSQLInstanceOption) FakeCSQLInstance
NewFakeCSQLInstance returns a CloudSQLInst object for configuring mocks.
type FakeCSQLInstanceOption ¶
type FakeCSQLInstanceOption func(f *FakeCSQLInstance)
FakeCSQLInstanceOption is a function that configures a FakeCSQLInstance.
func WithCertExpiry ¶
func WithCertExpiry(t time.Time) FakeCSQLInstanceOption
WithCertExpiry sets the server certificate's expiration to t.
func WithCertSigner ¶
func WithCertSigner(s SignFunc) FakeCSQLInstanceOption
WithCertSigner configures the signing function used to generate a signed certificate.
func WithClientCertSigner ¶
func WithClientCertSigner(s ClientSignFunc) FakeCSQLInstanceOption
WithClientCertSigner configures the signing function used to generate a certificate signed with the client's public key.
func WithEngineVersion ¶
func WithEngineVersion(s string) FakeCSQLInstanceOption
WithEngineVersion sets the "DB Version"
func WithFirstGenBackend ¶
func WithFirstGenBackend() FakeCSQLInstanceOption
WithFirstGenBackend sets the server backend type to FIRST_GEN.
func WithNoIPAddrs ¶ added in v1.0.0
func WithNoIPAddrs() FakeCSQLInstanceOption
WithNoIPAddrs configures a Fake Cloud SQL instance to have no IP addresses.
func WithPrivateIP ¶
func WithPrivateIP(addr string) FakeCSQLInstanceOption
WithPrivateIP sets the private IP address to addr.
func WithPublicIP ¶
func WithPublicIP(addr string) FakeCSQLInstanceOption
WithPublicIP sets the public IP address to addr.
func WithRegion ¶
func WithRegion(region string) FakeCSQLInstanceOption
WithRegion sets the server's region to the provided value.
type Request ¶
Request represents a HTTP request for a test Server to mock responses for.
Use NewRequest to initialize new Requests.
func CreateEphemeralSuccess ¶
func CreateEphemeralSuccess(i FakeCSQLInstance, ct int) *Request
CreateEphemeralSuccess returns a Request that responds to the `connect.generateEphemeralCert` SQL Admin endpoint. It responds with a "StatusOK" and a SslCerts object.
https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/connect/generateEphemeralCert
func InstanceGetSuccess ¶
func InstanceGetSuccess(i FakeCSQLInstance, ct int) *Request
InstanceGetSuccess returns a Request that responds to the `instance.get` SQL Admin endpoint. It responds with a "StatusOK" and a DatabaseInstance object.
https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/instances/get
type SignFunc ¶
type SignFunc = func(*x509.Certificate, *rsa.PrivateKey) ([]byte, error)
SignFunc is a function that signs the certificate using the provided key. The result should be PEM-encoded.