sqsmock

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2022 License: MIT Imports: 3 Imported by: 0

README

SQS Client

Usage

// main.go
package main

import (
	"context"
	"fmt"

	"github.com/aws/aws-sdk-go-v2/config"
	"github.com/aws/aws-sdk-go-v2/service/sqs"
)

type sqsClient interface {
	ListQueues(ctx context.Context, params *sqs.ListQueuesInput, optFns ...func(*sqs.Options)) (*sqs.ListQueuesOutput, error)
}

func main() {
	cfg, _ := config.LoadDefaultConfig(context.Background())
	client := sqs.NewFromConfig(cfg)

	queues, _ := getQueues(context.Background(), client)
	fmt.Printf("%#v", queues)
}

func getQueues(ctx context.Context, c sqsClient) ([]string, error) {
	queues, err := c.ListQueues(ctx, &sqs.ListQueuesInput{})
	if err != nil {
		return nil, err
	}
	return queues.QueueUrls, nil
}
// main_test.go
package main

import (
	"context"
	"testing"

	"github.com/aws/aws-sdk-go-v2/service/sqs"
	"github.com/gvre/awsmock-v2/sqsmock"
	"github.com/stretchr/testify/mock"
)

func TestGetQueues(t *testing.T) {
	queueURLs := []string{
		"https://sqs.us-west-2.amazonaws.com/1234567890/queue1",
		"https://sqs.us-west-2.amazonaws.com/1234567890/queue2",
	}
	client := new(sqsmock.Client)
	client.On("ListQueues", mock.Anything, mock.Anything, mock.Anything).Return(&sqs.ListQueuesOutput{
		QueueUrls: queueURLs,
	}, nil)

	queues, _ := getQueues(context.Background(), client)

	if nqueues, nQueueURLs := len(queues), len(queueURLs); nqueues != nQueueURLs {
		t.Errorf("Invalid number of queues, got: %v, want: %v", nqueues, nQueueURLs)
	}
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	mock.Mock
}

Client provides the API client to mock operations call for Amazon Simple Queue Service.

func (*Client) AddPermission

func (c *Client) AddPermission(ctx context.Context, params *sqs.AddPermissionInput, optFns ...func(*sqs.Options)) (*sqs.AddPermissionOutput, error)

AddPermission mock.

func (*Client) ChangeMessageVisibility

func (c *Client) ChangeMessageVisibility(ctx context.Context, params *sqs.ChangeMessageVisibilityInput, optFns ...func(*sqs.Options)) (*sqs.ChangeMessageVisibilityOutput, error)

ChangeMessageVisibility mock.

func (*Client) ChangeMessageVisibilityBatch

func (c *Client) ChangeMessageVisibilityBatch(ctx context.Context, params *sqs.ChangeMessageVisibilityBatchInput, optFns ...func(*sqs.Options)) (*sqs.ChangeMessageVisibilityBatchOutput, error)

ChangeMessageVisibilityBatch mock.

func (*Client) CreateQueue

func (c *Client) CreateQueue(ctx context.Context, params *sqs.CreateQueueInput, optFns ...func(*sqs.Options)) (*sqs.CreateQueueOutput, error)

CreateQueue mock.

func (*Client) DeleteMessage

func (c *Client) DeleteMessage(ctx context.Context, params *sqs.DeleteMessageInput, optFns ...func(*sqs.Options)) (*sqs.DeleteMessageOutput, error)

DeleteMessage mock.

func (*Client) DeleteMessageBatch

func (c *Client) DeleteMessageBatch(ctx context.Context, params *sqs.DeleteMessageBatchInput, optFns ...func(*sqs.Options)) (*sqs.DeleteMessageBatchOutput, error)

DeleteMessageBatch mock.

func (*Client) DeleteQueue

func (c *Client) DeleteQueue(ctx context.Context, params *sqs.DeleteQueueInput, optFns ...func(*sqs.Options)) (*sqs.DeleteQueueOutput, error)

DeleteQueue mock.

func (*Client) GetQueueAttributes

func (c *Client) GetQueueAttributes(ctx context.Context, params *sqs.GetQueueAttributesInput, optFns ...func(*sqs.Options)) (*sqs.GetQueueAttributesOutput, error)

GetQueueAttributes mock.

func (*Client) GetQueueUrl

func (c *Client) GetQueueUrl(ctx context.Context, params *sqs.GetQueueUrlInput, optFns ...func(*sqs.Options)) (*sqs.GetQueueUrlOutput, error)

GetQueueUrl mock.

func (*Client) ListDeadLetterSourceQueues

func (c *Client) ListDeadLetterSourceQueues(ctx context.Context, params *sqs.ListDeadLetterSourceQueuesInput, optFns ...func(*sqs.Options)) (*sqs.ListDeadLetterSourceQueuesOutput, error)

ListDeadLetterSourceQueues mock.

func (*Client) ListQueueTags

func (c *Client) ListQueueTags(ctx context.Context, params *sqs.ListQueueTagsInput, optFns ...func(*sqs.Options)) (*sqs.ListQueueTagsOutput, error)

ListQueueTags mock.

func (*Client) ListQueues

func (c *Client) ListQueues(ctx context.Context, params *sqs.ListQueuesInput, optFns ...func(*sqs.Options)) (*sqs.ListQueuesOutput, error)

ListQueues mock.

func (*Client) PurgeQueue

func (c *Client) PurgeQueue(ctx context.Context, params *sqs.PurgeQueueInput, optFns ...func(*sqs.Options)) (*sqs.PurgeQueueOutput, error)

PurgeQueue mock.

func (*Client) ReceiveMessage

func (c *Client) ReceiveMessage(ctx context.Context, params *sqs.ReceiveMessageInput, optFns ...func(*sqs.Options)) (*sqs.ReceiveMessageOutput, error)

ReceiveMessage mock.

func (*Client) RemovePermission

func (c *Client) RemovePermission(ctx context.Context, params *sqs.RemovePermissionInput, optFns ...func(*sqs.Options)) (*sqs.RemovePermissionOutput, error)

RemovePermission mock.

func (*Client) SendMessage

func (c *Client) SendMessage(ctx context.Context, params *sqs.SendMessageInput, optFns ...func(*sqs.Options)) (*sqs.SendMessageOutput, error)

SendMessage mock.

func (*Client) SendMessageBatch

func (c *Client) SendMessageBatch(ctx context.Context, params *sqs.SendMessageBatchInput, optFns ...func(*sqs.Options)) (*sqs.SendMessageBatchOutput, error)

SendMessageBatch mock.

func (*Client) SetQueueAttributes

func (c *Client) SetQueueAttributes(ctx context.Context, params *sqs.SetQueueAttributesInput, optFns ...func(*sqs.Options)) (*sqs.SetQueueAttributesOutput, error)

SetQueueAttributes mock.

func (*Client) TagQueue

func (c *Client) TagQueue(ctx context.Context, params *sqs.TagQueueInput, optFns ...func(*sqs.Options)) (*sqs.TagQueueOutput, error)

TagQueue mock.

func (*Client) UntagQueue

func (c *Client) UntagQueue(ctx context.Context, params *sqs.UntagQueueInput, optFns ...func(*sqs.Options)) (*sqs.UntagQueueOutput, error)

UntagQueue mock.

Jump to

Keyboard shortcuts

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