From 7f34fa14b39f8959de3f2173c8b250bb8199556f Mon Sep 17 00:00:00 2001 From: vvatanabe Date: Fri, 27 Oct 2023 17:28:21 +0900 Subject: [PATCH] refactor: rename state transition methods --- message.go | 22 +++++++++++----------- sdk.go | 8 ++++---- sdk_test.go | 24 ++++++++++++------------ 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/message.go b/message.go index b460601..c895468 100644 --- a/message.go +++ b/message.go @@ -136,11 +136,11 @@ func (m *Message[T]) MarshalMapUnsafe() map[string]types.AttributeValue { return item } -func (m *Message[T]) MarkAsRetry(now time.Time) error { +func (m *Message[T]) Ready(now time.Time) error { if m.Status != StatusProcessing { return &InvalidStateTransitionError{ - Msg: "cannot mark as retry", - Operation: "MarkAsRetry", + Msg: "message is currently ready", + Operation: "Ready", Current: m.Status, } } @@ -150,11 +150,11 @@ func (m *Message[T]) MarkAsRetry(now time.Time) error { return nil } -func (m *Message[T]) MarkAsPeeked(now time.Time, visibilityTimeout time.Duration) error { +func (m *Message[T]) StartProcessing(now time.Time, visibilityTimeout time.Duration) error { if m.IsQueueSelected(now, visibilityTimeout) { return &InvalidStateTransitionError{ Msg: "message is currently being processed", - Operation: "MarkAsPeeked", + Operation: "StartProcessing", Current: m.Status, } } @@ -165,11 +165,11 @@ func (m *Message[T]) MarkAsPeeked(now time.Time, visibilityTimeout time.Duration return nil } -func (m *Message[T]) MarkAsDLQ(now time.Time) error { +func (m *Message[T]) MoveToDLQ(now time.Time) error { if m.QueueType == QueueTypeDLQ { return &InvalidStateTransitionError{ Msg: "message is already in DLQ", - Operation: "MarkAsDLQ", + Operation: "MoveToDLQ", Current: m.Status, } } @@ -183,18 +183,18 @@ func (m *Message[T]) MarkAsDLQ(now time.Time) error { return nil } -func (m *Message[T]) MarkAsRedrive(now time.Time) error { +func (m *Message[T]) RestoreFromDLQ(now time.Time) error { if m.QueueType != QueueTypeDLQ { return &InvalidStateTransitionError{ Msg: "can only redrive messages from DLQ", - Operation: "MarkAsRedrive", + Operation: "RestoreFromDLQ", Current: m.Status, } } if m.Status != StatusReady { return &InvalidStateTransitionError{ - Msg: "message status is not Ready", - Operation: "MarkAsRedrive", + Msg: "can only redrive messages from READY", + Operation: "RestoreFromDLQ", Current: m.Status, } } diff --git a/sdk.go b/sdk.go index 7c6c9bc..0aa8adf 100644 --- a/sdk.go +++ b/sdk.go @@ -266,7 +266,7 @@ ExitLoop: if err != nil { return nil, err } - err = message.MarkAsPeeked(c.clock.Now(), visibilityTimeout) + err = message.StartProcessing(c.clock.Now(), visibilityTimeout) if err != nil { return nil, err } @@ -306,7 +306,7 @@ func (c *client[T]) Retry(ctx context.Context, id string) (*RetryResult[T], erro if message == nil { return nil, &IDNotFoundError{} } - err = message.MarkAsRetry(c.clock.Now()) + err = message.Ready(c.clock.Now()) if err != nil { return nil, err } @@ -369,7 +369,7 @@ func (c *client[T]) SendToDLQ(ctx context.Context, id string) (*Result, error) { Version: message.Version, }, nil } - err = message.MarkAsDLQ(c.clock.Now()) + err = message.MoveToDLQ(c.clock.Now()) if err != nil { return nil, err } @@ -407,7 +407,7 @@ func (c *client[T]) Redrive(ctx context.Context, id string) (*Result, error) { if retrieved == nil { return nil, &IDNotFoundError{} } - err = retrieved.MarkAsRedrive(c.clock.Now()) + err = retrieved.RestoreFromDLQ(c.clock.Now()) if err != nil { return nil, err } diff --git a/sdk_test.go b/sdk_test.go index df8eb69..72caf14 100644 --- a/sdk_test.go +++ b/sdk_test.go @@ -91,7 +91,7 @@ func newTestMessageItemAsReady(id string, now time.Time) *Message[test.MessageDa func newTestMessageItemAsPeeked(id string, now time.Time) *Message[test.MessageData] { message := NewDefaultMessage[test.MessageData](id, test.NewMessageData(id), now) - err := message.MarkAsPeeked(now, 0) + err := message.StartProcessing(now, 0) if err != nil { panic(err) } @@ -100,7 +100,7 @@ func newTestMessageItemAsPeeked(id string, now time.Time) *Message[test.MessageD func newTestMessageItemAsDLQ(id string, now time.Time) *Message[test.MessageData] { message := NewDefaultMessage[test.MessageData](id, test.NewMessageData(id), now) - err := message.MarkAsDLQ(now) + err := message.MoveToDLQ(now) if err != nil { panic(err) } @@ -248,7 +248,7 @@ func TestQueueSDKClientPeek(t *testing.T) { }, want: func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("B-202", time.Date(2023, 12, 1, 0, 0, 0, 0, time.UTC)) - err := s.MarkAsPeeked(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC), 0) + err := s.StartProcessing(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC), 0) if err != nil { panic(err) } @@ -284,7 +284,7 @@ func TestQueueSDKClientPeek(t *testing.T) { }, want: func() *PeekResult[test.MessageData] { s := newTestMessageItemAsPeeked("B-202", time.Date(2023, 12, 1, 0, 0, 0, 0, time.UTC)) - err := s.MarkAsPeeked(time.Date(2023, 12, 1, 0, 1, 1, 0, time.UTC), 0) + err := s.StartProcessing(time.Date(2023, 12, 1, 0, 1, 1, 0, time.UTC), 0) if err != nil { panic(err) } @@ -383,7 +383,7 @@ func TestQueueSDKClientPeekUseFIFO(t *testing.T) { want1 := func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("A-303", time.Date(2023, 12, 1, 0, 0, 1, 0, time.UTC)) - err := s.MarkAsPeeked(now, 0) + err := s.StartProcessing(now, 0) if err != nil { panic(err) } @@ -425,7 +425,7 @@ func TestQueueSDKClientPeekUseFIFO(t *testing.T) { want2 := func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("A-202", time.Date(2023, 12, 1, 0, 0, 2, 0, time.UTC)) - err := s.MarkAsPeeked(now, 0) + err := s.StartProcessing(now, 0) if err != nil { panic(err) } @@ -468,7 +468,7 @@ func TestQueueSDKClientPeekUseFIFO(t *testing.T) { want3 := func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("A-101", time.Date(2023, 12, 1, 0, 0, 3, 0, time.UTC)) - err := s.MarkAsPeeked(now, 0) + err := s.StartProcessing(now, 0) if err != nil { panic(err) } @@ -545,7 +545,7 @@ func TestQueueSDKClientPeekNotUseFIFO(t *testing.T) { want1 := func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("A-303", time.Date(2023, 12, 1, 0, 0, 1, 0, time.UTC)) - err := s.MarkAsPeeked(now, 0) + err := s.StartProcessing(now, 0) if err != nil { panic(err) } @@ -577,7 +577,7 @@ func TestQueueSDKClientPeekNotUseFIFO(t *testing.T) { want2 := func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("A-202", time.Date(2023, 12, 1, 0, 0, 2, 0, time.UTC)) - err := s.MarkAsPeeked(now, 0) + err := s.StartProcessing(now, 0) if err != nil { panic(err) } @@ -609,7 +609,7 @@ func TestQueueSDKClientPeekNotUseFIFO(t *testing.T) { want3 := func() *PeekResult[test.MessageData] { s := newTestMessageItemAsReady("A-101", time.Date(2023, 12, 1, 0, 0, 3, 0, time.UTC)) - err := s.MarkAsPeeked(now, 0) + err := s.StartProcessing(now, 0) if err != nil { panic(err) } @@ -712,7 +712,7 @@ func TestQueueSDKClientRetry(t *testing.T) { }, Message: func() *Message[test.MessageData] { message := newTestMessageItemAsPeeked("A-101", time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC)) - err := message.MarkAsRetry(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC)) + err := message.Ready(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC)) if err != nil { panic(err) } @@ -915,7 +915,7 @@ func TestQueueSDKClientSendToDLQ(t *testing.T) { want: func() *Result { s := newTestMessageItemAsReady("A-101", time.Date(2023, 12, 1, 0, 0, 0, 0, time.UTC)) - err := s.MarkAsDLQ(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC)) + err := s.MoveToDLQ(time.Date(2023, 12, 1, 0, 0, 10, 0, time.UTC)) if err != nil { panic(err) }