client

package
v0.0.0-...-d828d93 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package client for aws-sdk-go-v2 This package provides the methods to create a fake Dynamodb client for aws-sdk-go-v2 library.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInvalidTableName when the provided table name is invalid
	ErrInvalidTableName = errors.New("invalid table name")
	// ErrResourceNotFoundException when the requested resource is not found
	ErrResourceNotFoundException = errors.New("requested resource not found")
)
View Source
var (

	// ErrForcedFailure when the error is forced
	// Deprecated: use EmulateFailure instead
	ErrForcedFailure = errors.New("forced failure response")
)

Functions

func ActiveForceFailure

func ActiveForceFailure(client FakeClient)

ActiveForceFailure active force operation to fail

func AddIndex

func AddIndex(ctx context.Context, client FakeClient, tableName, indexName, partitionKey, rangeKey string) error

AddIndex add a new index to the table table

func AddTable

func AddTable(ctx context.Context, client FakeClient, tableName, partitionKey, rangeKey string) error

AddTable add a new table

func ClearTable

func ClearTable(client FakeClient, tableName string) error

ClearTable removes all data from a specific table

func DeactiveForceFailure

func DeactiveForceFailure(client FakeClient)

DeactiveForceFailure deactive force operation to fail

func EmulateFailure

func EmulateFailure(client FakeClient, condition FailureCondition)

EmulateFailure forces the fake client to fail

func SetItemCollectionMetrics

func SetItemCollectionMetrics(client FakeClient, itemCollectionMetrics map[string][]types.ItemCollectionMetrics)

SetItemCollectionMetrics set the value of the property itemCollectionMetrics

Types

type Client

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

Client define a mock struct to be used

func NewClient

func NewClient() *Client

NewClient initializes dynamodb client with a mock

func (*Client) ActivateDebug

func (fd *Client) ActivateDebug()

ActivateDebug it activates the debug mode

func (*Client) ActivateNativeInterpreter

func (fd *Client) ActivateNativeInterpreter()

ActivateNativeInterpreter it activates the debug mode

func (*Client) BatchWriteItem

func (fd *Client) BatchWriteItem(ctx context.Context, input *dynamodb.BatchWriteItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.BatchWriteItemOutput, error)

BatchWriteItem mock response for dynamodb

func (*Client) CreateTable

func (fd *Client) CreateTable(ctx context.Context, input *dynamodb.CreateTableInput, opt ...func(*dynamodb.Options)) (*dynamodb.CreateTableOutput, error)

CreateTable creates a new table

func (*Client) DeleteItem

func (fd *Client) DeleteItem(ctx context.Context, input *dynamodb.DeleteItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.DeleteItemOutput, error)

DeleteItem mock response for dynamodb

func (*Client) DeleteTable

func (fd *Client) DeleteTable(ctx context.Context, input *dynamodb.DeleteTableInput, opt ...func(*dynamodb.Options)) (*dynamodb.DeleteTableOutput, error)

DeleteTable deletes a table

func (*Client) DescribeTable

func (fd *Client) DescribeTable(ctx context.Context, input *dynamodb.DescribeTableInput, ops ...func(*dynamodb.Options)) (*dynamodb.DescribeTableOutput, error)

DescribeTable returns information about the table

func (*Client) GetItem

func (fd *Client) GetItem(ctx context.Context, input *dynamodb.GetItemInput, opt ...func(*dynamodb.Options)) (*dynamodb.GetItemOutput, error)

GetItem mock response for dynamodb

func (*Client) GetNativeInterpreter

func (fd *Client) GetNativeInterpreter() *interpreter.Native

GetNativeInterpreter returns native interpreter

func (*Client) PutItem

func (fd *Client) PutItem(ctx context.Context, input *dynamodb.PutItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.PutItemOutput, error)

PutItem mock response for dynamodb

func (*Client) Query

func (fd *Client) Query(ctx context.Context, input *dynamodb.QueryInput, opt ...func(*dynamodb.Options)) (*dynamodb.QueryOutput, error)

Query mock response for dynamodb

func (*Client) Scan

func (fd *Client) Scan(ctx context.Context, input *dynamodb.ScanInput, opt ...func(*dynamodb.Options)) (*dynamodb.ScanOutput, error)

Scan mock scan operation

func (*Client) SetInterpreter

func (fd *Client) SetInterpreter(i interpreter.Interpreter)

SetInterpreter assigns a native interpreter

func (*Client) TransactWriteItems

func (fd *Client) TransactWriteItems(ctx context.Context, input *dynamodb.TransactWriteItemsInput, opts ...func(*dynamodb.Options)) (*dynamodb.TransactWriteItemsOutput, error)

TransactWriteItems mock response for dynamodb

func (*Client) UpdateItem

func (fd *Client) UpdateItem(ctx context.Context, input *dynamodb.UpdateItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.UpdateItemOutput, error)

UpdateItem mock response for dynamodb

func (*Client) UpdateTable

func (fd *Client) UpdateTable(ctx context.Context, input *dynamodb.UpdateTableInput, opts ...func(*dynamodb.Options)) (*dynamodb.UpdateTableOutput, error)

UpdateTable update a table

type FailureCondition

type FailureCondition string

FailureCondition describe the failure condtion to emulate

const (
	// FailureConditionNone emulates the system is working
	FailureConditionNone FailureCondition = "none"
	// FailureConditionInternalServerError emulates dynamodb having internal issues
	FailureConditionInternalServerError FailureCondition = "internal_server"
	// FailureConditionDeprecated returns the old error
	FailureConditionDeprecated FailureCondition = "deprecated"
)

type FakeClient

type FakeClient interface {
	CreateTable(ctx context.Context, input *dynamodb.CreateTableInput, opt ...func(*dynamodb.Options)) (*dynamodb.CreateTableOutput, error)
	DeleteTable(ctx context.Context, input *dynamodb.DeleteTableInput, opt ...func(*dynamodb.Options)) (*dynamodb.DeleteTableOutput, error)
	UpdateTable(ctx context.Context, input *dynamodb.UpdateTableInput, opts ...func(*dynamodb.Options)) (*dynamodb.UpdateTableOutput, error)
	DescribeTable(ctx context.Context, input *dynamodb.DescribeTableInput, ops ...func(*dynamodb.Options)) (*dynamodb.DescribeTableOutput, error)
	PutItem(ctx context.Context, input *dynamodb.PutItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.PutItemOutput, error)
	DeleteItem(ctx context.Context, input *dynamodb.DeleteItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.DeleteItemOutput, error)
	UpdateItem(ctx context.Context, input *dynamodb.UpdateItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.UpdateItemOutput, error)
	GetItem(ctx context.Context, input *dynamodb.GetItemInput, opt ...func(*dynamodb.Options)) (*dynamodb.GetItemOutput, error)
	Query(ctx context.Context, input *dynamodb.QueryInput, opt ...func(*dynamodb.Options)) (*dynamodb.QueryOutput, error)
	Scan(ctx context.Context, input *dynamodb.ScanInput, opt ...func(*dynamodb.Options)) (*dynamodb.ScanOutput, error)
	BatchWriteItem(ctx context.Context, input *dynamodb.BatchWriteItemInput, opts ...func(*dynamodb.Options)) (*dynamodb.BatchWriteItemOutput, error)
	TransactWriteItems(ctx context.Context, input *dynamodb.TransactWriteItemsInput, opts ...func(*dynamodb.Options)) (*dynamodb.TransactWriteItemsOutput, error)
}

FakeClient mocks the Dynamodb client

Jump to

Keyboard shortcuts

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