sqs

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package sqs provides an in-memory mock implementation of AWS Simple Queue Service.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LambdaTrigger

type LambdaTrigger func(queueURL string, message driver.Message)

LambdaTrigger is a function that gets called when a message is sent to a queue.

type Mock

type Mock struct {
	// contains filtered or unexported fields
}

Mock is an in-memory mock implementation of the AWS SQS service.

func New

func New(opts *config.Options) *Mock

New creates a new SQS mock with the given configuration options.

func (*Mock) ChangeVisibility

func (m *Mock) ChangeVisibility(_ context.Context, queueURL, receiptHandle string, timeout int) error

ChangeVisibility changes the visibility timeout of a message in the specified queue.

func (*Mock) CreateQueue

func (m *Mock) CreateQueue(_ context.Context, cfg driver.QueueConfig) (*driver.QueueInfo, error)

CreateQueue creates a new SQS queue.

func (*Mock) DeleteMessage

func (m *Mock) DeleteMessage(_ context.Context, queueURL, receiptHandle string) error

DeleteMessage deletes a message from the specified queue using its receipt handle.

func (*Mock) DeleteMessageBatch added in v1.2.0

func (m *Mock) DeleteMessageBatch(
	ctx context.Context, queue string, entries []driver.BatchDeleteEntry,
) (*driver.BatchDeleteResult, error)

DeleteMessageBatch deletes up to 10 messages from the specified SQS queue.

func (*Mock) DeleteQueue

func (m *Mock) DeleteQueue(_ context.Context, url string) error

DeleteQueue deletes an SQS queue by URL.

func (*Mock) GetQueueAttributes added in v1.2.0

func (m *Mock) GetQueueAttributes(
	_ context.Context, queue string,
) (*driver.QueueAttributes, error)

GetQueueAttributes returns detailed attributes of the specified queue.

func (*Mock) GetQueueInfo

func (m *Mock) GetQueueInfo(_ context.Context, url string) (*driver.QueueInfo, error)

GetQueueInfo retrieves information about an SQS queue by URL.

func (*Mock) ListQueues

func (m *Mock) ListQueues(_ context.Context, prefix string) ([]driver.QueueInfo, error)

ListQueues returns all queues whose names match the given prefix. If prefix is empty, all queues are returned.

func (*Mock) PurgeQueue added in v1.2.0

func (m *Mock) PurgeQueue(_ context.Context, queue string) error

PurgeQueue removes all messages from the specified queue.

func (*Mock) ReceiveMessages

func (m *Mock) ReceiveMessages(_ context.Context, input driver.ReceiveMessageInput) ([]driver.Message, error)

ReceiveMessages receives messages from the specified SQS queue. Returns messages where VisibleAt <= now, and sets a new VisibleAt based on the visibility timeout.

func (*Mock) ReceiveMessagesWithOptions added in v1.2.0

func (m *Mock) ReceiveMessagesWithOptions(
	_ context.Context, queue string, opts driver.ReceiveOptions,
) ([]driver.Message, error)

ReceiveMessagesWithOptions receives messages with configurable options.

func (*Mock) RemoveTrigger

func (m *Mock) RemoveTrigger(queueURL string)

RemoveTrigger removes a Lambda trigger from a queue.

func (*Mock) SendMessage

SendMessage sends a message to the specified SQS queue.

func (*Mock) SendMessageBatch added in v1.2.0

func (m *Mock) SendMessageBatch(
	ctx context.Context, queue string, entries []driver.BatchSendEntry,
) (*driver.BatchSendResult, error)

SendMessageBatch sends up to 10 messages to the specified SQS queue.

func (*Mock) SetMonitoring added in v1.2.0

func (m *Mock) SetMonitoring(mon mondriver.Monitoring)

SetMonitoring sets the monitoring backend for auto-metric generation.

func (*Mock) SetQueueAttributes added in v1.2.0

func (m *Mock) SetQueueAttributes(
	_ context.Context, queue string, attrs map[string]int,
) error

SetQueueAttributes updates the attributes of the specified queue.

func (*Mock) SetTrigger

func (m *Mock) SetTrigger(queueURL string, fn LambdaTrigger)

SetTrigger registers a Lambda trigger for a queue. When a message is sent to the queue, the trigger function is called automatically.

Jump to

Keyboard shortcuts

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