emulators

package
v0.0.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2025 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTestMqttPublisher

func CreateTestMqttPublisher(brokerURL, clientID string) (mqtt.Client, error)

func GetStorageClient

func GetStorageClient(t *testing.T, ctx context.Context, cfg GCSConfig, opts []option.ClientOption) *storage.Client

Types

type BigQueryConfig

type BigQueryConfig struct {
	GCImageContainer
	DatasetTables map[string]string
	Schemas       map[string]interface{}
}

func GetDefaultBigQueryConfig

func GetDefaultBigQueryConfig(projectID string, datasetTables map[string]string, schemaMappings map[string]interface{}) BigQueryConfig

type EmulatorConnectionInfo

type EmulatorConnectionInfo struct {
	HTTPEndpoint    Endpoint
	GRPCEndpoint    Endpoint
	EmulatorAddress string                // e.g., "tcp://localhost:1883" for MQTT
	ClientOptions   []option.ClientOption // Common Google Cloud client options
}

EmulatorConnectionInfo holds all the connection details for an emulator.

func SetupBigQueryEmulator

func SetupBigQueryEmulator(t *testing.T, ctx context.Context, cfg BigQueryConfig) EmulatorConnectionInfo

func SetupFirestoreEmulator

func SetupFirestoreEmulator(t *testing.T, ctx context.Context, cfg FirestoreConfig) EmulatorConnectionInfo

SetupFirestoreEmulator starts a Firestore emulator container and configures it. It returns the client options for connecting to the emulator. CORRECTED: This function now uses t.Cleanup to manage the container lifecycle. Refactored to return EmulatorConnectionInfo.

func SetupGCSEmulator

func SetupGCSEmulator(t *testing.T, ctx context.Context, cfg GCSConfig) EmulatorConnectionInfo

SetupGCSEmulator starts a GCS emulator container and configures it. It returns the connection information for connecting to the emulator.

func SetupMosquittoContainer

func SetupMosquittoContainer(t *testing.T, ctx context.Context, cfg ImageContainer) EmulatorConnectionInfo

SetupMosquittoContainer starts an MQTT (Mosquitto) emulator container. It returns an EmulatorConnectionInfo struct with connection details.

func SetupPubsubEmulator

func SetupPubsubEmulator(t *testing.T, ctx context.Context, cfg PubsubConfig) EmulatorConnectionInfo

SetupPubsubEmulator starts a Pub/Sub emulator container and configures it. It returns client options for connecting to the emulator. CORRECTED: This function now uses t.Cleanup to manage the container lifecycle. Refactored to return EmulatorConnectionInfo.

func SetupRedisContainer

func SetupRedisContainer(t *testing.T, ctx context.Context, imageContainer ImageContainer) EmulatorConnectionInfo

SetupRedisContainer starts a Redis container and returns its connection information.

type Endpoint

type Endpoint struct {
	Port     string
	Endpoint string
}

type FirestoreConfig

type FirestoreConfig struct {
	GCImageContainer
}

FirestoreConfig holds configuration specific to the Firestore emulator.

func GetDefaultFirestoreConfig

func GetDefaultFirestoreConfig(projectID string) FirestoreConfig

GetDefaultFirestoreConfig provides a default configuration for the Firestore emulator.

type GCImageContainer

type GCImageContainer struct {
	ImageContainer
	ProjectID       string
	SetEnvVariables bool
}

type GCSConfig

type GCSConfig struct {
	GCImageContainer
	BaseBucket  string
	BaseStorage string
}

func GetDefaultGCSConfig

func GetDefaultGCSConfig(projectID, baseBucket string) GCSConfig

type ImageContainer

type ImageContainer struct {
	EmulatorImage    string
	EmulatorPort     string
	EmulatorGRPCPort string
}

func GetDefaultMqttImageContainer

func GetDefaultMqttImageContainer() ImageContainer

func GetDefaultRedisImageContainer

func GetDefaultRedisImageContainer() ImageContainer

type PubsubConfig

type PubsubConfig struct {
	GCImageContainer
	TopicSubs map[string]string // A map of topic names to subscription names to pre-create.
}

PubsubConfig holds configuration specific to the Pub/Sub emulator.

func GetDefaultPubsubConfig

func GetDefaultPubsubConfig(projectID string, topicSubs map[string]string) PubsubConfig

GetDefaultPubsubConfig provides a default configuration for the Pub/Sub emulator.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL